aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordavem <davem>2002-01-17 00:57:07 +0000
committerdavem <davem>2002-01-17 00:57:07 +0000
commit5bf0309971dd6a105c4e57392c2b03d0a8cd3a0a (patch)
treea29fc3fd7c7fbb28f361294732ca915b7846a840
parent4dd458db8fe96cf9c4de7127d121fc4881b52249 (diff)
downloadnetdev-vger-cvs-5bf0309971dd6a105c4e57392c2b03d0a8cd3a0a.tar.gz
Same MAC on multiple interfaces is legal.
From Lennert Buytenhek.
-rw-r--r--net/bridge/br_fdb.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/bridge/br_fdb.c b/net/bridge/br_fdb.c
index 83f714f1c..ab9d39beb 100644
--- a/net/bridge/br_fdb.c
+++ b/net/bridge/br_fdb.c
@@ -5,7 +5,7 @@
* Authors:
* Lennert Buytenhek <buytenh@gnu.org>
*
- * $Id: br_fdb.c,v 1.5 2000-11-08 05:16:40 davem Exp $
+ * $Id: br_fdb.c,v 1.6 2002-01-17 00:57:07 davem Exp $
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -292,7 +292,8 @@ void br_fdb_insert(struct net_bridge *br,
write_lock_bh(&br->hash_lock);
fdb = br->hash[hash];
while (fdb != NULL) {
- if (!memcmp(fdb->addr.addr, addr, ETH_ALEN)) {
+ if (!fdb->is_local &&
+ !memcmp(fdb->addr.addr, addr, ETH_ALEN)) {
__fdb_possibly_replace(fdb, source, is_local);
write_unlock_bh(&br->hash_lock);
return;