In FreeBSD 10 and higher the driver announces SCTP checksum offloading support
also for 82598, which doesn't support it. The legacy code has a check for it, which was missed when the code for dealing with CSUM_IP6_* was added. Add the same check for FreeBSD 10 and higher. Differential Revision: https://reviews.freebsd.org/D5192
This commit is contained in:
parent
74f9cea2d3
commit
2602455cc2
@ -1017,6 +1017,7 @@ static void
|
||||
ixgbe_set_if_hwassist(struct adapter *adapter)
|
||||
{
|
||||
struct ifnet *ifp = adapter->ifp;
|
||||
struct ixgbe_hw *hw = &adapter->hw;
|
||||
|
||||
ifp->if_hwassist = 0;
|
||||
#if __FreeBSD_version >= 1000000
|
||||
@ -1024,18 +1025,21 @@ ixgbe_set_if_hwassist(struct adapter *adapter)
|
||||
ifp->if_hwassist |= CSUM_IP_TSO;
|
||||
if (ifp->if_capenable & IFCAP_TSO6)
|
||||
ifp->if_hwassist |= CSUM_IP6_TSO;
|
||||
if (ifp->if_capenable & IFCAP_TXCSUM)
|
||||
ifp->if_hwassist |= (CSUM_IP | CSUM_IP_UDP | CSUM_IP_TCP |
|
||||
CSUM_IP_SCTP);
|
||||
if (ifp->if_capenable & IFCAP_TXCSUM_IPV6)
|
||||
ifp->if_hwassist |= (CSUM_IP6_UDP | CSUM_IP6_TCP |
|
||||
CSUM_IP6_SCTP);
|
||||
if (ifp->if_capenable & IFCAP_TXCSUM) {
|
||||
ifp->if_hwassist |= (CSUM_IP | CSUM_IP_UDP | CSUM_IP_TCP);
|
||||
if (hw->mac.type != ixgbe_mac_82598EB)
|
||||
ifp->if_hwassist |= CSUM_IP_SCTP;
|
||||
}
|
||||
if (ifp->if_capenable & IFCAP_TXCSUM_IPV6) {
|
||||
ifp->if_hwassist |= (CSUM_IP6_UDP | CSUM_IP6_TCP);
|
||||
if (hw->mac.type != ixgbe_mac_82598EB)
|
||||
ifp->if_hwassist |= CSUM_IP6_SCTP;
|
||||
}
|
||||
#else
|
||||
if (ifp->if_capenable & IFCAP_TSO)
|
||||
ifp->if_hwassist |= CSUM_TSO;
|
||||
if (ifp->if_capenable & IFCAP_TXCSUM) {
|
||||
ifp->if_hwassist |= (CSUM_TCP | CSUM_UDP);
|
||||
struct ixgbe_hw *hw = &adapter->hw;
|
||||
if (hw->mac.type != ixgbe_mac_82598EB)
|
||||
ifp->if_hwassist |= CSUM_SCTP;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user