Date: Sun, 27 Oct 2002 14:54:38 -0800 From: Lars Eggert <larse@ISI.EDU> To: Lars Eggert <larse@ISI.EDU> Cc: Luigi Rizzo <rizzo@icir.org>, net@FreeBSD.ORG Subject: Re: Bridging when one interface has no carrier Message-ID: <3DBC6EAE.8090301@isi.edu> In-Reply-To: <3D61224B.2020902@isi.edu> References: <3D61224B.2020902@isi.edu> <20020819102951.A38869@iguana.icir.org> <3DB885BD.8010203@isi.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] Lars Eggert wrote: > This causes the problem decribed in PR kern/41632 > (http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/41632), where dhcpd > "listens" on interface A which is bridged to interface B. When A has no > carrier, DHCP requests arriving on B are ignored. When A has a carrier, > dhcp will get a copy of the packet when it is bridge-forwarded out A, so > the problem doesn't occur then. > > Attached is a rough patch to if_ethersubr.c that fixes the problem. That patch (new version attached) turned out to only fix part of the problem. When bridge-forwarding packets to an interface without a carrier, they start to fill up its outbout queue. Once the queue is full, new packets that are routed to that interfaces won't be bridged anymore. This happens in the example above with dhcpd. DHCP requests come in on B and get bridge-forwarded to A (filling up A's outbound queue). dhcpd generates responses, which are sent via A and then bridge-forwarded to B. Once A's outbound queue is full, those responses fall on the floor. Attached is an ugly hack that fixes this in my setup. The next issue is bridge interactions with IPv6 stateless autoconf. IPv6 doesn't like link-local addresses appearing on (apparently) different interfaces... Lars -- Lars Eggert <larse@isi.edu> USC Information Sciences Institute [-- Attachment #2 --] 0 *H 010 + 0 *H 080fErtcvE.0 *H 010 UZA10UWestern Cape10U Cape Town10U Thawte Consulting1(0&UCertification Services Division1$0"UThawte Personal Freemail CA1+0) *H personal-freemail@thawte.com0 000830000000Z 040827235959Z010 UZA10UWestern Cape10U Cape Town10 U Thawte10UCertificate Services1(0&UPersonal Freemail RSA 2000.8.3000 *H 0 32c %E>nx'gڈD)c5*mp<ܮto034qmOe KaU5u'rװ|CBPQ<9TIf - ki N0L0)U"0 010UPrivateLabel1-2970U0 0U0 *H 1KG]qSl]y=&b""I'{9$ *8PUl LGlX1B li+@]jy.%݊ Z<D&iHΥbb090%A0 *H 010 UZA10UWestern Cape10U Cape Town10 U Thawte10UCertificate Services1(0&UPersonal Freemail RSA 2000.8.300 020824185339Z 030824185339Z0T10 UEggert1 0U*Lars10ULars Eggert10 *H larse@isi.edu0"0 *H 0 6Fxΰ7aED&0+Dj)ֽXCUcnleijmz~S0J jWV~ 1^({IݛLjӖ ao:bP}WLVܱ욗cDɖ_Kv.A(W49;Z8-uXE 6b @_0%#d`Rto5 L0R`w@7 r Hcc U3%7N_o V0T0*+e!0 00L2uMyffBNUbNJJcdZ2s0U0 larse@isi.edu0U0 0 *H ]Ȕ,fK<cjRZeLan@Z6,= fK?yO#8+ Ni*LSfpQg<(aӒ$kTx_AL1>ގ|S090%A0 *H 010 UZA10UWestern Cape10U Cape Town10 U Thawte10UCertificate Services1(0&UPersonal Freemail RSA 2000.8.300 020824185339Z 030824185339Z0T10 UEggert1 0U*Lars10ULars Eggert10 *H larse@isi.edu0"0 *H 0 6Fxΰ7aED&0+Dj)ֽXCUcnleijmz~S0J jWV~ 1^({IݛLjӖ ao:bP}WLVܱ욗cDɖ_Kv.A(W49;Z8-uXE 6b @_0%#d`Rto5 L0R`w@7 r Hcc U3%7N_o V0T0*+e!0 00L2uMyffBNUbNJJcdZ2s0U0 larse@isi.edu0U0 0 *H ]Ȕ,fK<cjRZeLan@Z6,= fK?yO#8+ Ni*LSfpQg<(aӒ$kTx_AL1>ގ|S100010 UZA10UWestern Cape10U Cape Town10 U Thawte10UCertificate Services1(0&UPersonal Freemail RSA 2000.8.30%A0 + 0 *H 1 *H 0 *H 1 021027225439Z0# *H 1Nvn`̮ItӢWbo(0R *H 1E0C0 *H 0*H 0 *H @0+0 *H (0 +710010 UZA10UWestern Cape10U Cape Town10 U Thawte10UCertificate Services1(0&UPersonal Freemail RSA 2000.8.30%A0*H 1010 UZA10UWestern Cape10U Cape Town10 U Thawte10UCertificate Services1(0&UPersonal Freemail RSA 2000.8.30%A0 *H \^E;AMH 6Yz|k`m42}z(Jcm,e\5|W$\ؽSHw;L${bFF)9q#H炷VbҸz_$?s (N퍀! wP] i:z!ځ+`wP7+Lk ._C"GJ1U:!wWD
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3DBC6EAE.8090301>
