public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
* [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

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