summaryrefslogtreecommitdiffstats
path: root/sys/net/if_bridge.c
diff options
context:
space:
mode:
authorLuiz Otavio O Souza <luiz@netgate.com>2016-04-14 21:58:12 -0500
committerLuiz Otavio O Souza <luiz@netgate.com>2016-04-15 11:40:44 -0500
commitaee57768cc698324c0b52f8e6dbac4b79a594fd1 (patch)
tree1f71a485e8aaeb0eef61fa88544c3436bb3260a3 /sys/net/if_bridge.c
parentffc6c6baf65df91e11cd127af9ec2683167f8cff (diff)
downloadFreeBSD-src-aee57768cc698324c0b52f8e6dbac4b79a594fd1.zip
FreeBSD-src-aee57768cc698324c0b52f8e6dbac4b79a594fd1.tar.gz
Importing pfSense patch if_bridge_gif_mtu.diff
Diffstat (limited to 'sys/net/if_bridge.c')
-rw-r--r--sys/net/if_bridge.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c
index c6bcfdf..0e810e3 100644
--- a/sys/net/if_bridge.c
+++ b/sys/net/if_bridge.c
@@ -864,6 +864,8 @@ bridge_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
}
BRIDGE_LOCK(sc);
LIST_FOREACH(bif, &sc->sc_iflist, bif_next) {
+ if (bif->bif_ifp->if_type == IFT_GIF)
+ continue;
if (bif->bif_ifp->if_mtu != ifr->ifr_mtu) {
log(LOG_NOTICE, "%s: invalid MTU: %u(%s)"
" != %d\n", sc->sc_ifp->if_xname,
@@ -1155,12 +1157,14 @@ bridge_ioctl_add(struct bridge_softc *sc, void *arg)
}
#endif
/* Allow the first Ethernet member to define the MTU */
- if (LIST_EMPTY(&sc->sc_iflist))
- sc->sc_ifp->if_mtu = ifs->if_mtu;
- else if (sc->sc_ifp->if_mtu != ifs->if_mtu) {
- if_printf(sc->sc_ifp, "invalid MTU: %u(%s) != %u\n",
- ifs->if_mtu, ifs->if_xname, sc->sc_ifp->if_mtu);
- return (EINVAL);
+ if (ifs->if_type != IFT_GIF) {
+ if (LIST_EMPTY(&sc->sc_iflist))
+ sc->sc_ifp->if_mtu = ifs->if_mtu;
+ else if (sc->sc_ifp->if_mtu != ifs->if_mtu) {
+ if_printf(sc->sc_ifp, "invalid MTU: %u(%s) != %u\n",
+ ifs->if_mtu, ifs->if_xname, sc->sc_ifp->if_mtu);
+ return (EINVAL);
+ }
}
bif = malloc(sizeof(*bif), M_DEVBUF, M_NOWAIT|M_ZERO);
OpenPOWER on IntegriCloud