Lines Matching refs:fdb

157 			  const struct vxlan_fdb *fdb,  in vxlan_fdb_info()  argument
180 nh = rcu_dereference(fdb->nh); in vxlan_fdb_info()
194 send_eth = !is_zero_ether_addr(fdb->key.eth_addr); in vxlan_fdb_info()
197 ndm->ndm_state = fdb->state; in vxlan_fdb_info()
199 ndm->ndm_flags = fdb->flags; in vxlan_fdb_info()
209 if (send_eth && nla_put(skb, NDA_LLADDR, ETH_ALEN, &fdb->key.eth_addr)) in vxlan_fdb_info()
231 if ((vxlan->cfg.flags & VXLAN_F_COLLECT_METADATA) && fdb->key.vni && in vxlan_fdb_info()
233 be32_to_cpu(fdb->key.vni))) in vxlan_fdb_info()
236 ci.ndm_used = jiffies_to_clock_t(now - READ_ONCE(fdb->used)); in vxlan_fdb_info()
238 ci.ndm_updated = jiffies_to_clock_t(now - READ_ONCE(fdb->updated)); in vxlan_fdb_info()
264 static void __vxlan_fdb_notify(struct vxlan_dev *vxlan, struct vxlan_fdb *fdb, in __vxlan_fdb_notify() argument
275 err = vxlan_fdb_info(skb, vxlan, fdb, 0, 0, type, 0, rd); in __vxlan_fdb_notify()
290 const struct vxlan_fdb *fdb, in vxlan_fdb_switchdev_notifier_info() argument
301 memcpy(fdb_info->eth_addr, fdb->key.eth_addr, ETH_ALEN); in vxlan_fdb_switchdev_notifier_info()
302 fdb_info->vni = fdb->key.vni; in vxlan_fdb_switchdev_notifier_info()
304 fdb_info->added_by_user = fdb->flags & NTF_VXLAN_ADDED_BY_USER; in vxlan_fdb_switchdev_notifier_info()
308 struct vxlan_fdb *fdb, in vxlan_fdb_switchdev_call_notifiers() argument
322 vxlan_fdb_switchdev_notifier_info(vxlan, fdb, rd, NULL, &info); in vxlan_fdb_switchdev_call_notifiers()
328 static int vxlan_fdb_notify(struct vxlan_dev *vxlan, struct vxlan_fdb *fdb, in vxlan_fdb_notify() argument
337 err = vxlan_fdb_switchdev_call_notifiers(vxlan, fdb, rd, in vxlan_fdb_notify()
343 vxlan_fdb_switchdev_call_notifiers(vxlan, fdb, rd, in vxlan_fdb_notify()
349 __vxlan_fdb_notify(vxlan, fdb, rd, type); in vxlan_fdb_notify()
793 static int vxlan_fdb_nh_update(struct vxlan_dev *vxlan, struct vxlan_fdb *fdb, in vxlan_fdb_nh_update() argument
796 struct nexthop *old_nh = rtnl_dereference(fdb->nh); in vxlan_fdb_nh_update()
842 list_del_rcu(&fdb->nh_list); in vxlan_fdb_nh_update()
845 rcu_assign_pointer(fdb->nh, nh); in vxlan_fdb_nh_update()
846 list_add_tail_rcu(&fdb->nh_list, &nh->fdb_list); in vxlan_fdb_nh_update()
859 u32 nhid, struct vxlan_fdb **fdb, in vxlan_fdb_create() argument
890 *fdb = f; in vxlan_fdb_create()
4852 struct vxlan_fdb *fdb; in vxlan_fdb_nh_flush() local
4856 list_for_each_entry_rcu(fdb, &nh->fdb_list, nh_list) { in vxlan_fdb_nh_flush()
4857 vxlan = rcu_dereference(fdb->vdev); in vxlan_fdb_nh_flush()
4860 if (!hlist_unhashed(&fdb->fdb_node)) in vxlan_fdb_nh_flush()
4861 vxlan_fdb_destroy(vxlan, fdb, false, false); in vxlan_fdb_nh_flush()