Lines Matching refs:ip6n

97 	struct vti6_net *ip6n = net_generic(net, vti6_net_id);  in vti6_tnl_lookup()  local
100 for_each_vti6_tunnel_rcu(ip6n->tnls_r_l[hash]) { in vti6_tnl_lookup()
109 for_each_vti6_tunnel_rcu(ip6n->tnls_r_l[hash]) { in vti6_tnl_lookup()
116 for_each_vti6_tunnel_rcu(ip6n->tnls_r_l[hash]) { in vti6_tnl_lookup()
122 t = rcu_dereference(ip6n->tnls_wc[0]); in vti6_tnl_lookup()
140 vti6_tnl_bucket(struct vti6_net *ip6n, const struct __ip6_tnl_parm *p) in vti6_tnl_bucket() argument
151 return &ip6n->tnls[prio][h]; in vti6_tnl_bucket()
155 vti6_tnl_link(struct vti6_net *ip6n, struct ip6_tnl *t) in vti6_tnl_link() argument
157 struct ip6_tnl __rcu **tp = vti6_tnl_bucket(ip6n, &t->parms); in vti6_tnl_link()
164 vti6_tnl_unlink(struct vti6_net *ip6n, struct ip6_tnl *t) in vti6_tnl_unlink() argument
169 for (tp = vti6_tnl_bucket(ip6n, &t->parms); in vti6_tnl_unlink()
189 struct vti6_net *ip6n = net_generic(net, vti6_net_id); in vti6_tnl_create2() local
200 vti6_tnl_link(ip6n, t); in vti6_tnl_create2()
263 struct vti6_net *ip6n = net_generic(net, vti6_net_id); in vti6_locate() local
265 for (tp = vti6_tnl_bucket(ip6n, p); in vti6_locate()
291 struct vti6_net *ip6n = net_generic(t->net, vti6_net_id); in vti6_dev_uninit() local
293 if (dev == ip6n->fb_tnl_dev) in vti6_dev_uninit()
294 RCU_INIT_POINTER(ip6n->tnls_wc[0], NULL); in vti6_dev_uninit()
296 vti6_tnl_unlink(ip6n, t); in vti6_dev_uninit()
651 struct vti6_net *ip6n = net_generic(net, vti6_net_id); in vti6_update() local
654 vti6_tnl_unlink(ip6n, t); in vti6_update()
657 vti6_tnl_link(ip6n, t); in vti6_update()
723 struct vti6_net *ip6n = net_generic(net, vti6_net_id); in vti6_ioctl() local
727 if (dev == ip6n->fb_tnl_dev) { in vti6_ioctl()
756 if (dev != ip6n->fb_tnl_dev && cmd == SIOCCHGTUNNEL) { in vti6_ioctl()
781 if (dev == ip6n->fb_tnl_dev) { in vti6_ioctl()
791 if (t->dev == ip6n->fb_tnl_dev) in vti6_ioctl()
893 struct vti6_net *ip6n = net_generic(net, vti6_net_id); in vti6_fb_tnl_dev_init() local
898 rcu_assign_pointer(ip6n->tnls_wc[0], t); in vti6_fb_tnl_dev_init()
951 struct vti6_net *ip6n = net_generic(net, vti6_net_id); in vti6_dellink() local
953 if (dev != ip6n->fb_tnl_dev) in vti6_dellink()
963 struct vti6_net *ip6n = net_generic(net, vti6_net_id); in vti6_changelink() local
965 if (dev == ip6n->fb_tnl_dev) in vti6_changelink()
1037 static void __net_exit vti6_destroy_tunnels(struct vti6_net *ip6n) in vti6_destroy_tunnels() argument
1044 t = rtnl_dereference(ip6n->tnls_r_l[h]); in vti6_destroy_tunnels()
1051 t = rtnl_dereference(ip6n->tnls_wc[0]); in vti6_destroy_tunnels()
1058 struct vti6_net *ip6n = net_generic(net, vti6_net_id); in vti6_init_net() local
1062 ip6n->tnls[0] = ip6n->tnls_wc; in vti6_init_net()
1063 ip6n->tnls[1] = ip6n->tnls_r_l; in vti6_init_net()
1066 ip6n->fb_tnl_dev = alloc_netdev(sizeof(struct ip6_tnl), "ip6_vti0", in vti6_init_net()
1069 if (!ip6n->fb_tnl_dev) in vti6_init_net()
1071 dev_net_set(ip6n->fb_tnl_dev, net); in vti6_init_net()
1072 ip6n->fb_tnl_dev->rtnl_link_ops = &vti6_link_ops; in vti6_init_net()
1074 err = vti6_fb_tnl_dev_init(ip6n->fb_tnl_dev); in vti6_init_net()
1078 err = register_netdev(ip6n->fb_tnl_dev); in vti6_init_net()
1082 t = netdev_priv(ip6n->fb_tnl_dev); in vti6_init_net()
1084 strcpy(t->parms.name, ip6n->fb_tnl_dev->name); in vti6_init_net()
1088 vti6_dev_free(ip6n->fb_tnl_dev); in vti6_init_net()
1095 struct vti6_net *ip6n = net_generic(net, vti6_net_id); in vti6_exit_net() local
1098 vti6_destroy_tunnels(ip6n); in vti6_exit_net()