tcp: avoid rcv wnd less than mss
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I84ec1c91a3a7b2195aad58923fa6f17f551444cb (cherry picked from commit f2fe353cc829f2074d63ebba9bb3b25e5ceb20af)
This commit is contained in:
parent
f812f51873
commit
a316c17d9e
@ -144,13 +144,11 @@ tcp_update_rcv_wnd (tcp_connection_t * tc)
|
||||
wnd = available_space;
|
||||
}
|
||||
|
||||
/* Make sure we have a multiple of rcv_wscale */
|
||||
/* Make sure we have a multiple of 1 << rcv_wscale. We round up to
|
||||
* avoid advertising a window less than mss which could happen if
|
||||
* 1 << rcv_wscale < mss */
|
||||
if (wnd && tc->rcv_wscale)
|
||||
{
|
||||
wnd &= ~((1 << tc->rcv_wscale) - 1);
|
||||
if (wnd == 0)
|
||||
wnd = 1 << tc->rcv_wscale;
|
||||
}
|
||||
wnd = round_pow2 (wnd, 1 << tc->rcv_wscale);
|
||||
|
||||
tc->rcv_wnd = clib_min (wnd, TCP_WND_MAX << tc->rcv_wscale);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user