Lines Matching refs:vrf
401 struct net_vrf *vrf = netdev_priv(vrf_dev); in vrf_ip6_out_redirect() local
407 rt6 = rcu_dereference(vrf->rt6); in vrf_ip6_out_redirect()
476 static void vrf_rt6_release(struct net_device *dev, struct net_vrf *vrf) in vrf_rt6_release() argument
478 struct rt6_info *rt6 = rtnl_dereference(vrf->rt6); in vrf_rt6_release()
482 RCU_INIT_POINTER(vrf->rt6, NULL); in vrf_rt6_release()
500 struct net_vrf *vrf = netdev_priv(dev); in vrf_rt6_create() local
509 vrf->fib6_table = fib6_new_table(net, vrf->tb_id); in vrf_rt6_create()
510 if (!vrf->fib6_table) in vrf_rt6_create()
520 rcu_assign_pointer(vrf->rt6, rt6); in vrf_rt6_create()
534 static void vrf_rt6_release(struct net_device *dev, struct net_vrf *vrf) in vrf_rt6_release() argument
614 struct net_vrf *vrf = netdev_priv(vrf_dev); in vrf_ip_out_redirect() local
620 rth = rcu_dereference(vrf->rth); in vrf_ip_out_redirect()
706 static void vrf_rtable_release(struct net_device *dev, struct net_vrf *vrf) in vrf_rtable_release() argument
708 struct rtable *rth = rtnl_dereference(vrf->rth); in vrf_rtable_release()
712 RCU_INIT_POINTER(vrf->rth, NULL); in vrf_rtable_release()
729 struct net_vrf *vrf = netdev_priv(dev); in vrf_rtable_create() local
732 if (!fib_new_table(dev_net(dev), vrf->tb_id)) in vrf_rtable_create()
742 rcu_assign_pointer(vrf->rth, rth); in vrf_rtable_create()
830 struct net_vrf *vrf = netdev_priv(dev); in vrf_dev_uninit() local
832 vrf_rtable_release(dev, vrf); in vrf_dev_uninit()
833 vrf_rt6_release(dev, vrf); in vrf_dev_uninit()
841 struct net_vrf *vrf = netdev_priv(dev); in vrf_dev_init() local
865 vrf_rtable_release(dev, vrf); in vrf_dev_init()
884 struct net_vrf *vrf = netdev_priv(dev); in vrf_fib_table() local
886 return vrf->tb_id; in vrf_fib_table()
949 struct net_vrf *vrf = netdev_priv(dev); in vrf_ip6_route_lookup() local
951 return ip6_pol_route(net, vrf->fib6_table, ifindex, fl6, skb, flags); in vrf_ip6_route_lookup()
1298 struct net_vrf *vrf = netdev_priv(dev); in vrf_newlink() local
1308 vrf->tb_id = nla_get_u32(data[IFLA_VRF_TABLE]); in vrf_newlink()
1309 if (vrf->tb_id == RT_TABLE_UNSPEC) { in vrf_newlink()
1344 struct net_vrf *vrf = netdev_priv(dev); in vrf_fillinfo() local
1346 return nla_put_u32(skb, IFLA_VRF_TABLE, vrf->tb_id); in vrf_fillinfo()
1359 struct net_vrf *vrf = netdev_priv(vrf_dev); in vrf_fill_slave_info() local
1361 if (nla_put_u32(skb, IFLA_VRF_PORT_TABLE, vrf->tb_id)) in vrf_fill_slave_info()