svn commit: r307562 - head/sys/net
Sean Bruno
sbruno at FreeBSD.org
Tue Oct 18 13:22:45 UTC 2016
Author: sbruno
Date: Tue Oct 18 13:22:44 2016
New Revision: 307562
URL: https://svnweb.freebsd.org/changeset/base/307562
Log:
Toggle v4/v6 rxcsum together
Only re-init if driver is running
ref: https://github.com/NextBSD/NextBSD/commit/106518e874ec9a61daf4c09894170d24e2f4d60d
Submitted by: mmacy at nextbsd.org
Modified:
head/sys/net/iflib.c
Modified: head/sys/net/iflib.c
==============================================================================
--- head/sys/net/iflib.c Tue Oct 18 13:16:27 2016 (r307561)
+++ head/sys/net/iflib.c Tue Oct 18 13:22:44 2016 (r307562)
@@ -3162,8 +3162,6 @@ iflib_if_qflush(if_t ifp)
IFCAP_TSO4 | IFCAP_TSO6 | IFCAP_VLAN_HWTAGGING | \
IFCAP_VLAN_MTU | IFCAP_VLAN_HWFILTER | IFCAP_VLAN_HWTSO)
-#define IFCAP_REINIT IFCAP_FLAGS
-
static int
iflib_if_ioctl(if_t ifp, u_long command, caddr_t data)
{
@@ -3288,6 +3286,8 @@ iflib_if_ioctl(if_t ifp, u_long command,
#endif
setmask |= (mask & IFCAP_FLAGS);
+ if (setmask & (IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6))
+ setmask |= (IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6);
if ((mask & IFCAP_WOL) &&
(if_getcapabilities(ifp) & IFCAP_WOL) != 0)
setmask |= (mask & (IFCAP_WOL_MCAST|IFCAP_WOL_MAGIC));
@@ -3298,10 +3298,10 @@ iflib_if_ioctl(if_t ifp, u_long command,
if (setmask) {
CTX_LOCK(ctx);
bits = if_getdrvflags(ifp);
- if (setmask & IFCAP_REINIT)
+ if (bits & IFF_DRV_RUNNING)
iflib_stop(ctx);
if_togglecapenable(ifp, setmask);
- if (setmask & IFCAP_REINIT)
+ if (bits & IFF_DRV_RUNNING)
iflib_init_locked(ctx);
if_setdrvflags(ifp, bits);
CTX_UNLOCK(ctx);
More information about the svn-src-all
mailing list