Displaying 8 results from an estimated 8 matches for "br_state_learning".
2007 Apr 18
0
[Bridge] [PATCH] (4/6) bridge: prevent bad forwarding table updates
...d spoofing */
+	br_fdb_update(p->br, p, eth_hdr(skb)->h_source);
+
 	if (br->dev->flags & IFF_PROMISC) {
 		struct sk_buff *skb2;
 
@@ -108,8 +111,7 @@ int br_handle_frame(struct net_bridge_po
 	if (!is_valid_ether_addr(eth_hdr(skb)->h_source))
 		goto err;
 
-	if (p->state == BR_STATE_LEARNING ||
-	    p->state == BR_STATE_FORWARDING)
+	if (p->state == BR_STATE_LEARNING)
 		br_fdb_update(p->br, p, eth_hdr(skb)->h_source);
 
 	if (p->br->stp_enabled &&
Index: bridge/net/bridge/br_stp_bpdu.c
===================================================================
--- b...
2007 Apr 18
1
[Bridge] Bridge port states
Hi all,
Can anyone explain me why we need all this per port state information. A 
bridge port seems to be either in BR_STATE_LISTENING, BR_STATE_LEARNING 
or BR_STATE_FORWARDING. I don't get it, thought the bridge is learning 
from MAC addresses of the received packets, therefore while listening. 
Why a bridge port distinquishes these states?
Thanx,
Patrick
2007 Apr 18
0
[Bridge] Bridging with STP seems to learn mac-address on wrong ports
...rnel 2.6.11.12 and 2.6.13.2, and both exhibit
this problem.
The following fix solved it for me on 2.6.11.12:
In net/bridge/br_stp_bpdu.c, in function br_stp_handle_bpdu i changed
         br_fdb_insert(p->br, p, eth_hdr(skb)->h_source,0);
to
         if (!br->stp_enabled || p->state == BR_STATE_LEARNING
             || p->state == BR_STATE_FORWARDING)
             br_fdb_insert(p->br, p, eth_hdr(skb)->h_source, 0);
/B
2009 Jun 15
1
[Bridge] [PATCH][RFC] net/bridge: add basic VEPA support
...+	/*
+	 * If we are a VEPA, and the receiving port is not the uplink we
+	 * simply want to send this frame to the uplink (after learning)
+	 */
+	if ((br->flags & BR_VEPA_MODE) && p != br->uplink) {
+		br_vepa_deliver(br->uplink, skb);
+		goto out;
+	}
+
 	if (p->state == BR_STATE_LEARNING)
 		goto drop;
 
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h
index b6c3b71..0c7ee4c 100644
--- a/net/bridge/br_private.h
+++ b/net/bridge/br_private.h
@@ -82,6 +82,9 @@ struct net_bridge_port
 	struct timer_list		message_age_timer;
 	struct kobject			kobj;
 	struct rcu_head			rcu...
2009 Jun 15
1
[Bridge] [PATCH][RFC] net/bridge: add basic VEPA support
...+	/*
+	 * If we are a VEPA, and the receiving port is not the uplink we
+	 * simply want to send this frame to the uplink (after learning)
+	 */
+	if ((br->flags & BR_VEPA_MODE) && p != br->uplink) {
+		br_vepa_deliver(br->uplink, skb);
+		goto out;
+	}
+
 	if (p->state == BR_STATE_LEARNING)
 		goto drop;
 
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h
index b6c3b71..0c7ee4c 100644
--- a/net/bridge/br_private.h
+++ b/net/bridge/br_private.h
@@ -82,6 +82,9 @@ struct net_bridge_port
 	struct timer_list		message_age_timer;
 	struct kobject			kobj;
 	struct rcu_head			rcu...
2009 Jun 15
1
[Bridge] [PATCH][RFC] net/bridge: add basic VEPA support
...+	/*
+	 * If we are a VEPA, and the receiving port is not the uplink we
+	 * simply want to send this frame to the uplink (after learning)
+	 */
+	if ((br->flags & BR_VEPA_MODE) && p != br->uplink) {
+		br_vepa_deliver(br->uplink, skb);
+		goto out;
+	}
+
 	if (p->state == BR_STATE_LEARNING)
 		goto drop;
 
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h
index b6c3b71..0c7ee4c 100644
--- a/net/bridge/br_private.h
+++ b/net/bridge/br_private.h
@@ -82,6 +82,9 @@ struct net_bridge_port
 	struct timer_list		message_age_timer;
 	struct kobject			kobj;
 	struct rcu_head			rcu...
2007 Aug 23
3
[Bridge] bridge problem when one interface is in blocking mode
Hi,
We have a simple bridge setup but the ping (and other
network traffic) does not work reliably. After tracing
the code, it looks like a software bug. Since bridge
software is been running by thousands of people. I
guess I am wrong.  Anyway, here is the problem.
There are 2 boxes and each one has 2 interfaces, 1
ethernet and 1 wifi. STP is enabled for the bridge to
avoid the loop. So the box 1
2007 Apr 18
5
[Bridge] RFC: [PATCH] bridge vlan integration
...ev = br->dev;
 
+	if (br_vlan_output_frame(&skb, br->vlan.untagged))
+		return;
+
 	NF_HOOK(PF_BRIDGE, NF_BR_LOCAL_IN, skb, indev, NULL,
 		netif_receive_skb);
 }
@@ -136,6 +144,10 @@ int br_handle_frame(struct net_bridge_po
 	}
 
 	if (p->state == BR_STATE_FORWARDING || p->state == BR_STATE_LEARNING) {
+		if (br_vlan_input_frame(skb, &p->vlan)) {
+			return 1;
+		}
+
 		if (br_should_route_hook) {
 			if (br_should_route_hook(pskb)) 
 				return 0;
Index: wireless-dev/net/bridge/br_ioctl.c
===================================================================
--- wireless-dev.orig/net/brid...