diff options
author | Florin Coras <fcoras@cisco.com> | 2018-11-09 14:34:08 -0800 |
---|---|---|
committer | Dave Barach <openvpp@barachs.net> | 2018-11-12 16:29:46 +0000 |
commit | b11175d797c11880d19442f178db5df526ca1256 (patch) | |
tree | ca26b8c7d94fe024b104b9a1cd93a22a15764848 /src/vnet/tcp/tcp_output.c | |
parent | 569a278597bd1af58a4fa9a5f4341cafc99a382b (diff) |
tcp: handle disconnects after enq notifications
Make sure that we notify the app of the data enqueued in the burst
before notifying of disconnect.
Change-Id: I7747a5cbb4c6bc9132007f849c24ce04b7841273
Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src/vnet/tcp/tcp_output.c')
-rw-r--r-- | src/vnet/tcp/tcp_output.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/vnet/tcp/tcp_output.c b/src/vnet/tcp/tcp_output.c index e16095b635d..49156368574 100644 --- a/src/vnet/tcp/tcp_output.c +++ b/src/vnet/tcp/tcp_output.c @@ -1201,8 +1201,7 @@ tcp_push_header (tcp_connection_t * tc, vlib_buffer_t * b) tcp_push_hdr_i (tc, b, TCP_STATE_ESTABLISHED, /* compute opts */ 0, /* burst */ 1); tc->snd_una_max = tc->snd_nxt; - ASSERT (seq_leq (tc->snd_una_max, tc->snd_una + tc->snd_wnd - + tcp_fastrecovery_sent_1_smss (tc) * tc->snd_mss)); + ASSERT (seq_leq (tc->snd_una_max, tc->snd_una + tc->snd_wnd)); tcp_validate_txf_size (tc, tc->snd_una_max - tc->snd_una); /* If not tracking an ACK, start tracking */ if (tc->rtt_ts == 0 && !tcp_in_cong_recovery (tc)) |