diff options
author | Konstantin Ananyev <konstantin.ananyev@intel.com> | 2021-10-14 12:49:41 +0000 |
---|---|---|
committer | Konstantin Ananyev <konstantin.ananyev@intel.com> | 2021-10-19 15:40:00 +0000 |
commit | f71107b4dd6a4b8b1cd28d7339c924f1b013cfa4 (patch) | |
tree | 548207debf7bf0b309be8d3643f65375b08ab446 | |
parent | 940d8a82b96ccba31f0664a6d4ae5f510ce1d44f (diff) |
l4p/tcp: Fix setting MSS in TCP stream establish
Inside tcb_establish() we should check provided destionation MTU
information and adjust provided MSS value if necessary.
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Change-Id: I66b64ec2a7b170dc62bf9cb604c2b83bfd1ea33f
-rw-r--r-- | lib/libtle_l4p/tcp_rxtx.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/libtle_l4p/tcp_rxtx.c b/lib/libtle_l4p/tcp_rxtx.c index bf79eab..20a2665 100644 --- a/lib/libtle_l4p/tcp_rxtx.c +++ b/lib/libtle_l4p/tcp_rxtx.c @@ -2265,12 +2265,13 @@ tle_tcp_stream_connect(struct tle_stream *ts, const struct sockaddr *addr) static inline void tcb_establish(struct tle_tcp_stream *s, const struct tle_tcp_conn_info *ci) { - uint32_t tms; + uint32_t mss, tms; tms = tcp_get_tms(s->s.ctx->cycles_ms_shift); + mss = calc_smss(ci->so.mss, &s->tx.dst); s->tcb.so = ci->so; - fill_tcb_snd(&s->tcb, ci->ack, ci->seq, ci->so.mss, + fill_tcb_snd(&s->tcb, ci->ack, ci->seq, mss, ci->wnd, ci->so.wscale, &ci->so.ts); fill_tcb_rcv(&s->tcb, ci->ack, ci->so.wscale, &ci->so.ts); |