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 ---