18 May, 2009

1 commit

  • If bridge is configured with no STP and forwarding delay of 0 (which
    is typical for virtualization) then when link starts it will flood all
    packets for the first 20 seconds.

    This bug was introduced by a combination of earlier changes:
    * forwarding database uses hold time of zero to indicate
    user wants to always flood packets
    * optimzation of the case of forwarding delay of 0 avoids the initial
    timer tick

    The fix is to just skip all the topology change detection code if
    kernel STP is not being used.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Stephen Hemminger
     

06 Aug, 2008

1 commit

  • From: Stephen Hemminger

    Based upon original patch by Herbert Xu, which contained
    the following problem description:

    --------------------
    When the forward delay is set to zero, we still delay the setting
    of the forwarding state by one or possibly two timers depending
    on whether STP is enabled. This could either turn out to be
    instantaneous, or horribly slow depending on the load of the
    machine.

    As there is nothing preventing us from enabling forwarding straight
    away, this patch eliminates this potential delay by executing the
    code directly if the forward delay is zero.

    The effect of this problem is that immediately after the carrier
    comes on a port, the bridge will drop all packets received from
    that port until it enters forwarding mode, thus causing unnecessary
    packet loss.

    Note that this patch doesn't fully remove the delay due to the
    link watcher. We should also check the carrier state when we
    are about to drop an incoming packet because the port is disabled.
    But that's for another patch.
    --------------------

    This version of the fix takes a different approach, in that
    it just does the state change directly.

    Signed-off-by: David S. Miller

    Stephen Hemminger
     

18 Jul, 2008

1 commit


12 Jun, 2008

1 commit


19 May, 2008

1 commit

  • Move rcu-protected lists from list.h into a new header file rculist.h.

    This is done because list are a very used primitive structure all over the
    kernel and it's currently impossible to include other header files in this
    list.h without creating some circular dependencies.

    For example, list.h implements rcu-protected list and uses rcu_dereference()
    without including rcupdate.h. It actually compiles because users of
    rcu_dereference() are macros. Others RCU functions could be used too but
    aren't probably because of this.

    Therefore this patch creates rculist.h which includes rcupdates without to
    many changes/troubles.

    Signed-off-by: Franck Bui-Huu
    Acked-by: Paul E. McKenney
    Acked-by: Josh Triplett
    Signed-off-by: Andrew Morton
    Signed-off-by: Ingo Molnar

    Franck Bui-Huu
     

31 May, 2007

1 commit


09 May, 2007

1 commit


26 Apr, 2007

1 commit

  • This patchset based on work by Aji_Srinivas@emc.com provides allows
    spanning tree to be controled from userspace. Like hotplug, it
    uses call_usermodehelper when spanning tree is enabled so there
    is no visible API change. If call to start usermode STP fails
    it falls back to existing kernel STP.

    Signed-off-by: Stephen Hemminger

    Stephen Hemminger
     

11 Feb, 2007

1 commit


17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds