Ethernet NIC drivers depending unconditionally on INET

Navdeep Parhar np at FreeBSD.org
Fri Jun 12 18:24:05 UTC 2009


On Fri, Jun 12, 2009 at 05:38:46PM +0000, Bjoern A. Zeeb wrote:
> On Fri, 12 Jun 2009, Navdeep Parhar wrote:
> 
> >On Fri, Jun 12, 2009 at 10:56:31AM +0000, Bjoern A. Zeeb wrote:
> >>On Fri, 12 Jun 2009, Pyun YongHyeon wrote:
> >>
> >>Hi,
> >>
> >>>Yeah, there are no checksum offloading support for IPv6 under
> >>>FreeBSD so there are no cases the frames are IPv6 when
> >>>CSUM_IP/CSUM_TCP/CSUM_UDP/CSUM_TSO was set.
> >>
> >>The thing that scared me was sys/netinet/tcp_subr.c:tcp_maxmtu6().
> >>
> >>What I had missed was the CSUM_TSO6  (the 6 at the end) part.
> >>grepping through the tree I am even wondering a lot more now when I
> >>see what cxgb(4) is doing with that;)
> >
> >I can't find a CSUM_TSO6 in head, did you mean IFCAP_TSO6?
> 
> yes I did.
> 
> >cxgb(4)
> >will not let you enable IFCAP_TSO6 on the interface.  It has always
> >been disallowed as far as I can tell.
> 
> Yes, you have it in the logic bu you define it to 0;)
> 	#define IFCAP_TSO6 0x0

Not quite.  TSO_SUPPORTED is defined and so cxgb(4) picks up the
right values of IFCAP_TSO4 and IFCAP_TSO6.  It's just that IFCAP_TSO6
is not in the enabled-by-default capabilities (CXGB_CAP_ENABLE), and
cxgb_ioctl will not let you enable IFCAP_TSO6.

cxgb's silicon supports TSO+IPv6, so I'm not sure why things are the
way they are.  If the stack's tso6 works, then this is a bug in
cxgb.

Regards,
Navdeep

> 
> /bz
> 
> -- 
> Bjoern A. Zeeb                      The greatest risk is not taking one.


More information about the freebsd-net mailing list