Date: Mon, 19 Aug 2002 10:29:51 -0700 From: Luigi Rizzo <rizzo@icir.org> To: Lars Eggert <larse@ISI.EDU> Cc: net@FreeBSD.ORG Subject: Re: Bridging when one interface has no carrier Message-ID: <20020819102951.A38869@iguana.icir.org> In-Reply-To: <3D61224B.2020902@isi.edu>; from larse@ISI.EDU on Mon, Aug 19, 2002 at 09:52:27AM -0700 References: <3D61224B.2020902@isi.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, I guess the responsible of the problem is this part of code in sys/net/if_ethersubr.c:ether_demux(): /* Discard packet if interface is not up */ if ((ifp->if_flags & IFF_UP) == 0) { m_freem(m); return; } which is somewhat funny, because once we have the packet, we might as well process it. Now, one could bypass the test for the bridging case, or remove it altogether... I am not sure which one is the best approach. cheers luigi On Mon, Aug 19, 2002 at 09:52:27AM -0700, Lars Eggert wrote: > Hi, > > I've filed a PR (kern/41632, > http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/41632) on the following > problem: > > FreeBSD box with two Ethernet NICs, e.g. if0 with IP address A and if1 > with IP address B, bridged together: > > net.link.ether.bridge_cfg: if0 if1 > net.link.ether.bridge: 1 > > Interface if0 is plugged in (has carrier), if1 isn't (no carrier). > Packets arriving on if0 for IP address B (or the broadcast address) are > not received by processes running on the bridging machine. > > Any ideas? > > Thanks, > Lars > -- > Lars Eggert <larse@isi.edu> USC Information Sciences Institute To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020819102951.A38869>