bridge.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* [Bridge] RSTP-Linux Bridge (2.6 Kernel) query
@ 2010-04-19  9:35 voxner
  2010-04-19 16:00 ` Stephen Hemminger
  0 siblings, 1 reply; 3+ messages in thread
From: voxner @ 2010-04-19  9:35 UTC (permalink / raw)
  To: bridge

[-- Attachment #1: Type: text/plain, Size: 1934 bytes --]

Hi all,

I am fairly new to Bridging, and I have been trying to understand the
Bridge-RSTP communication. I have an RSTP implementation running in
user-space and I would like to use the existing Linux bridge data-structures
(like net_bridge, net_bridge_port used in Linux 2.6) so that I have a
Linux-Bridge/RSTP setup. For this I need to introduce some sort of
communication mechanism (maybe IOCTL calls) to alter these data-structures
by my RSTP.

My idea is to disable STP (thus making sure that routines like
br_configuration_update() are not called) and then use a communication
mechanism to alter bridge/bridge-port states(stored in net_bridge) of kernel
from my RSTP.

From my analysis, I found the following instances of communication

Bridge -> RSTP Communication
1. An RSTP BPDU (control) packet is received (like the routine br_stp_rcv in
existing linux)
2. When a bridge is added or removed
3. When a port in a bridge is added or removed

RSTP -> Bridge Communication
1.Setting a Bridge-Port state
2.Setting Bridge-Ports pirority
3.Getting number of ports.
4.Command to send a BPDU packet
etc .......

I would like to know if I am on the right track. To summarize I "disable"
all those STP routines, introduce a bunch of routines that set bridge/ports
based on communication received from the RSTP running in user-space.

I have looked at the differences between STP and RSTP but I am unsure as to
how this will play out in my solution. Should I go for another strategy? Is
there any similar work out there that does this? I would really appreciate
any input/pointers in this matter.

Thanks,
Vox

P.S. To get an insight into this problem I took a cursory look at another
RSTP implementation called RSTPLib (http://rstplib.sourceforge.net) but it
uses daemons, sysfs & crucially it is not "integrated" into the kernel. I am
also unclear if it's purely on a simulation tool. Also its code seems no
longer under development.

[-- Attachment #2: Type: text/html, Size: 2148 bytes --]

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

* Re: [Bridge] RSTP-Linux Bridge (2.6 Kernel) query
  2010-04-19  9:35 [Bridge] RSTP-Linux Bridge (2.6 Kernel) query voxner
@ 2010-04-19 16:00 ` Stephen Hemminger
  2010-04-21  8:10   ` voxner
  0 siblings, 1 reply; 3+ messages in thread
From: Stephen Hemminger @ 2010-04-19 16:00 UTC (permalink / raw)
  To: voxner; +Cc: bridge

On Mon, 19 Apr 2010 15:05:35 +0530
voxner <voxner.dev@gmail.com> wrote:

> Hi all,
> 
> I am fairly new to Bridging, and I have been trying to understand the
> Bridge-RSTP communication. I have an RSTP implementation running in
> user-space and I would like to use the existing Linux bridge data-structures
> (like net_bridge, net_bridge_port used in Linux 2.6) so that I have a
> Linux-Bridge/RSTP setup. For this I need to introduce some sort of
> communication mechanism (maybe IOCTL calls) to alter these data-structures
> by my RSTP.

Did you look at RSTP user space daemon? or is this a new one.
       git clone git.kernel.org:/pub/scm/linux/kernel/git/shemminger/rstp.git

I already have five alternatives for RSTP, and none of them is fully
integrated!  3 user space daemons (1 on rstplib, 1 from EMC, and
another). 2 kernel implementations based on old 2.4 code.

Somewhere down the road, there needs to be one and only one solution
and it has to just work out of the box.  If I had infinite time, or
a major Vyatta customer demanded it, I would just integrate one of
the 2.4 implementations and be done.

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

* Re: [Bridge] RSTP-Linux Bridge (2.6 Kernel) query
  2010-04-19 16:00 ` Stephen Hemminger
@ 2010-04-21  8:10   ` voxner
  0 siblings, 0 replies; 3+ messages in thread
From: voxner @ 2010-04-21  8:10 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: bridge

[-- Attachment #1: Type: text/plain, Size: 1008 bytes --]

On Mon, Apr 19, 2010 at 9:30 PM, Stephen Hemminger <
shemminger@linux-foundation.org> wrote:

> On Mon, 19 Apr 2010 15:05:35 +0530
> voxner <voxner.dev@gmail.com> wrote:
>
> Did you look at RSTP user space daemon? or is this a new one.
>       git clone git.kernel.org:
> /pub/scm/linux/kernel/git/shemminger/rstp.git
>
> I already have five alternatives for RSTP, and none of them is fully
> integrated!  3 user space daemons (1 on rstplib, 1 from EMC, and
> another). 2 kernel implementations based on old 2.4 code.
>
> Somewhere down the road, there needs to be one and only one solution
> and it has to just work out of the box.  If I had infinite time, or
> a major Vyatta customer demanded it, I would just integrate one of
> the 2.4 implementations and be done.
>

It's a new RSTP implementation in user space. I saw a 2.4 RSTP
implementation that is integrated into kernel but was not part of the
mainline kernel. Which one of the two 2.4 implementations you mentioned is
more easier to port to 2.6?

[-- Attachment #2: Type: text/html, Size: 1396 bytes --]

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

end of thread, other threads:[~2010-04-21  8:10 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-04-19  9:35 [Bridge] RSTP-Linux Bridge (2.6 Kernel) query voxner
2010-04-19 16:00 ` Stephen Hemminger
2010-04-21  8:10   ` voxner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).