TCP Reassembly Issues

Kris Bauer kristoph.bauer at gmail.com
Fri Nov 25 03:19:53 UTC 2011


On Thu, Nov 24, 2011 at 8:00 PM, Jeremy Chadwick
<freebsd at jdc.parodius.com>wrote:

> On Thu, Nov 24, 2011 at 07:13:39PM -0600, Kris Bauer wrote:
> > On Thu, Nov 24, 2011 at 5:35 PM, Adrian Chadd <adrian at freebsd.org>
> wrote:
> >
> > > Have you tried disabling the tcp offload features of your NIC?
> > >
> > >
> > > Adrian
> > >
> >
> > To test this, I added net.inet.tcp.tso=0 to sysctl.conf and restarted the
> > box; it didn't work.  net.inet.tcp.reass.cursegments immediately started
> > climbing up and were exhausted within an hour.
>
> I think Adrian was referring to RXCSUM and TXCSUM on your NIC; TSO is
> another offloading feature.
>
> See ifconfig(8) for how to disable those.
>
> Be aware that disabling them in real-time (e.g. ifconfig xxx -rxcsum
> -txcsum) may cause problems; there are some NIC drivers on FreeBSD which
> do not like you doing this once the NIC has established link (meaning
> "reloading the driver" (for lack of better term) results in wonky
> behaviour).  So you may instead want to add those hyphen-options to your
> ifconfig_XXX lines in /etc/rc.conf and reboot the box.
>
> If none of this solves the problem, then I consider this a priority 0
> blocker (read: "all hands on deck") issue with the IP stack in FreeBSD
> 9.x and will need immediate attention.
>
> I would strongly recommend a developer or clueful end-user begin
> tracking down who committed all of these bits and CC them into the
> thread.  I would start by looking who implemented the
> net.inet.tcp.reass.cursegments sysctl, because that isn't in RELENG_8 at
> all.
>
> --
> | Jeremy Chadwick                                jdc at parodius.com |
> | Parodius Networking                       http://www.parodius.com/ |
> | UNIX Systems Administrator                   Mountain View, CA, US |
> | Making life hard for others since 1977.               PGP 4BD6C0CB |
>
>

I have added -rxcsum -txcsum -tso to rc.conf and rebooted the box.  This
has not solved the problem.  After a half-hour usage, I'm already up to
reass.cursegments=2182 and it keeps climbing.

Kris


More information about the freebsd-stable mailing list