net: tcp: Fix TSO for incoming connections
authorBarret Rhoden <brho@cs.berkeley.edu>
Wed, 8 Nov 2017 19:43:45 +0000 (14:43 -0500)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 16 Nov 2017 15:46:56 +0000 (10:46 -0500)
commitbff9133b5646aa8829ed65d27a26e59fd5e2feb1
treec23e68da7590aae1ad7774d8eb44f55ce06dfff8
parente1996594521f55f984488f03659cf4fbcb200603
net: tcp: Fix TSO for incoming connections

TSO was only being used on outbound connections.  The issue was that the
'flags' in tcpmtu for inbound connections was seg.flags, not tcb->flags.
So that bit we were setting was discarded.

The fix is to do the lookup (which requires the ifc) once we finally have
the tcb, which is after the conversation comes out of limbo.  Instead of
looking up the ifc twice, we can just store the uncounted ref.  We'll
probably have other uses for the ifc.

Note that the ifc->feat is not exactly the same as ether->netif->feat.  The
device's features are copied over to the IP interface during etherbind.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/include/net/tcp.h
kern/src/net/tcp.c