Displaying 3 results from an estimated 3 matches for "br_vepa_mod".
Did you mean:
br_vepa_mode
2009 Jun 15
1
[Bridge] [PATCH][RFC] net/bridge: add basic VEPA support
...t_bridge_port *source,
fdb = fdb_find(head, addr);
if (likely(fdb)) {
+ /*
+ * If we are a VEPA and the source port is the uplink,
+ * this could be a reflected packet, so don't learn any
+ * addresses that already are in the fdb but on other ports
+ */
+ if ((br->flags & BR_VEPA_MODE) && br->uplink == source &&
+ fdb->dst != br->uplink)
+ return;
+
/* attempt to update an entry for a local interface */
if (unlikely(fdb->is_local)) {
if (net_ratelimit())
@@ -415,3 +424,16 @@ void br_fdb_update(struct net_bridge *br, struct net_bridge...
2009 Jun 15
1
[Bridge] [PATCH][RFC] net/bridge: add basic VEPA support
...t_bridge_port *source,
fdb = fdb_find(head, addr);
if (likely(fdb)) {
+ /*
+ * If we are a VEPA and the source port is the uplink,
+ * this could be a reflected packet, so don't learn any
+ * addresses that already are in the fdb but on other ports
+ */
+ if ((br->flags & BR_VEPA_MODE) && br->uplink == source &&
+ fdb->dst != br->uplink)
+ return;
+
/* attempt to update an entry for a local interface */
if (unlikely(fdb->is_local)) {
if (net_ratelimit())
@@ -415,3 +424,16 @@ void br_fdb_update(struct net_bridge *br, struct net_bridge...
2009 Jun 15
1
[Bridge] [PATCH][RFC] net/bridge: add basic VEPA support
...t_bridge_port *source,
fdb = fdb_find(head, addr);
if (likely(fdb)) {
+ /*
+ * If we are a VEPA and the source port is the uplink,
+ * this could be a reflected packet, so don't learn any
+ * addresses that already are in the fdb but on other ports
+ */
+ if ((br->flags & BR_VEPA_MODE) && br->uplink == source &&
+ fdb->dst != br->uplink)
+ return;
+
/* attempt to update an entry for a local interface */
if (unlikely(fdb->is_local)) {
if (net_ratelimit())
@@ -415,3 +424,16 @@ void br_fdb_update(struct net_bridge *br, struct net_bridge...