Re: vlan(4)/bridge(4) interaction ?

From: Maxim Konovalov (maxim_at_macomnet.ru)
Date: 01/24/04

  • Next message: Matthias Schuendehuette: "Bridging a 802.1Q VLAN-Trunk"
    Date: Sat, 24 Jan 2004 14:42:51 +0300 (MSK)
    To: Adrian Penisoara <ady@freebsd.ady.ro>
    
    

    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
    _______________________________________________
    freebsd-net@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-net
    To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"
    

  • Next message: Matthias Schuendehuette: "Bridging a 802.1Q VLAN-Trunk"