Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Mar 2007 14:56:33 +0300
From:      Eygene Ryabinkin <rea-fbsd@codelabs.ru>
To:        Yar Tikhiy <yar@comp.chem.msu.su>
Cc:        rik@freebsd.org, andre@freebsd.org, freebsd-net@freebsd.org, thompsa@freebsd.org, "Bruce M. Simpson" <bms@freebsd.org>
Subject:   Re: kern/109815: wrong interface identifier at pfil_hooks for vlans +	if_bridge
Message-ID:  <20070312115632.GP58523@codelabs.ru>
In-Reply-To: <20070312112056.GC44732@comp.chem.msu.su>
References:  <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, good day.

Mon, Mar 12, 2007 at 02:20:56PM +0300, Yar Tikhiy wrote:
> On Mon, Mar 12, 2007 at 09:36:43AM +0000, Bruce M. Simpson wrote:
> > 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.

It does not differ at all, you're right. VLAN case is just an
illustration for the problem, but the problem itself is not limited
to a VLAN interfaces.

> 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!

This is a different point. The bridge wants to know about bridge
members MACs just because it should catch the packets that are
destined to the bridge members. It is the only way for an L2 thing
that is operating in the promiscious mode.

For our case (when MACs are the same): I think that rik@ has explained
it rather good, so you should read his message once again. Perhaps,
we can talk about this off-list and in Russian, if you prefer.
-- 
Eygene



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