All of lore.kernel.org
 help / color / mirror / Atom feed
* [Bridge] BPDU's not passing through bridge when STP is disabled
@ 2006-12-08 23:24 Cameron Schaus
  2006-12-13 18:24 ` Stephen Hemminger
  0 siblings, 1 reply; 2+ messages in thread
From: Cameron Schaus @ 2006-12-08 23:24 UTC (permalink / raw)
  To: bridge

I have noticed a change in the linux bridge implementation between 
2.1.15 and 2.1.17.  Specifically, I do not think BPDU's (generated from 
another bridge) are passed across the bridge when STP is disabled.  I 
think this relates to the LLC handling of BPDU's directly invoking 
br_bpdu_rcv.

In 2.6.15, the br_handle_frame function would pass a BPDU to the 
br_handle_frame_finish function which would transmit it across the 
bridge.  But in 2.6.17, the br_bpdu_rcv function is invoked directly by 
the LLC layer, which does nothing if stp is disabled.

Was this change intentional?  The reason I ask is that I can introduce a 
loop into the network by doing the following:

Two machines, both with eth0 and eth1 bridged and STP is enabled:

        ----- A -----
-----+                +------
        ----- B -----


When I disable STP on machine A, it reverts to a standard bridge, with 
both eth0 and eth1 in the forwarding state.  Bridge B has STP enabled, 
and is sending out BPDU's.  Bridge B should disable one of its ports to 
prevent a loop in the network, but it doesn't, because bridge A does not 
pass the BPDU's across, so bridge B cannot detect the loop.  With the 
2.6.15 kernel, this loop was prevented.

Can br_handle_frame_finish be called from br_stp_rcv in the event that 
stp is not enabled, or would doing so cause problems?

Cam


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Bridge] BPDU's not passing through bridge when STP is disabled
  2006-12-08 23:24 [Bridge] BPDU's not passing through bridge when STP is disabled Cameron Schaus
@ 2006-12-13 18:24 ` Stephen Hemminger
  0 siblings, 0 replies; 2+ messages in thread
From: Stephen Hemminger @ 2006-12-13 18:24 UTC (permalink / raw)
  To: Cameron Schaus; +Cc: bridge

On Fri, 08 Dec 2006 18:24:07 -0500
Cameron Schaus <cam@schaus.ca> wrote:

> I have noticed a change in the linux bridge implementation between 
> 2.1.15 and 2.1.17.  Specifically, I do not think BPDU's (generated from 
> another bridge) are passed across the bridge when STP is disabled.  I 
> think this relates to the LLC handling of BPDU's directly invoking 
> br_bpdu_rcv.
> 
> In 2.6.15, the br_handle_frame function would pass a BPDU to the 
> br_handle_frame_finish function which would transmit it across the 
> bridge.  But in 2.6.17, the br_bpdu_rcv function is invoked directly by 
> the LLC layer, which does nothing if stp is disabled.
> 
> Was this change intentional?  The reason I ask is that I can introduce a 
> loop into the network by doing the following:
> 
> Two machines, both with eth0 and eth1 bridged and STP is enabled:
> 
>         ----- A -----
> -----+                +------
>         ----- B -----
> 
> 
> When I disable STP on machine A, it reverts to a standard bridge, with 
> both eth0 and eth1 in the forwarding state.  Bridge B has STP enabled, 
> and is sending out BPDU's.  Bridge B should disable one of its ports to 
> prevent a loop in the network, but it doesn't, because bridge A does not 
> pass the BPDU's across, so bridge B cannot detect the loop.  With the 
> 2.6.15 kernel, this loop was prevented.
> 
> Can br_handle_frame_finish be called from br_stp_rcv in the event that 
> stp is not enabled, or would doing so cause problems?
> 
> Cam
> 
> _______________________________________________
> Bridge mailing list
> Bridge@lists.osdl.org
> https://lists.osdl.org/mailman/listinfo/bridge
> 

The change was intentional because the bridge follows the 802 spec
and doesn't pass link local multicast frames. 

If you are running STP on the network, you need to run STP on
the bridge.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-12-13 18:24 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-12-08 23:24 [Bridge] BPDU's not passing through bridge when STP is disabled Cameron Schaus
2006-12-13 18:24 ` Stephen Hemminger

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.