br_fdb.c (3f890923182aeebc572f3818dd51c9014827e0ec) | br_fdb.c (9cf637473c8535b5abe27fee79254c2d552e042a) |
---|---|
1/* 2 * Forwarding database 3 * Linux ethernet bridge 4 * 5 * Authors: 6 * Lennert Buytenhek <buytenh@gnu.org> 7 * 8 * $Id: br_fdb.c,v 1.6 2002/01/17 00:57:07 davem Exp $ --- 121 unchanged lines hidden (view full) --- 130 fdb_delete(f); 131 } 132 } 133 spin_unlock_bh(&br->hash_lock); 134 135 mod_timer(&br->gc_timer, jiffies + HZ/10); 136} 137 | 1/* 2 * Forwarding database 3 * Linux ethernet bridge 4 * 5 * Authors: 6 * Lennert Buytenhek <buytenh@gnu.org> 7 * 8 * $Id: br_fdb.c,v 1.6 2002/01/17 00:57:07 davem Exp $ --- 121 unchanged lines hidden (view full) --- 130 fdb_delete(f); 131 } 132 } 133 spin_unlock_bh(&br->hash_lock); 134 135 mod_timer(&br->gc_timer, jiffies + HZ/10); 136} 137 |
138/* Completely flush all dynamic entries in forwarding database.*/ 139void br_fdb_flush(struct net_bridge *br) 140{ 141 int i; |
|
138 | 142 |
143 spin_lock_bh(&br->hash_lock); 144 for (i = 0; i < BR_HASH_SIZE; i++) { 145 struct net_bridge_fdb_entry *f; 146 struct hlist_node *h, *n; 147 hlist_for_each_entry_safe(f, h, n, &br->hash[i], hlist) { 148 if (!f->is_static) 149 fdb_delete(f); 150 } 151 } 152 spin_unlock_bh(&br->hash_lock); 153} 154 155/* Flush all entries refering to a specific port. 156 * if do_all is set also flush static entries 157 */ |
|
139void br_fdb_delete_by_port(struct net_bridge *br, 140 const struct net_bridge_port *p, 141 int do_all) 142{ 143 int i; 144 145 spin_lock_bh(&br->hash_lock); 146 for (i = 0; i < BR_HASH_SIZE; i++) { --- 232 unchanged lines hidden --- | 158void br_fdb_delete_by_port(struct net_bridge *br, 159 const struct net_bridge_port *p, 160 int do_all) 161{ 162 int i; 163 164 spin_lock_bh(&br->hash_lock); 165 for (i = 0; i < BR_HASH_SIZE; i++) { --- 232 unchanged lines hidden --- |