sfxge: do not change CSUM_TSO when IFCAP_TSOx is changed
It is simply not required since the kernel checks corresponding IFCAP_TSOx capability and CSUM_TSO in hw-assisted offloads. Note that CSUM_TSO is two bits (CSUM_IP_TSO|CSUM_IP6_TSO) and both bits are set in IPv4 and IPv6 mbufs. Reviewed by: gnn Sponsored by: Solarflare Communications, Inc. MFC after: 2 days Differential Revision: https://reviews.freebsd.org/D2546
This commit is contained in:
parent
3b3390c115
commit
22bc53cb48
@ -282,10 +282,14 @@ sfxge_if_ioctl(struct ifnet *ifp, unsigned long command, caddr_t data)
|
||||
ifp->if_hwassist |= (CSUM_TCP_IPV6 | CSUM_UDP_IPV6);
|
||||
else
|
||||
ifp->if_hwassist &= ~(CSUM_TCP_IPV6 | CSUM_UDP_IPV6);
|
||||
if (ifp->if_capenable & IFCAP_TSO)
|
||||
ifp->if_hwassist |= CSUM_TSO;
|
||||
else
|
||||
ifp->if_hwassist &= ~CSUM_TSO;
|
||||
|
||||
/*
|
||||
* The kernel takes both IFCAP_TSOx and CSUM_TSO into
|
||||
* account before using TSO. So, we do not touch
|
||||
* checksum flags when IFCAP_TSOx is modified.
|
||||
* Note that CSUM_TSO is (CSUM_IP_TSO|CSUM_IP6_TSO),
|
||||
* but both bits are set in IPv4 and IPv6 mbufs.
|
||||
*/
|
||||
|
||||
SFXGE_ADAPTER_UNLOCK(sc);
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user