Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Mar 2007 13:26:13 +0000
From:      "Bruce M. Simpson" <bms@FreeBSD.org>
To:        Yar Tikhiy <yar@comp.chem.msu.su>
Cc:        rik@freebsd.org, andre@freebsd.org, freebsd-net@freebsd.org, thompsa@freebsd.org
Subject:   Re: kern/109815: wrong interface identifier at pfil_hooks for vlans +	if_bridge
Message-ID:  <45F554F5.8020505@FreeBSD.org>
In-Reply-To: <20070312112056.GC44732@comp.chem.msu.su>
References:  <E1HNbWw-000LoF-Bo@pobox.codelabs.ru> <45E9F1E8.2000802@inse.ru> <20070304160613.GN80319@codelabs.ru> <45EB4915.1090703@FreeBSD.org> <20070305145647.GT80319@codelabs.ru> <45EC3EFD.3000301@FreeBSD.org> <20070306073945.GR57456@codelabs.ru> <45ED900A.7050208@FreeBSD.org> <20070312092406.GJ58523@codelabs.ru> <45F51F2B.5020906@FreeBSD.org> <20070312112056.GC44732@comp.chem.msu.su>

next in thread | previous in thread | raw e-mail | index | archive | help
Yar Tikhiy wrote:
> Guys, excuse me, but I still fail to see how the case of VLANs'
> sharing a single MAC differs from the case of several physical
> interfaces with the same MAC from the POV of a bridge.  A bridge
> can have no own MAC addresses at all, it plays with foreign MAC
> addresses only.  Therefore I can't see why our bridge code needs
> to know local MAC addresses, let alone why it fails when they're
> the same.  Could you give me a hint?  Thanks!
>   

A few points:

1. A bridge *does* have a MAC address; it is automatically assigned one 
to participate in IEEE 802.1d Spanning Tree.

2. In the case where 802.3ad trunking is implemented, the same Ethernet 
address may be used by multiple physical interfaces.

3.  As Eygene explained well: there are a number of consumers of 
Ethernet frames in the stack. As if_bridge may potentially be passed 
mbuf chains containing packets for these consumers first, it must 
examine the destination address to determine if it should claim the 
packet or not.

Finally, because of the above points, the Ethernet destination address 
cannot be regarded as a unique key in the bridge code, or indeed the 
general Ethernet path, for where packets should be relayed in the stack 
as a whole.

Regards,
BMS



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