summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authortuexen <tuexen@FreeBSD.org>2015-11-10 10:56:01 +0000
committertuexen <tuexen@FreeBSD.org>2015-11-10 10:56:01 +0000
commit4ef66cf839047e9906f3b84752b98ce05851d261 (patch)
tree1cef7d3f919e3595376413da538aca68e6ee7b30 /sys
parent6c89db9850a45796846be9fdf5df6f5b0650914d (diff)
downloadFreeBSD-src-4ef66cf839047e9906f3b84752b98ce05851d261.zip
FreeBSD-src-4ef66cf839047e9906f3b84752b98ce05851d261.tar.gz
Add support for SCTP checksum offloading for the 82580 controller
similar to the 82576 controller. Tested with Intel i340 cards. Reviewed by: erj@ MFC after: 1 week
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/e1000/if_igb.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/sys/dev/e1000/if_igb.c b/sys/dev/e1000/if_igb.c
index 696fec4..3fc1c1f 100644
--- a/sys/dev/e1000/if_igb.c
+++ b/sys/dev/e1000/if_igb.c
@@ -1258,7 +1258,8 @@ igb_init_locked(struct adapter *adapter)
if (ifp->if_capenable & IFCAP_TXCSUM) {
ifp->if_hwassist |= (CSUM_TCP | CSUM_UDP);
#if __FreeBSD_version >= 800000
- if (adapter->hw.mac.type == e1000_82576)
+ if ((adapter->hw.mac.type == e1000_82576) ||
+ (adapter->hw.mac.type == e1000_82580))
ifp->if_hwassist |= CSUM_SCTP;
#endif
}
@@ -4681,8 +4682,9 @@ igb_initialize_receive_units(struct adapter *adapter)
rxcsum |= E1000_RXCSUM_PCSD;
#if __FreeBSD_version >= 800000
/* For SCTP Offload */
- if ((hw->mac.type == e1000_82576)
- && (ifp->if_capenable & IFCAP_RXCSUM))
+ if (((hw->mac.type == e1000_82576) ||
+ (hw->mac.type == e1000_82580)) &&
+ (ifp->if_capenable & IFCAP_RXCSUM))
rxcsum |= E1000_RXCSUM_CRCOFL;
#endif
} else {
@@ -4690,7 +4692,8 @@ igb_initialize_receive_units(struct adapter *adapter)
if (ifp->if_capenable & IFCAP_RXCSUM) {
rxcsum |= E1000_RXCSUM_IPPCSE;
#if __FreeBSD_version >= 800000
- if (adapter->hw.mac.type == e1000_82576)
+ if ((adapter->hw.mac.type == e1000_82576) ||
+ (adapter->hw.mac.type == e1000_82580))
rxcsum |= E1000_RXCSUM_CRCOFL;
#endif
} else
OpenPOWER on IntegriCloud