* [PATCH] bridge: set priority of STP packets
@ 2013-02-11 18:22 Stephen Hemminger
2013-02-11 19:18 ` David Miller
2013-02-11 22:55 ` Eric Dumazet
0 siblings, 2 replies; 3+ messages in thread
From: Stephen Hemminger @ 2013-02-11 18:22 UTC (permalink / raw)
To: David Miller; +Cc: netdev
Spanning Tree Protocol packets should have always been marked as
control packets, this causes them to get queued in the high prirority
FIFO. As Radia Perlman mentioned in her LCA talk, STP dies if bridge
gets overloaded and can't communicate. This is a long-standing bug back
to the first versions of Linux bridge.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
Please consider adding to stable as well.
--- a/net/bridge/br_stp_bpdu.c 2013-01-16 09:47:00.599539375 -0800
+++ b/net/bridge/br_stp_bpdu.c 2013-02-11 08:13:56.315979316 -0800
@@ -16,6 +16,7 @@
#include <linux/etherdevice.h>
#include <linux/llc.h>
#include <linux/slab.h>
+#include <linux/pkt_sched.h>
#include <net/net_namespace.h>
#include <net/llc.h>
#include <net/llc_pdu.h>
@@ -40,6 +41,7 @@ static void br_send_bpdu(struct net_brid
skb->dev = p->dev;
skb->protocol = htons(ETH_P_802_2);
+ skb->priority = TC_PRIO_CONTROL;
skb_reserve(skb, LLC_RESERVE);
memcpy(__skb_put(skb, length), data, length);
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] bridge: set priority of STP packets
2013-02-11 18:22 [PATCH] bridge: set priority of STP packets Stephen Hemminger
@ 2013-02-11 19:18 ` David Miller
2013-02-11 22:55 ` Eric Dumazet
1 sibling, 0 replies; 3+ messages in thread
From: David Miller @ 2013-02-11 19:18 UTC (permalink / raw)
To: stephen; +Cc: netdev
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Mon, 11 Feb 2013 10:22:22 -0800
> Spanning Tree Protocol packets should have always been marked as
> control packets, this causes them to get queued in the high prirority
> FIFO. As Radia Perlman mentioned in her LCA talk, STP dies if bridge
> gets overloaded and can't communicate. This is a long-standing bug back
> to the first versions of Linux bridge.
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Applied and queued up for -stable, thanks.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] bridge: set priority of STP packets
2013-02-11 18:22 [PATCH] bridge: set priority of STP packets Stephen Hemminger
2013-02-11 19:18 ` David Miller
@ 2013-02-11 22:55 ` Eric Dumazet
1 sibling, 0 replies; 3+ messages in thread
From: Eric Dumazet @ 2013-02-11 22:55 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: David Miller, netdev
On Mon, 2013-02-11 at 10:22 -0800, Stephen Hemminger wrote:
> Spanning Tree Protocol packets should have always been marked as
> control packets, this causes them to get queued in the high prirority
> FIFO. As Radia Perlman mentioned in her LCA talk, STP dies if bridge
> gets overloaded and can't communicate. This is a long-standing bug back
> to the first versions of Linux bridge.
>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
>
> ---
> Please consider adding to stable as well.
>
> --- a/net/bridge/br_stp_bpdu.c 2013-01-16 09:47:00.599539375 -0800
> +++ b/net/bridge/br_stp_bpdu.c 2013-02-11 08:13:56.315979316 -0800
> @@ -16,6 +16,7 @@
> #include <linux/etherdevice.h>
> #include <linux/llc.h>
> #include <linux/slab.h>
> +#include <linux/pkt_sched.h>
> #include <net/net_namespace.h>
> #include <net/llc.h>
> #include <net/llc_pdu.h>
> @@ -40,6 +41,7 @@ static void br_send_bpdu(struct net_brid
>
> skb->dev = p->dev;
> skb->protocol = htons(ETH_P_802_2);
> + skb->priority = TC_PRIO_CONTROL;
>
> skb_reserve(skb, LLC_RESERVE);
> memcpy(__skb_put(skb, length), data, length);
> --
I wonder if we should not use the same for ARP packets, as some bonding
modes depend on them as well.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-02-11 22:55 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-11 18:22 [PATCH] bridge: set priority of STP packets Stephen Hemminger
2013-02-11 19:18 ` David Miller
2013-02-11 22:55 ` Eric Dumazet
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox