Lines Matching refs:vrf
409 struct net_vrf *vrf = netdev_priv(vrf_dev); in vrf_ip6_out_redirect() local
415 rt6 = rcu_dereference(vrf->rt6); in vrf_ip6_out_redirect()
484 static void vrf_rt6_release(struct net_device *dev, struct net_vrf *vrf) in vrf_rt6_release() argument
486 struct rt6_info *rt6 = rtnl_dereference(vrf->rt6); in vrf_rt6_release()
490 RCU_INIT_POINTER(vrf->rt6, NULL); in vrf_rt6_release()
508 struct net_vrf *vrf = netdev_priv(dev); in vrf_rt6_create() local
517 vrf->fib6_table = fib6_new_table(net, vrf->tb_id); in vrf_rt6_create()
518 if (!vrf->fib6_table) in vrf_rt6_create()
528 rcu_assign_pointer(vrf->rt6, rt6); in vrf_rt6_create()
542 static void vrf_rt6_release(struct net_device *dev, struct net_vrf *vrf) in vrf_rt6_release() argument
620 struct net_vrf *vrf = netdev_priv(vrf_dev); in vrf_ip_out_redirect() local
626 rth = rcu_dereference(vrf->rth); in vrf_ip_out_redirect()
712 static void vrf_rtable_release(struct net_device *dev, struct net_vrf *vrf) in vrf_rtable_release() argument
714 struct rtable *rth = rtnl_dereference(vrf->rth); in vrf_rtable_release()
718 RCU_INIT_POINTER(vrf->rth, NULL); in vrf_rtable_release()
735 struct net_vrf *vrf = netdev_priv(dev); in vrf_rtable_create() local
738 if (!fib_new_table(dev_net(dev), vrf->tb_id)) in vrf_rtable_create()
748 rcu_assign_pointer(vrf->rth, rth); in vrf_rtable_create()
837 struct net_vrf *vrf = netdev_priv(dev); in vrf_dev_uninit() local
839 vrf_rtable_release(dev, vrf); in vrf_dev_uninit()
840 vrf_rt6_release(dev, vrf); in vrf_dev_uninit()
848 struct net_vrf *vrf = netdev_priv(dev); in vrf_dev_init() local
871 vrf_rtable_release(dev, vrf); in vrf_dev_init()
891 struct net_vrf *vrf = netdev_priv(dev); in vrf_fib_table() local
893 return vrf->tb_id; in vrf_fib_table()
956 struct net_vrf *vrf = netdev_priv(dev); in vrf_ip6_route_lookup() local
958 return ip6_pol_route(net, vrf->fib6_table, ifindex, fl6, skb, flags); in vrf_ip6_route_lookup()
1326 struct net_vrf *vrf = netdev_priv(dev); in vrf_newlink() local
1336 vrf->tb_id = nla_get_u32(data[IFLA_VRF_TABLE]); in vrf_newlink()
1337 if (vrf->tb_id == RT_TABLE_UNSPEC) { in vrf_newlink()
1372 struct net_vrf *vrf = netdev_priv(dev); in vrf_fillinfo() local
1374 return nla_put_u32(skb, IFLA_VRF_TABLE, vrf->tb_id); in vrf_fillinfo()
1387 struct net_vrf *vrf = netdev_priv(vrf_dev); in vrf_fill_slave_info() local
1389 if (nla_put_u32(skb, IFLA_VRF_PORT_TABLE, vrf->tb_id)) in vrf_fill_slave_info()