From owner-freebsd-net@FreeBSD.ORG Thu Jan 17 11:57:29 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 09CC816A417 for ; Thu, 17 Jan 2008 11:57:29 +0000 (UTC) (envelope-from tom@tomjudge.com) Received: from s200aog17.obsmtp.com (s200aog17.obsmtp.com [207.126.144.131]) by mx1.freebsd.org (Postfix) with SMTP id A7C0E13C465 for ; Thu, 17 Jan 2008 11:57:27 +0000 (UTC) (envelope-from tom@tomjudge.com) Received: from source ([217.206.187.80]) by eu1sys200aob017.postini.com ([207.126.147.11]) with SMTP; Thu, 17 Jan 2008 11:57:26 UTC Received: from bill.mintel.co.uk (bill.mintel.co.uk [10.0.0.89]) by rodney.mintel.co.uk (Postfix) with ESMTP id 0D78418141F; Thu, 17 Jan 2008 11:57:26 +0000 (GMT) Message-ID: <478F42A5.6080301@tomjudge.com> Date: Thu, 17 Jan 2008 11:57:25 +0000 From: Tom Judge User-Agent: Thunderbird 2.0.0.6 (X11/20071022) MIME-Version: 1.0 To: Andrew Thompson References: <478EBBFD.4090806@tomjudge.com> <20080117030804.GA30931@heff.fud.org.nz> In-Reply-To: <20080117030804.GA30931@heff.fud.org.nz> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-net Subject: Re: if_bridge forwarding incorrectly forwarding ethernet link local addressed packets (e.g. lldp) 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: Thu, 17 Jan 2008 11:57:29 -0000 Andrew Thompson wrote: > On Thu, Jan 17, 2008 at 02:22:53AM +0000, Tom Judge wrote: >> Hi, >> >> As brought up in the thread "Programming interface MAC filter without >> enabling PROMISC on an interface from user space." it would seem that >> if_bridge does not conform to IEEE 802.1D-2004. Which states: >> >> >> 7.12.6 Reserved addresses >> Frames containing any of the group MAC Addresses specified in Table 7-10 in >> their destination address field shall not be relayed by the Bridge. They >> are configured in the Permanent Database. Management shall not provide the >> capability to modify or remove these entries from the Permanent or the >> Filtering Databases. These group MAC Addresses are reserved for assignment >> to standard protocols, according to the criteria for such assignments >> (Clause 5.5 of ISO/IEC TR 11802-2). >> >> >> >> >> Assignment Value >> Bridge Group Address 01-80-C2-00-00-00 >> IEEE Std 802.3x Full Duplex PAUSE operation 01-80-C2-00-00-01 >> IEEE Std 802.3ad Slow_Protocols_Multicast address 01-80-C2-00-00-02 >> IEEE P802.1X PAE address 01-80-C2-00-00-03 >> Reserved for future standardization 01-80-C2-00-00-04 >> Reserved for future standardization 01-80-C2-00-00-05 >> Reserved for future standardization 01-80-C2-00-00-06 >> Reserved for future standardization 01-80-C2-00-00-07 >> Reserved for future standardization 01-80-C2-00-00-08 >> Reserved for future standardization 01-80-C2-00-00-09 >> Reserved for future standardization 01-80-C2-00-00-0A >> Reserved for future standardization 01-80-C2-00-00-0B >> Reserved for future standardization 01-80-C2-00-00-0C >> Reserved for future standardization 01-80-C2-00-00-0D >> Reserved for future standardization 01-80-C2-00-00-0E >> Reserved for future standardization 01-80-C2-00-00-0F >>
>> >> Should I raise a PR about this? > > Yes please, just paste the same content in. Thanks for investigating > this, I will sort out a patch. > > > Andrew Hi, I have raised a PR about this: kern/119744 I also put a possible solution into the PR. I'm not sure if the boolean logic on eh->ether_dhost is valid though: if (eh->ether_dhost & 0xFFFFFFFFFFF0 == 0x0180C2000000) {} How ever the symantics of the logic should be correct even if the code is wrong. I have not tested this fix at all (not even compile). Tom