Lines Matching refs:f

134 static void fdb_del_external_learn(struct net_bridge_fdb_entry *f)  in fdb_del_external_learn()  argument
141 .vid = f->vlan_id, in fdb_del_external_learn()
144 ether_addr_copy(fdb.addr, f->addr.addr); in fdb_del_external_learn()
145 switchdev_port_obj_del(f->dst->dev, &fdb.obj); in fdb_del_external_learn()
148 static void fdb_delete(struct net_bridge *br, struct net_bridge_fdb_entry *f) in fdb_delete() argument
150 if (f->is_static) in fdb_delete()
151 fdb_del_hw_addr(br, f->addr.addr); in fdb_delete()
153 if (f->added_by_external_learn) in fdb_delete()
154 fdb_del_external_learn(f); in fdb_delete()
156 hlist_del_rcu(&f->hlist); in fdb_delete()
157 fdb_notify(br, f, RTM_DELNEIGH); in fdb_delete()
158 call_rcu(&f->rcu, fdb_rcu_free); in fdb_delete()
164 struct net_bridge_fdb_entry *f) in fdb_delete_local() argument
166 const unsigned char *addr = f->addr.addr; in fdb_delete_local()
170 u16 vid = f->vlan_id; in fdb_delete_local()
177 f->dst = op; in fdb_delete_local()
178 f->added_by_user = 0; in fdb_delete_local()
188 f->dst = NULL; in fdb_delete_local()
189 f->added_by_user = 0; in fdb_delete_local()
193 fdb_delete(br, f); in fdb_delete_local()
201 struct net_bridge_fdb_entry *f; in br_fdb_find_delete_local() local
204 f = fdb_find(head, addr, vid); in br_fdb_find_delete_local()
205 if (f && f->is_local && !f->added_by_user && f->dst == p) in br_fdb_find_delete_local()
206 fdb_delete_local(br, p, f); in br_fdb_find_delete_local()
224 struct net_bridge_fdb_entry *f; in br_fdb_changeaddr() local
226 f = hlist_entry(h, struct net_bridge_fdb_entry, hlist); in br_fdb_changeaddr()
227 if (f->dst == p && f->is_local && !f->added_by_user) { in br_fdb_changeaddr()
229 fdb_delete_local(br, p, f); in br_fdb_changeaddr()
262 struct net_bridge_fdb_entry *f; in br_fdb_change_mac_address() local
268 f = __br_fdb_get(br, br->dev->dev_addr, 0); in br_fdb_change_mac_address()
269 if (f && f->is_local && !f->dst) in br_fdb_change_mac_address()
270 fdb_delete_local(br, NULL, f); in br_fdb_change_mac_address()
283 f = __br_fdb_get(br, br->dev->dev_addr, v->vid); in br_fdb_change_mac_address()
284 if (f && f->is_local && !f->dst) in br_fdb_change_mac_address()
285 fdb_delete_local(br, NULL, f); in br_fdb_change_mac_address()
301 struct net_bridge_fdb_entry *f; in br_fdb_cleanup() local
304 hlist_for_each_entry_safe(f, n, &br->hash[i], hlist) { in br_fdb_cleanup()
306 if (f->is_static) in br_fdb_cleanup()
308 if (f->added_by_external_learn) in br_fdb_cleanup()
310 this_timer = f->updated + delay; in br_fdb_cleanup()
312 fdb_delete(br, f); in br_fdb_cleanup()
329 struct net_bridge_fdb_entry *f; in br_fdb_flush() local
331 hlist_for_each_entry_safe(f, n, &br->hash[i], hlist) { in br_fdb_flush()
332 if (!f->is_static) in br_fdb_flush()
333 fdb_delete(br, f); in br_fdb_flush()
355 struct net_bridge_fdb_entry *f in br_fdb_delete_by_port() local
357 if (f->dst != p) in br_fdb_delete_by_port()
361 if (f->is_static || (vid && f->vlan_id != vid)) in br_fdb_delete_by_port()
364 if (f->is_local) in br_fdb_delete_by_port()
365 fdb_delete_local(br, p, f); in br_fdb_delete_by_port()
367 fdb_delete(br, f); in br_fdb_delete_by_port()
426 struct net_bridge_fdb_entry *f; in br_fdb_fillbuf() local
432 hlist_for_each_entry_rcu(f, &br->hash[i], hlist) { in br_fdb_fillbuf()
436 if (has_expired(br, f)) in br_fdb_fillbuf()
440 if (!f->dst) in br_fdb_fillbuf()
449 memcpy(fe->mac_addr, f->addr.addr, ETH_ALEN); in br_fdb_fillbuf()
452 fe->port_no = f->dst->port_no; in br_fdb_fillbuf()
453 fe->port_hi = f->dst->port_no >> 8; in br_fdb_fillbuf()
455 fe->is_local = f->is_local; in br_fdb_fillbuf()
456 if (!f->is_static) in br_fdb_fillbuf()
457 fe->ageing_timer_value = jiffies_delta_to_clock_t(jiffies - f->updated); in br_fdb_fillbuf()
724 struct net_bridge_fdb_entry *f; in br_fdb_dump() local
726 hlist_for_each_entry_rcu(f, &br->hash[i], hlist) { in br_fdb_dump()
731 (!f->dst || f->dst->dev != filter_dev)) { in br_fdb_dump()
739 if (f->dst) in br_fdb_dump()
742 if (!filter_dev && f->dst) in br_fdb_dump()
745 if (fdb_fill_info(skb, br, f, in br_fdb_dump()