From 410734d49da2a410ec87758533a8f01c75aa0bd8 Mon Sep 17 00:00:00 2001 From: Philip Kirk Date: Mon, 15 Jun 2009 05:57:03 -0400 Subject: 6485039 TCP needs to perform shrunk window functionality robustly. --- usr/src/uts/common/inet/tcp.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'usr/src/uts/common/inet/tcp.h') diff --git a/usr/src/uts/common/inet/tcp.h b/usr/src/uts/common/inet/tcp.h index 1d10a8cbfa..74ffce34f4 100644 --- a/usr/src/uts/common/inet/tcp.h +++ b/usr/src/uts/common/inet/tcp.h @@ -292,7 +292,8 @@ typedef struct tcp_s { tcp_tconnind_started : 1, /* conn_ind message is being sent */ tcp_lso :1, /* Lower layer is capable of LSO */ tcp_refuse :1, /* Connection needs refusing */ - tcp_pad_to_bit_31 : 16; + tcp_is_wnd_shrnk : 1, /* Window has shrunk */ + tcp_pad_to_bit_31 : 15; uint32_t tcp_if_mtu; /* Outgoing interface MTU. */ @@ -601,6 +602,11 @@ typedef struct tcp_s { */ boolean_t tcp_flow_stopped; + /* + * Sender's next sequence number at the time the window was shrunk. + */ + uint32_t tcp_snxt_shrunk; + /* * The socket generation number is bumped when an outgoing connection * attempts is made, and it sent up to the socket when the -- cgit v1.2.3