Date: Mon, 12 Mar 2007 14:20:56 +0300 From: Yar Tikhiy <yar@comp.chem.msu.su> To: "Bruce M. Simpson" <bms@freebsd.org> 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: <20070312112056.GC44732@comp.chem.msu.su> In-Reply-To: <45F51F2B.5020906@FreeBSD.org> 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>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Mar 12, 2007 at 09:36:43AM +0000, Bruce M. Simpson wrote: > Hi, > > Eygene Ryabinkin wrote: > > > >Speaking about vlan problems: the original problem is to do something > >with VLAN interfaces only because they are sharing the MAC of their > >physical parent. The problem itself is not VLAN-specific -- if there > >will be two physical interfaces with the same MACs and they will be > >bridged, the problem will still be here. > > > I see this also. > > What would be good is if there was a way to record additional MAC > addresses for each ifnet, in addition to the if_lladdr member. This > would cut down the cruft in ether_input(), if_bridge(4) and possibly > also carp(4). > > For network cards with more than one perfect hash filter entry in the > hardware, programming these into the card would *perhaps* be more > efficient when trying to achieve line rate with gigabit and beyond. > > This would most likely require an ABI change. The VLAN handling problem > doesn't go away; we will still need to check if a bridge member is a > VLAN interface because we can't uniquely key off the MAC as you point out. 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! -- Yar
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070312112056.GC44732>