Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 Feb 2007 15:21:08 +0100
From:      Andre Oppermann <andre@freebsd.org>
To:        Kip Macy <kip.macy@gmail.com>
Cc:        freebsd-net <freebsd-net@freebsd.org>
Subject:   Re: improved TSO interface needed
Message-ID:  <45E19B54.9060007@freebsd.org>
In-Reply-To: <b1fa29170702242255i323077e8t3e5cfe696431c50b@mail.gmail.com>
References:  <b1fa29170702242255i323077e8t3e5cfe696431c50b@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Kip Macy wrote:
> Evidently FreeBSD violates the LSO spec by sending down up to socket
> buffer sized TSO segments to the network card. Is there a way to set
> this other than reducing net.inet.tcp.sendbuf_max to a compliant value
> (64k)? And is there a way to for a device to communicate to the stack
> the maximum length of an mbuf chain?

 From netinet/ip_output.c:

          * When doing TSO limit a burst to TCP_MAXWIN minus the
          * IP, TCP and Options length to keep ip->ip_len from
          * overflowing.  Prevent the last segment from being
          * fractional thus making them all equal sized and set
          * the flag to continue sending.

TCP_MAXWIN is 64K.

-- 
Andre




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45E19B54.9060007>