Skip to content

Commit d2db645

Browse files
pasisigor-ivanov
authored andcommitted
issue: 1792164 Handle duplicate zcopy notifications
In retransmit scenario it is possible to get duplicate ids in the zcopy callback. In this case, ee_data is rewritten with a value which may be lower than previous value. This leads to missed notifications. As workaround, don't overwrite ee_data with lower value.
1 parent b0b5b52 commit d2db645

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/vma/sock/sockinfo_tcp.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4691,7 +4691,8 @@ void sockinfo_tcp::tcp_tx_zc_handle(mem_buf_desc_t* p_desc)
46914691
sum_count = prev_hi - prev_lo + 1ULL + count;
46924692

46934693
if (lo == prev_lo) {
4694-
err_queue->ee.ee_data = hi;
4694+
if (hi > prev_hi)
4695+
err_queue->ee.ee_data = hi;
46954696
} else if ((sum_count >= (1ULL << 32)) || (lo != prev_hi + 1)) {
46964697
err_queue = NULL;
46974698
} else {

0 commit comments

Comments
 (0)