netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stephen Hemminger <shemminger@osdl.org>
To: Brian Braunstein <brian@bristyle.com>
Cc: Tony Jeffree <tony@jeffree.co.uk>,
	Rajesh Mishra <rajesh_mish@yahoo.com>,
	bridge@osdl.org, netdev@vger.kernel.org
Subject: Re: 802.1D/Linux STP issue
Date: Thu, 14 Sep 2006 10:06:19 +0900	[thread overview]
Message-ID: <20060914100619.76cb1828@localhost.localdomain> (raw)
In-Reply-To: <45088D29.30501@bristyle.com>

On Wed, 13 Sep 2006 15:58:49 -0700
Brian Braunstein <brian@bristyle.com> wrote:

> hi stephen and tony,
> 
> i have been in contact with both of you and i figured it would make 
> sense to get you to in contact on this issue, so here's the story:
> 
> stephen is the maintainer of the linux spanning tree bridging code, an 
> implementation of 802.1D-1998 that has very wide spread use.
> 
> tony is the chair of the IEEE802.1 working group.
> 
> i am trying to get my patch submitted in the linux kernel to fix a bug 
> in the way STP behaves.  stephen and i discovered that the flaw is 
> actually in the IEEE802.1D-1998 spec, and that the linux implementation 
> was merely following this.  i contacted tony to try to see if we can get 
> an update to the 802.1D-1998 spec, as this is what is implemented in the 
> linux kernel, but tony said that the 1998 standard is obsolete, will not 
> be updated,  and that the 2004 RSTP spec should be used.
> 
> so here's a review of what i've come across:
> 
> first lets start with the bug in the 802.1D-1998 spec
> 
> 1998 - 8.6.2.2 Record Configuration Information - Use
>     you will notice that if the path cost ever goes up and everything 
> else is held constant, the BPDU will be dropped and the network not 
> react to the change, and the dropping of the BPDUs will make it seem 
> like the link is down.
> 
> now lets look at the equivalent section in the 8021.D-2004 spec:
> 
> 2004 - 17.6 Priority vector calculations
> 
>     as you can see here, this bug has been fixed, because the last 
> condition takes care of the problem, if the config message is received 
> from the same designated bridge and designated port, then the config 
> message is processed. so path cost increases will be recorded and 
> reacted to.
> 
> 
> the issue is whether or not the linux kernel should go with the 1998 or 
> 2004 spec.  i would assume that the goal is to make the linux 
> implmentation a functional implementation of the original STP, not a 
> complete rewrite to conform to all of RSTP, so lets look at what the new 
> standard says for normal legacy STP, to see if the bug is fixed there as 
> well:
> 
> 2004 - 17.4 STP compatibility
> 
>     this section seems to say that an RSTP bridge  will revert to STP as 
> defined in section 8.  so then we go to section 8...
> 
> 2004 - 8 Spanning tree algorithm protocol
>   
>     this one then refers to 802.1D-1998 for the STP spec, but also says 
> that it is obsolete and RSTP should be used
> 
> so this is a bit confusing.  section 17.4 says use STP to interoperate 
> with legacy bridges, then section 8 either says use the 1998 spec, or 
> don't use STP at all, but if bugs in the 1998 spec cannot be correct, 
> what are we to do with the linux code?  i can write the patch to 
> implement the new algorithm from 2004-17.6 to replace the algorithm from 
> 1998-8.6.2.2.
> 
> thanks for you help guys,
> hopefully we can get this bug fixed up soon, you both have been great 
> about timely responses and it is much appreciated.
> 
> Brian Braunstein
> 858.245.0434


I have no problem fixing the code to be spec noncompliant, there
are several case where we implement the "right thing" rather than
the "standard way". I just want to make sure any such changes don't
have unintended consequences.

       reply	other threads:[~2006-09-14  1:06 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <OF1AE42FF9.06C5D926-ON852571E7.005804CC-852571E7.0057EE7E@ieee.org>
     [not found] ` <45076B88.80104@bristyle.com>
     [not found]   ` <6.0.1.1.2.20060913075410.04133280@mail.expressoweb.co.uk>
     [not found]     ` <45088D29.30501@bristyle.com>
2006-09-14  1:06       ` Stephen Hemminger [this message]
2006-09-14 16:51         ` 802.1D/Linux STP issue Tony Jeffree
2006-09-14 21:21           ` Andy Gospodarek
2006-09-15  0:15           ` Stephen Hemminger
2006-09-15  7:34             ` Tony Jeffree

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060914100619.76cb1828@localhost.localdomain \
    --to=shemminger@osdl.org \
    --cc=brian@bristyle.com \
    --cc=bridge@osdl.org \
    --cc=netdev@vger.kernel.org \
    --cc=rajesh_mish@yahoo.com \
    --cc=tony@jeffree.co.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).