From owner-freebsd-net Tue Jan 15 17:27:40 2002 Delivered-To: freebsd-net@freebsd.org Received: from mailout04.sul.t-online.com (mailout04.sul.t-online.com [194.25.134.18]) by hub.freebsd.org (Postfix) with ESMTP id C5DCC37B419 for ; Tue, 15 Jan 2002 17:27:37 -0800 (PST) Received: from fwd01.sul.t-online.de by mailout04.sul.t-online.com with smtp id 16QerX-0004s2-00; Wed, 16 Jan 2002 02:27:35 +0100 Received: from frolic.no-support.loc (520094253176-0001@[80.130.206.106]) by fmrl01.sul.t-online.com with esmtp id 16QerW-27KVCCC; Wed, 16 Jan 2002 02:27:34 +0100 Received: (from bjoern@localhost) by frolic.no-support.loc (8.11.6/8.9.3) id g0G1OAn09492; Wed, 16 Jan 2002 02:24:10 +0100 (CET) (envelope-from bjoern) From: Bjoern Fischer Date: Wed, 16 Jan 2002 02:24:10 +0100 To: freebsd-net@FreeBSD.ORG Cc: Luigi Rizzo Subject: Re: bridged interfaces don't see broadcasts [update] Message-ID: <20020116012410.GA9286@frolic.no-support.loc> References: <20020115212056.GA3520@frolic.no-support.loc> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: <20020115212056.GA3520@frolic.no-support.loc> User-Agent: Mutt/1.3.25i X-Sender: 520094253176-0001@t-dialin.net Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Here an update. While Julian is looking for an netgraph solution, I looked into Luigi's bridging code. And found something, I believe: > net.link.ether.bridge_cfg: vr0:0,ed1:0 > net.link.ether.bridge: 1 > vr0: flags=3D8943 mtu 1500 > inet 192.168.43.1 netmask 0xffffff00 broadcast 192.168.43.255 > ether 00:50:ba:23:0d:f3=20 > ed1: flags=3D8943 mtu 1500 > ether 00:4f:4c:02:4a:4c=20 Watch for ed1, it is not ifconfiged i.e. has no ip address. I can see broadcasts from the vr0 segment on 192.168.43.1 but no broadcasts from the ed1 segment. I added some debug messages to bridge.c and if_ethersubr.c. I can see that broadcast packets coming from vr0 are properly passed to ether_demux() in if_ethersubr.c:ether_input() after going through the bridge forwarding code. Then as an experiment I ifconfiged ed1 although in bridge.c Luigi suggests to use only one ifconfiged interface per bridge cluster: ifconfig inet 192.168.43.2 netmask 0xffffff00 ed1 And that did it. Almost. Now I can see broadcasts from the ed1 segment on 192.168.43.2. Is this the way it should work? Or should a broadcast packet, that is bdg_forward()ed in ether_input() and therefore sent through vr0, also be passed to the upper network layer? Then one actually *must not* ifconfig more than one interface per bridge cluster or broadcasts will be received twice or even more often. Uh, ugly. There was an issue shortly on the list, a general "interface can't see it's own broadcast", I tried the patch but it didn't help. -Bj=F6rn To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message