Subject: [rbridge] Time to summarize "forward or block" BPDU thread

From: saikat at seas.upenn.edu (Saikat Ray)
Date: Mon, 17 Oct 2005 11:36:23 -0400

There is a *theoretical* possibility of oscillatory behavior if an unknown
third protocol is present in the network (the one that our imaginary
"sbridges" implement). Basically suppose that the protocol sBridges
implement interacts with the STP. Then the following sequence of events may
occur (under the assumption that sBridge control messages look like data
packets to RBridges). First the sBridges and the legacy bridges together
converge to some topology, most likely a disjoint one. During this time,
RBridges are invisible; in particular, sBridges do not see them. Then the
RBridge topology converges. However, now potentially the connectivity that
sBridges see has changed (due to packet forwarding by RBridges). Thus,
sBridges try to recomputed their states, which in turn trigger an STP
recomputation (because we are assuming that sBridge protocol and STP
interacts), and we are back to square one (i.e. an oscillation starts)! I
cannot off the top of my head think of a dumb enough sBridge protocol that
would result into this scenario, but one cannot rule out the possibility!

-----Original Message-----
From: Saikat Ray [mailto:saikat at seas.upenn.edu] 
Sent: Monday, October 17, 2005 11:22 AM
To: 'Developing a hybrid router/bridge.'
Subject: FW: [rbridge] Time to summarize "forward or block" BPDU thread

Now you can have an rbridge and an sbridge in the same L2 (how do you
know you don't?). They form an undetectable, uncorrectable loop.

[Saikat] I do not see how this happens. First I am assuming that if
"sbridges" are connected by physical links, then they know how to avoid
packet loops by some mechanism they choose to implement. Now, as far as
"sbridges" are concerned, the network consisting of RBridges, STP-running
bridges, physical links etc., is simply a "link". In other words, the entire
network (consisting of RBridges, STP-running bridges, physical links etc.)
could be replaced by a physical link. Thus even in this case, there would be
no packet loop in the steady state.

Another way of looking at this argument is the following. Suppose you remove
all the RBridges from the network. sBridges and legacy bridges are left, and
the assumption is that in that case, at least, a loop-free network results.
Then when you add RBridges (in their original position), the rest of the
network is simply one or more "link"s, and RBridges would ensure that there
would be no loops.

Do you have an example in mind where the previous scenario
(sbridges+rBridges) may end up in creating a loop?