summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/inet/tcp.h
diff options
context:
space:
mode:
authoryl150051 <none@none>2006-11-13 20:44:19 -0800
committeryl150051 <none@none>2006-11-13 20:44:19 -0800
commit8347601bcb0a439f6e50fc36b4039a73d08700e1 (patch)
tree91c7b38a0f362892987099abe649246d234437b0 /usr/src/uts/common/inet/tcp.h
parentfa52d01bb7e683bd3f348e8daeacb561fc8b0a52 (diff)
downloadillumos-gate-8347601bcb0a439f6e50fc36b4039a73d08700e1.tar.gz
PSARC/2006/190 Large Send Offload (LSO)
6390838 XGE need to support adaptive TX by switching COPY/DMA according to MBLKL(mp) 6394197 Solaris need to support LSO (Large Send Offload) 6466394 Minor logic error in tcp_send_data() 6467558 Need to integrate HAL 2.0.6765 to improve rx performance
Diffstat (limited to 'usr/src/uts/common/inet/tcp.h')
-rw-r--r--usr/src/uts/common/inet/tcp.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/usr/src/uts/common/inet/tcp.h b/usr/src/uts/common/inet/tcp.h
index 7552e53600..67bf7aa4f2 100644
--- a/usr/src/uts/common/inet/tcp.h
+++ b/usr/src/uts/common/inet/tcp.h
@@ -112,6 +112,7 @@ typedef struct tcphdr_s {
#define TCP_PORT_LEN sizeof (in_port_t)
#define TCP_MAX_WINSHIFT 14
#define TCP_MAX_LARGEWIN (TCP_MAXWIN << TCP_MAX_WINSHIFT)
+#define TCP_MAX_LSO_LENGTH (IP_MAXPACKET - TCP_MAX_COMBINED_HEADER_LENGTH)
#define TCPIP_HDR_LENGTH(mp, n) \
(n) = IPH_HDR_LENGTH((mp)->b_rptr), \
@@ -288,7 +289,8 @@ typedef struct tcp_s {
tcp_send_discon_ind : 1, /* TLI accept err, send discon ind */
tcp_cork : 1, /* tcp_cork option */
tcp_tconnind_started : 1, /* conn_ind message is being sent */
- tcp_pad_to_bit_31 : 17;
+ tcp_lso :1, /* Lower layer is capable of LSO */
+ tcp_pad_to_bit_31 : 16;
uint32_t tcp_if_mtu; /* Outgoing interface MTU. */
@@ -492,6 +494,8 @@ typedef struct tcp_s {
uint_t tcp_mdt_hdr_tail; /* trailing header fragment extra space */
int tcp_mdt_max_pld; /* maximum payload buffers per Multidata */
+ uint32_t tcp_lso_max; /* maximum LSO payload */
+
uint32_t tcp_ofo_fin_seq; /* Recv out of order FIN seq num */
uint32_t tcp_cwr_snd_max;
uint_t tcp_drop_opt_ack_cnt; /* # tcp generated optmgmt */