Ethernet Bridge development
 help / color / mirror / Atom feed
* [Bridge] RSTP implementation status
@ 2011-11-08  9:37 Martino Fornasa
  2011-11-08 10:32 ` Vitalii Demianets
  0 siblings, 1 reply; 4+ messages in thread
From: Martino Fornasa @ 2011-11-08  9:37 UTC (permalink / raw)
  To: bridge

Hi all.
I'm interested in RSTP implementation (and maybe in contributing to it).

I read this 
[http://lkml.indiana.edu/hypermail/linux/net/0807.1/0011.html] message, 
and I had a look on the ongoing RSTP project hosted at 
[https://github.com/shemminger/RSTP]. Is this project still running?

I noticed that such a ongoing project is based on rstplib 
[http://rstplib.sourceforge.net/]. By taking a brief look at the code, 
it seems to me that such a code is based on the obsolete 802.1w 
specification, while the newest specification for RSTP is contained in 
802.1D-2004; and such a specification (beside incorporating 
compatibility with STP) is radically different from 802.1w (e.g., 
different set of states on state machines...), and it is not easy to 
understand the amount of interoperability between the two.

I think that a serious issue in implementing network bridging/routing 
protocols is to proper validate and testing it. For example, I know that 
there are companies that offer commercial validation system for network 
protocol. As some RSTP implementations as been put in the past in the 
kernel, and STP is already in it, are such implementations have been 
tested and validated? How?

B.R., Martino Fornasa.


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

* Re: [Bridge] RSTP implementation status
  2011-11-08  9:37 [Bridge] RSTP implementation status Martino Fornasa
@ 2011-11-08 10:32 ` Vitalii Demianets
  2011-11-23 10:57   ` Martino Fornasa
  0 siblings, 1 reply; 4+ messages in thread
From: Vitalii Demianets @ 2011-11-08 10:32 UTC (permalink / raw)
  To: bridge

On Tuesday 08 November 2011 11:37:56 Martino Fornasa wrote:
> Hi all.
> I'm interested in RSTP implementation (and maybe in contributing to it).
>
> I read this
> [http://lkml.indiana.edu/hypermail/linux/net/0807.1/0011.html] message,
> and I had a look on the ongoing RSTP project hosted at
> [https://github.com/shemminger/RSTP]. Is this project still running?
>
> I noticed that such a ongoing project is based on rstplib
> [http://rstplib.sourceforge.net/]. By taking a brief look at the code,
> it seems to me that such a code is based on the obsolete 802.1w
> specification, while the newest specification for RSTP is contained in
> 802.1D-2004; and such a specification (beside incorporating
> compatibility with STP) is radically different from 802.1w (e.g.,
> different set of states on state machines...), and it is not easy to
> understand the amount of interoperability between the two.
>

Hello, Martino!
Not really an expert in 802.1w flavor of RSTP, so can't really say if there 
are any differences in behavior of 802.1w- and 802.1D- compatible  
implementations. Just want to point at two alternative projects based on more 
recent standards:

1)
There is 802.1D-compatible RSTP implementation by Aji Srinivas which he 
announced on this list:
http://lists.linux-foundation.org/pipermail/bridge/2009-February/006178.html

I have adopted it in my projects and even have found and patched some bugs. As 
for me it passes some smoke tests but I never let it in production, because 
of the lack of more serious testing.

2)
Also I started open-source MSTP (802.1Q-2005) project,  you can find it here:
http://sourceforge.net/p/mstpd/wiki/Home/

It is based on the more recent standard and can be restricted (if you need) to 
the rstp-only operation by setting "setforcevers" parameter to "rstp".

Again, it passes some smoke tests and behaves reasonably but it lacks serious 
testing.
 
> I think that a serious issue in implementing network bridging/routing
> protocols is to proper validate and testing it. For example, I know that
> there are companies that offer commercial validation system for network
> protocol. As some RSTP implementations as been put in the past in the
> kernel, and STP is already in it, are such implementations have been
> tested and validated? How?
>

Indeed, this is the biggest problem. There are tests which are considered as 
industry standards: UNH IOL tests. For example, MSTP tests:
http://www.iol.unh.edu/services/testing/bfc/testsuites/#Multiple_Spanning_Tree_(MSTP)_Operations_Test_Suite
and
http://www.iol.unh.edu/services/testing/bfc/testsuites/#Multiple_Spanning_Tree_Protocol_(MSTP)_Multi-System_Interoperability_Test_Suite

But these tests use special Ethernet frames, and the content of those test 
frames isn't available freely. Personally I can not figure how to get those 
frames (suspect, it is simply impossible for the small enterprise, as mine 
is).
That is where the show stops for me. I have code and it needs testing, and... 

-- 
Vitalii Demianets

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

* Re: [Bridge] RSTP implementation status
  2011-11-08 10:32 ` Vitalii Demianets
@ 2011-11-23 10:57   ` Martino Fornasa
  2011-11-23 18:52     ` Vitalii Demianets
  0 siblings, 1 reply; 4+ messages in thread
From: Martino Fornasa @ 2011-11-23 10:57 UTC (permalink / raw)
  To: Vitalii Demianets; +Cc: bridge

I'm taking a look of the pointer you provided me.

If I understand correctly, it should be possible to implement RSTP in 
user space, by using the actual kernel interface to the bridging 
subsystem. However, implementing MSTP should be a different issue, due 
to the interconnection with VLAN issues...

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

* Re: [Bridge] RSTP implementation status
  2011-11-23 10:57   ` Martino Fornasa
@ 2011-11-23 18:52     ` Vitalii Demianets
  0 siblings, 0 replies; 4+ messages in thread
From: Vitalii Demianets @ 2011-11-23 18:52 UTC (permalink / raw)
  To: Martino Fornasa; +Cc: bridge

On Wednesday 23 November 2011 12:57:05 Martino Fornasa wrote:
> I'm taking a look of the pointer you provided me.
>
> If I understand correctly, it should be possible to implement RSTP in
> user space, by using the actual kernel interface to the bridging
> subsystem. However, implementing MSTP should be a different issue, due
> to the interconnection with VLAN issues...

Yes, you are correct.
But you still can use mstpd as 802.1Q-compatible RSTP implementation and it 
works with current kernel bridging code.

-- 
Vitalii Demianets

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

end of thread, other threads:[~2011-11-23 18:52 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-08  9:37 [Bridge] RSTP implementation status Martino Fornasa
2011-11-08 10:32 ` Vitalii Demianets
2011-11-23 10:57   ` Martino Fornasa
2011-11-23 18:52     ` Vitalii Demianets

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox