Page MenuHomeFreeBSD

D25298.diff
No OneTemporary

D25298.diff

Index: head/sys/netinet/tcp_stacks/bbr.c
===================================================================
--- head/sys/netinet/tcp_stacks/bbr.c
+++ head/sys/netinet/tcp_stacks/bbr.c
@@ -12157,8 +12157,8 @@
* have gotten more data into the socket buffer to
* send.
*/
- recwin = min(max(sbspace(&so->so_rcv), 0),
- TCP_MAXWIN << tp->rcv_scale);
+ recwin = lmin(lmax(sbspace(&so->so_rcv), 0),
+ (long)TCP_MAXWIN << tp->rcv_scale);
if ((bbr_window_update_needed(tp, so, recwin, maxseg) == 0) &&
((tcp_outflags[tp->t_state] & TH_RST) == 0) &&
((sbavail(sb) + ((tcp_outflags[tp->t_state] & TH_FIN) ? 1 : 0)) <=
@@ -12839,8 +12839,8 @@
ipoptlen == 0)
tso = 1;
- recwin = min(max(sbspace(&so->so_rcv), 0),
- TCP_MAXWIN << tp->rcv_scale);
+ recwin = lmin(lmax(sbspace(&so->so_rcv), 0),
+ (long)TCP_MAXWIN << tp->rcv_scale);
/*
* Sender silly window avoidance. We transmit under the following
* conditions when len is non-zero:
Index: head/sys/netinet/tcp_stacks/rack.c
===================================================================
--- head/sys/netinet/tcp_stacks/rack.c
+++ head/sys/netinet/tcp_stacks/rack.c
@@ -12750,7 +12750,8 @@
flags &= ~TH_FIN;
}
}
- recwin = sbspace(&so->so_rcv);
+ recwin = lmin(lmax(sbspace(&so->so_rcv), 0),
+ (long)TCP_MAXWIN << tp->rcv_scale);
/*
* Sender silly window avoidance. We transmit under the following
@@ -13656,8 +13657,6 @@
if (SEQ_GT(tp->rcv_adv, tp->rcv_nxt) &&
recwin < (long)(tp->rcv_adv - tp->rcv_nxt))
recwin = (long)(tp->rcv_adv - tp->rcv_nxt);
- if (recwin > (long)TCP_MAXWIN << tp->rcv_scale)
- recwin = (long)TCP_MAXWIN << tp->rcv_scale;
}
/*

File Metadata

Mime Type
text/plain
Expires
Tue, Feb 4, 2:50 AM (18 h, 47 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16446829
Default Alt Text
D25298.diff (1 KB)

Event Timeline