diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libtle_l4p/tcp_rxtx.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/libtle_l4p/tcp_rxtx.c b/lib/libtle_l4p/tcp_rxtx.c index b71a565..b4bc626 100644 --- a/lib/libtle_l4p/tcp_rxtx.c +++ b/lib/libtle_l4p/tcp_rxtx.c @@ -653,6 +653,10 @@ sync_ack(struct tle_tcp_stream *s, const union pkt_info *pi, m->l2_len + m->l3_len); get_syn_opts(&s->tcb.so, (uintptr_t)(th + 1), m->l4_len - sizeof(*th)); + /* reset wscale option if timestamp is not present */ + if (s->tcb.so.ts.val == 0) + s->tcb.so.wscale = 0; + s->tcb.rcv.nxt = si->seq + 1; seq = sync_gen_seq(pi, s->tcb.rcv.nxt, ts, s->tcb.so.mss, s->s.ctx->prm.hash_alg, |