Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 Jan 2004 14:42:51 +0300 (MSK)
From:      Maxim Konovalov <maxim@macomnet.ru>
To:        Adrian Penisoara <ady@freebsd.ady.ro>
Cc:        freebsd-net@freebsd.org
Subject:   Re: vlan(4)/bridge(4) interaction ?
Message-ID:  <20040124144230.S29370@news1.macomnet.ru>
In-Reply-To: <20040124132053.S1830@sunny.home.ady.ro>
References:  <20040124132053.S1830@sunny.home.ady.ro>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 24 Jan 2004, 13:32+0200, Adrian Penisoara wrote:

> Hi,
>
>   I recently made a test bridging a few VLAN interfaces under FreeBSD
> 5.2-REL and ran into some unexpected issue: some packets coming from one
> vlan inteface with destination MAC on another vlan would pass in the
> parent VLAN interface, but didn't make it into the child vlan interface,
> as seen by tcpdump'ing on both of them. Like the packet was eaten before
> it made it into the child vlan interface. Activating the debug code
> shows that neither the bridge fordwarding routine wasn't catching the
> packets.
>
>   All vlans were child of the same parent interface (a RealTek) and they
> were all configuren in the same bridge cluster. Either with configured
> IPs or without (just up'ed the intefaces).
>
>   I might have botched the interfaces by mutiple reconfigurations, but I
> just would like to know if other people had success with bridged VLAN
> interfaces (yes, it sounds a bit weird if you think of it :) ).

Try this:

Index: if_ethersubr.c
===================================================================
RCS file: /home/ncvs/src/sys/net/if_ethersubr.c,v
retrieving revision 1.155
diff -u -r1.155 if_ethersubr.c
--- if_ethersubr.c	14 Nov 2003 21:02:22 -0000	1.155
+++ if_ethersubr.c	17 Jan 2004 10:12:54 -0000
@@ -627,6 +627,7 @@
 	if (rule)	/* packet was already bridged */
 		goto post_stats;

+#if 0
 	if (!(BDG_ACTIVE(ifp))) {
 		/*
 		 * Discard packet if upper layers shouldn't see it because it
@@ -643,6 +644,7 @@
 			    return;
 		}
 	}
+#endif

 	/* Discard packet if interface is not up */
 	if ((ifp->if_flags & IFF_UP) == 0) {
%%%

-- 
Maxim Konovalov, maxim@macomnet.ru, maxim@FreeBSD.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040124144230.S29370>