Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Jan 2001 10:21:56 +0100
From:      Andrea Campi <andrea@webcom.it>
To:        "Rogier R. Mulhuijzen" <drwilco@drwilco.nl>
Cc:        Archie Cobbs <archie@dellroad.org>, Julian Elischer <julian@elischer.org>, freebsd-current@FreeBSD.ORG
Subject:   Re: status of bridge code
Message-ID:  <20010126102156.A572@webcom.it>
In-Reply-To: <4.3.2.7.0.20010125101911.00c84220@mail.bsdchicks.com>; from drwilco@drwilco.nl on Thu, Jan 25, 2001 at 12:19:16PM %2B0100
References:  <4.3.2.7.0.20010125000221.00b07d60@mail.bsdchicks.com> <200101251737.JAA06204@curve.dellroad.org> <4.3.2.7.0.20010125101911.00c84220@mail.bsdchicks.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jan 25, 2001 at 12:19:16PM +0100, Rogier R. Mulhuijzen wrote:
> At 09:37 25-1-01 -0800, Archie Cobbs wrote:
> >Rogier R. Mulhuijzen writes:
> > > But from my list of wishes I'd say the first 3 are gone. All that's 
> > left is
> > > spanning tree. I'm probably going to need this pretty soon, so once more
> > > I'm asking if anyone is working on it. If not I'll start on it.
> >
> >Do you have references for how to do this? As I understand it, there
> >are special Ethernet addresses that are "for bridges only -- do not
> >forward" that are used to construct the spanning tree, etc. What is
> >the "standard" algorithm used by bridges, etc.?
> 
> There's a Spanning Tree Protocol (STP) defined by IEEE 802.1D. I'd prefer 
> to have that, but I don't have the 1K US$ to shell out for that.
> Does BSDi have IEEE subscriptions for FreeBSD developers to use?

Please also consider implementing 802.1G, which is for bridging over PPP
(BCP I think?). I think a lot of us remember the times when remote bridging
was more common than routing ;-)

> First of all bridges might have their own MACs that fall into a certain 
> range, but STP does not depend on that. The "do not forward" is deducted 
> from the protocol type. There is an ethernet protocol called BPDU (Bridge 
> Protocol Data Unit) that each bridge sends and receives, but is not 
> forwarded by any of them. These BDPUs are used to elect root bridge and 
> determine root ports and designated ports.
> 
> This results in the blocking of redundant ports so that loops are 
> eliminated. See http://www.knowcisco.com/content/1578700949/pt02ch06.shtml 
> for a good overview that's pretty in depth.

Any Cisco documentation will go into depth explaining the tradeoffs in
deciding the timing for the various state (STP is, in the end, a state
automaton) depending on the exact topology. You should be careful when
deciding defaults, and you should implement a way to adjust them.

Also, FreeBSD has support for 802.1q VLAN tagging. Having 802.1q trunks in
your network means you (usually) have more than 1 instance of STP. Furthermore,
this means that even if you don't care about 802.1q, you should be prepared to
receive BPDU-like backets which are NOT part of the 802.1d exchange (unless my
mind is playing tricks on me, that is). Of course you can choose not to handle
all of this but then the implementation would be less useful in the real world.

Having said that, while I am not able to help in writing code (no time to
learn netgraph, sorry), I will be more than happy to test it, having a
home network comprising a -current box with 4 ethernet ports and 3 or 4
differents brands / models of hubs/switches.

Bye,
	Andrea

-- 
                       There's no place like ~


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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