tcp: allow custom mss on connects
Type: feature Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ie4bd68a387f706b3e6868bece2ec4c8c1d92a9c3
This commit is contained in:
@ -184,6 +184,7 @@ typedef struct transport_endpoint_
|
||||
#define foreach_transport_endpoint_cfg_fields \
|
||||
foreach_transport_endpoint_fields \
|
||||
_(transport_endpoint_t, peer) \
|
||||
_(u16, mss) \
|
||||
|
||||
typedef struct transport_endpoint_pair_
|
||||
{
|
||||
|
@ -599,6 +599,10 @@ tcp_init_rcv_mss (tcp_connection_t * tc)
|
||||
{
|
||||
u8 ip_hdr_len;
|
||||
|
||||
/* Already provided at connection init time */
|
||||
if (tc->mss)
|
||||
return;
|
||||
|
||||
ip_hdr_len = tc->c_is_ip4 ? sizeof (ip4_header_t) : sizeof (ip6_header_t);
|
||||
tc->mss = tcp_cfg.default_mtu - sizeof (tcp_header_t) - ip_hdr_len;
|
||||
}
|
||||
@ -763,6 +767,7 @@ tcp_session_open (transport_endpoint_cfg_t * rmt)
|
||||
tc->cc_algo = tcp_cc_algo_get (tcp_cfg.cc_algo);
|
||||
/* The other connection vars will be initialized after SYN ACK */
|
||||
tcp_connection_timers_init (tc);
|
||||
tc->mss = rmt->mss;
|
||||
|
||||
TCP_EVT (TCP_EVT_OPEN, tc);
|
||||
tc->state = TCP_STATE_SYN_SENT;
|
||||
|
Reference in New Issue
Block a user