Skip site navigation (1)Skip section navigation (2)
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	UZA10UWestern Cape10U	Cape Town10U
Thawte Consulting1(0&UCertification Services Division1$0"UThawte Personal Freemail CA1+0)	*H
	personal-freemail@thawte.com0
000830000000Z
040827235959Z010	UZA10UWestern Cape10U	Cape Town10
U
Thawte10UCertificate Services1(0&UPersonal Freemail RSA 2000.8.3000
	*H
032c	%E>nx'gڈD)c5*mp<ܮto034qmOe
KaU5u'rװ|CBPQ<9TIf-	kiN0L0)U"0 010UPrivateLabel1-2970U00U0
	*H
1KG]qSl]y=&b""I'{9$
*8PUl
LGlX1B	li+@]jy.%݊
Z<D&iHΥbb090%A0
	*H
010	UZA10UWestern 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~S0JjWV~	1^({IݛLjӖ
ao:bP}WLVܱ욗cDɖ_Kv.A(W49;Z8-uXE
6b
@_0%#d`Rto5 L0R`w@7
r	Hcc	U3%7N_oV0T0*+e!000L2uMyffBNUbNJJcdZ2s0U0
larse@isi.edu0U00
	*H
]Ȕ,fK<cjRZeLan@Z6,=
fK?yO#8+	Ni*LSfpQg<(aӒ$kTx_AL1>ގ|S090%A0
	*H
010	UZA10UWestern 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~S0JjWV~	1^({IݛLjӖ
ao:bP}WLVܱ욗cDɖ_Kv.A(W49;Z8-uXE
6b
@_0%#d`Rto5 L0R`w@7
r	Hcc	U3%7N_oV0T0*+e!000L2uMyffBNUbNJJcdZ2s0U0
larse@isi.edu0U00
	*H
]Ȕ,fK<cjRZeLan@Z6,=
fK?yO#8+	Ni*LSfpQg<(aӒ$kTx_AL1>ގ|S100010	UZA10UWestern 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	UZA10UWestern Cape10U	Cape Town10
U
Thawte10UCertificate Services1(0&UPersonal Freemail RSA 2000.8.30%A0*H
	1010	UZA10UWestern 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!ځ+`wP7+Lk
._C"GJ1U:!wWD

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3DBC6EAE.8090301>