summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2017-06-08 14:34:39 +0000
committermav <mav@FreeBSD.org>2017-06-08 14:34:39 +0000
commit6c89ebbbedc75d85a8a164f913018a0c36566280 (patch)
tree4d2f6a3a2963b61906de7fed58a26533362fdee7
parent85c25de3733c5de0c5d9f29eaa3ea3fc9598bee0 (diff)
downloadFreeBSD-src-6c89ebbbedc75d85a8a164f913018a0c36566280.zip
FreeBSD-src-6c89ebbbedc75d85a8a164f913018a0c36566280.tar.gz
MFC r318970: Call VLAN_CAPABILITIES() when LAGG capabilities change.
This makes VLAN on top of LAGG to expose proper capabilities if they are changed after creation. Approved by: re (marius)
-rw-r--r--sys/net/if_lagg.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/net/if_lagg.c b/sys/net/if_lagg.c
index 69d2f35..2883de0 100644
--- a/sys/net/if_lagg.c
+++ b/sys/net/if_lagg.c
@@ -890,6 +890,7 @@ lagg_port_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
LAGG_XLOCK(sc);
lagg_capabilities(sc);
LAGG_XUNLOCK(sc);
+ VLAN_CAPABILITIES(sc->sc_ifp);
break;
case SIOCSIFMTU:
@@ -1003,6 +1004,7 @@ lagg_port_ifdetach(void *arg __unused, struct ifnet *ifp)
lp->lp_detaching = 1;
lagg_port_destroy(lp, 1);
LAGG_XUNLOCK(sc);
+ VLAN_CAPABILITIES(sc->sc_ifp);
}
static void
@@ -1362,6 +1364,7 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
error = lagg_port_create(sc, tpif);
LAGG_XUNLOCK(sc);
if_rele(tpif);
+ VLAN_CAPABILITIES(ifp);
break;
case SIOCSLAGGDELPORT:
error = priv_check(td, PRIV_NET_LAGG);
@@ -1385,6 +1388,7 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
error = lagg_port_destroy(lp, 1);
LAGG_XUNLOCK(sc);
if_rele(tpif);
+ VLAN_CAPABILITIES(ifp);
break;
case SIOCSIFFLAGS:
/* Set flags on ports too */
@@ -1435,6 +1439,7 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
}
lagg_capabilities(sc);
LAGG_XUNLOCK(sc);
+ VLAN_CAPABILITIES(ifp);
error = 0;
break;
OpenPOWER on IntegriCloud