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>
