IPSEC disables TSO

Andrew Gallatin gallatin at cs.duke.edu
Thu Aug 16 12:52:17 PDT 2007


When tracking down an mxge 10GbE performance issue, I noticed that
simply compiling IPSEC into the kernel totally destroys 10GbE transmit
performance because it will silently disable TSO.

The problem seems to be at least that the test on line 463 of
tcp_output.c (tp->t_inpcb->inp_sp == NULL) will always be
false.   If I comment that line out, TSO works as normal
(though I have no idea what would happen on an IPSEC connection).

Is there some way to make this not happen?  I believe that the mxge
user simply wanted to run some handful of applications through ipsec
tunnels (perhaps even on a different NIC entirely).

Thanks,

Drew




More information about the freebsd-current mailing list