mirror of
https://github.com/opnsense/src.git
synced 2026-06-11 09:41:03 -04:00
Disable TX IP header checksum offloading on RL_HWREV_8168CP. The
controller generates wrong checksummed frame if the IP packet has IP options. Submitted by: Alexander Bluhm via brad@openbsd
This commit is contained in:
parent
3dd76c98e4
commit
3c2a957d2d
1 changed files with 4 additions and 2 deletions
|
|
@ -1587,7 +1587,8 @@ re_attach(device_t dev)
|
|||
* packet has IP options so disable TX IP checksum offloading.
|
||||
*/
|
||||
if (sc->rl_hwrev->rl_rev == RL_HWREV_8168C ||
|
||||
sc->rl_hwrev->rl_rev == RL_HWREV_8168C_SPIN2)
|
||||
sc->rl_hwrev->rl_rev == RL_HWREV_8168C_SPIN2 ||
|
||||
sc->rl_hwrev->rl_rev == RL_HWREV_8168CP)
|
||||
ifp->if_hwassist = CSUM_TCP | CSUM_UDP;
|
||||
else
|
||||
ifp->if_hwassist = CSUM_IP | CSUM_TCP | CSUM_UDP;
|
||||
|
|
@ -3419,7 +3420,8 @@ re_ioctl(struct ifnet *ifp, u_long command, caddr_t data)
|
|||
if ((ifp->if_capenable & IFCAP_TXCSUM) != 0) {
|
||||
rev = sc->rl_hwrev->rl_rev;
|
||||
if (rev == RL_HWREV_8168C ||
|
||||
rev == RL_HWREV_8168C_SPIN2)
|
||||
rev == RL_HWREV_8168C_SPIN2 ||
|
||||
rev == RL_HWREV_8168CP)
|
||||
ifp->if_hwassist |= CSUM_TCP | CSUM_UDP;
|
||||
else
|
||||
ifp->if_hwassist |= RE_CSUM_FEATURES;
|
||||
|
|
|
|||
Loading…
Reference in a new issue