summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorthompsa <thompsa@FreeBSD.org>2005-07-25 02:22:37 +0000
committerthompsa <thompsa@FreeBSD.org>2005-07-25 02:22:37 +0000
commitb8029d769b8e125c60a0b39be2ceeaa49e2bda06 (patch)
tree1cf6440ad3bc279e9a70fb43f54ccecec53313e2 /sys
parent1d80a8864a1d70a05dfec703cae6be7028dcb5be (diff)
downloadFreeBSD-src-b8029d769b8e125c60a0b39be2ceeaa49e2bda06.zip
FreeBSD-src-b8029d769b8e125c60a0b39be2ceeaa49e2bda06.tar.gz
We check that all the member interfaces have the same MTU on attach to the
bridge but the interface can still be changed afterwards. This falls under the 'dont do that' category but log an warning when INVARIANTS is defined. Approved by: mlaier (mentor) MFC after: 3 days
Diffstat (limited to 'sys')
-rw-r--r--sys/net/if_bridge.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c
index 4aed44a..90f053f 100644
--- a/sys/net/if_bridge.c
+++ b/sys/net/if_bridge.c
@@ -1257,6 +1257,14 @@ bridge_enqueue(struct bridge_softc *sc, struct ifnet *dst_ifp, struct mbuf *m)
len = m->m_pkthdr.len;
mflags = m->m_flags;
+
+#ifdef INVARIANTS
+ if (len > dst_ifp->if_mtu)
+ if_printf(sc->sc_ifp,
+ "MTU mismatch, frame length %d exceeds %ld on %s\n", len,
+ dst_ifp->if_mtu, dst_ifp->if_xname);
+#endif
+
IFQ_ENQUEUE(&dst_ifp->if_snd, m, err);
if (err == 0) {
OpenPOWER on IntegriCloud