From owner-freebsd-net@FreeBSD.ORG Mon Mar 12 11:22:33 2007 Return-Path: X-Original-To: freebsd-net@freebsd.org Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 263AA16A400; Mon, 12 Mar 2007 11:22:33 +0000 (UTC) (envelope-from yar@comp.chem.msu.su) Received: from comp.chem.msu.su (comp.chem.msu.su [158.250.32.97]) by mx1.freebsd.org (Postfix) with ESMTP id C05E213C45E; Mon, 12 Mar 2007 11:22:31 +0000 (UTC) (envelope-from yar@comp.chem.msu.su) Received: from comp.chem.msu.su (localhost [127.0.0.1]) by comp.chem.msu.su (8.13.4/8.13.4) with ESMTP id l2CBKwQX062075; Mon, 12 Mar 2007 14:20:58 +0300 (MSK) (envelope-from yar@comp.chem.msu.su) Received: (from yar@localhost) by comp.chem.msu.su (8.13.4/8.13.4/Submit) id l2CBKuA3062068; Mon, 12 Mar 2007 14:20:57 +0300 (MSK) (envelope-from yar) Date: Mon, 12 Mar 2007 14:20:56 +0300 From: Yar Tikhiy To: "Bruce M. Simpson" Message-ID: <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> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <45F51F2B.5020906@FreeBSD.org> User-Agent: Mutt/1.5.9i 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 X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Mar 2007 11:22:33 -0000 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