man ifconfig says that "rxcsum" and "txcsum" includes both IPv4 and IPv6 options. But in case of igb driver "rxcsum" includes both, but "txcsum" inccludes only IPv4 option and IPv6 option should be tuened on/off separately. Here is how it looks: # ifconfig igb0 | grep options options=e505bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,LRO,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6> nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL> # ifconfig igb0 -rxcsum -txcsum # ifconfig igb0 | grep options options=c505b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,LRO,VLAN_HWFILTER,VLAN_HWTSO,TXCSUM_IPV6> nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL> # As you can see, RXCSUM_IPV6 is OFF, but TXCSUM_IPV6 is still ON. It could be turned off separately: # ifconfig igb0 -txcsum6 # ifconfig igb0 | grep options options=8505b8<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,LRO,VLAN_HWFILTER,VLAN_HWTSO> nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL> # And turning it ON again: # ifconfig igb0 rxcsum txcsum # ifconfig igb0 | grep options options=a505bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,LRO,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6> nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL> # ifconfig igb0 txcsum6 # ifconfig igb0 | grep options options=e505bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,LRO,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6> nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL> #
Can you post the output of: ifconfig -m igb0 | grep capabilities > man ifconfig says that "rxcsum" and "txcsum" includes both IPv4 and IPv6 options. I don't see that in the man page... > rxcsum, txcsum, rxcsum6, txcsum6 > If the driver supports user-configurable checksum offloading, > enable receive (or transmit) checksum offloading on the inter- > face. The feature can be turned on selectively per protocol fam- > ily. Use rxcsum6, txcsum6 for ip6(4) or rxcsum, txcsum other- > wise. Some drivers may not be able to enable these flags inde- > pendently of each other, so setting one may also set the other. > The driver will offload as much checksum work as it can reliably > support, the exact level of offloading varies between drivers. There's a patch in PR 231151 which fixes the rxcsum behaviour (though for some reason, you're not seeing the issue) https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=231151
(In reply to Stephen Hurd from comment #1) Ок, I've mixed "tso" (which is "tso = tso4|tso6") and "[rt]xcsum[6]". But even so, then there is other bug: rxcsum INCLUDES rxcsum6 :-) IMHO, it is inconsistent, that we have "tso", "tso4", "tso6" but only "[rt]xcsum" and "[rt]xcsum6"
(In reply to Stephen Hurd from comment #1) And here are capabilities: % ifconfig -m igb0 | grep capabilities capabilities=e53dbb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,LRO,WOL_UCAST,WOL_MCAST,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6> %
(In reply to Lev A. Serebryakov from comment #2) > But even so, then there is other bug: rxcsum INCLUDES rxcsum6 :-) Yes, but this is documented as being possible so isn't a bug so much as a clumsy feature... which means we can't clean it up until after the branch. > IMHO, it is inconsistent, that we have "tso", "tso4", "tso6" but only "[rt]xcsum" and "[rt]xcsum6" Consistency is not one of ifconfig's strong suits and unfortunately it's one of those things where breaking backward compatibility isn't trivial.
(In reply to Stephen Hurd from comment #4) In any case, I'm surprised that rxcsum an txcsum behaves differently, but, Ok, I think it is not a bug, really.
Looks like the issue was resolved