Bridges

Wilkinson, Alex alex.wilkinson at dsto.defence.gov.au
Wed Sep 28 16:17:09 PDT 2005


    0n Thu, Sep 29, 2005 at 04:47:32AM +1000, Peter Jeremy wrote: 

    >On Wed, 2005-Sep-28 03:29:33 -0700, Luigi Rizzo wrote:
    >>On Wed, Sep 28, 2005 at 02:21:53PM +0400, Yar Tikhiy wrote:
    >>> On Sun, Sep 25, 2005 at 05:22:38AM +1000, Peter Jeremy wrote:
    >>> > 
    >>> > Since I've recently needed it, neither bridge.c nor if_bridge.c allow
    >>> > you to bridge VLAN trunks (you can bridge individual VLANs but that
    >>> > becomes unwieldly when you have dozens of VLANs).  I have code to do
    >>> > this in bridge.c.
    >>> 
    >>> Couldn't you bridge across the parent, or trunk, physical interfaces
    >>> carrying tagged VLAN traffic then?  (Of course, hardware support for
    >>> VLAN should be turned off on them in that case.)
    >
    >That's actually what I was trying to do.
    >
    >>yes in fact i was wondering what's wrong with that because
    >>we have been using bridge.c like this for ages now...
    >
    >The problem is that the current bridge code only considers the MAC
    >address for forwarding.  When VLANs are in use, this is incorrect as
    >both the MAC address and VLAN tag must be considered.  The difference
    >is crucial when you have the same MAC address appearing in multiple
    >VLANs.  This can occur when using DECnet Phase IV or Solaris with
    >Cassini NICs - both of which have a per-host MAC address rather than a
    >per-NIC MAC address.
    >
    >As an example, consider a system with a host-based MAC address that
    >has two NICs.  One NIC attaches to VLAN 123 on switch a, the other
    >attaches to VLAN 124 on switch b [this is the situation we have in our
    >test lab].  If I then attempt to join trunks from both switches using
    >bridge(4), it sees the same MAC address on both bridged interfaces and
    >shuts down.  In reality, this situation is safe because the MAC
    >addresses are in different VLANs.

Peter,

What is the difference between a "per-host MAC address" and a "per-NIC
MAC address" ?

 - aW


More information about the freebsd-arch mailing list