All of lore.kernel.org
 help / color / mirror / Atom feed
* [Bridge] [PATCH 1/2] bridge: relay bridge multicast pkgs if !STP
@ 2009-05-15 16:10 ` Stephen Hemminger
  0 siblings, 0 replies; 8+ messages in thread
From: Stephen Hemminger @ 2009-05-15 16:10 UTC (permalink / raw)
  To: David Miller, bridge, netdev

Currently the bridge catches all STP packets; even if STP is turned
off.  This prevents other systems (which do have STP turned on)
from being able to detect loops in the network.

With this patch, if STP is off, then any packet sent to the STP
multicast group address is forwarded to all ports.

Based on earlier patch by Joakim Tjernlund with changes
to go through forwarding (not local chain), and optimization
that only last octet needs to be checked.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

---
Please put in for 2.6.30 because it is a bug fix.

--- a/net/bridge/br_input.c	2009-05-14 14:50:29.288882708 -0700
+++ b/net/bridge/br_input.c	2009-05-15 09:01:31.799417662 -0700
@@ -134,6 +134,10 @@ struct sk_buff *br_handle_frame(struct n
 		if (skb->protocol == htons(ETH_P_PAUSE))
 			goto drop;
 
+		/* If STP is turned off, then forward */
+		if (p->br->stp_enabled == BR_NO_STP && dest[5] == 0)
+			goto forward;
+
 		if (NF_HOOK(PF_BRIDGE, NF_BR_LOCAL_IN, skb, skb->dev,
 			    NULL, br_handle_local_finish))
 			return NULL;	/* frame consumed by filter */
@@ -141,6 +145,7 @@ struct sk_buff *br_handle_frame(struct n
 			return skb;	/* continue processing */
 	}
 
+forward:
 	switch (p->state) {
 	case BR_STATE_FORWARDING:
 		rhook = rcu_dereference(br_should_route_hook);

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

end of thread, other threads:[~2009-05-18  4:13 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-15 16:10 [Bridge] [PATCH 1/2] bridge: relay bridge multicast pkgs if !STP Stephen Hemminger
2009-05-15 16:10 ` Stephen Hemminger
2009-05-15 16:11 ` [Bridge] [PATCH 2/2] bridge: fix initial packet flood " Stephen Hemminger
2009-05-15 16:11   ` Stephen Hemminger
2009-05-18  4:13   ` [Bridge] " David Miller
2009-05-18  4:13     ` David Miller
2009-05-18  4:13 ` [Bridge] [PATCH 1/2] bridge: relay bridge multicast pkgs " David Miller
2009-05-18  4:13   ` David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.