Lines Matching refs:ip6n

94 	struct vti6_net *ip6n = net_generic(net, vti6_net_id);  in vti6_tnl_lookup()  local
97 for_each_vti6_tunnel_rcu(ip6n->tnls_r_l[hash]) { in vti6_tnl_lookup()
106 for_each_vti6_tunnel_rcu(ip6n->tnls_r_l[hash]) { in vti6_tnl_lookup()
113 for_each_vti6_tunnel_rcu(ip6n->tnls_r_l[hash]) { in vti6_tnl_lookup()
119 t = rcu_dereference(ip6n->tnls_wc[0]); in vti6_tnl_lookup()
137 vti6_tnl_bucket(struct vti6_net *ip6n, const struct __ip6_tnl_parm *p) in vti6_tnl_bucket() argument
148 return &ip6n->tnls[prio][h]; in vti6_tnl_bucket()
152 vti6_tnl_link(struct vti6_net *ip6n, struct ip6_tnl *t) in vti6_tnl_link() argument
154 struct ip6_tnl __rcu **tp = vti6_tnl_bucket(ip6n, &t->parms); in vti6_tnl_link()
161 vti6_tnl_unlink(struct vti6_net *ip6n, struct ip6_tnl *t) in vti6_tnl_unlink() argument
166 for (tp = vti6_tnl_bucket(ip6n, &t->parms); in vti6_tnl_unlink()
185 struct vti6_net *ip6n = net_generic(net, vti6_net_id); in vti6_tnl_create2() local
195 vti6_tnl_link(ip6n, t); in vti6_tnl_create2()
261 struct vti6_net *ip6n = net_generic(net, vti6_net_id); in vti6_locate() local
263 for (tp = vti6_tnl_bucket(ip6n, p); in vti6_locate()
289 struct vti6_net *ip6n = net_generic(t->net, vti6_net_id); in vti6_dev_uninit() local
291 if (dev == ip6n->fb_tnl_dev) in vti6_dev_uninit()
292 RCU_INIT_POINTER(ip6n->tnls_wc[0], NULL); in vti6_dev_uninit()
294 vti6_tnl_unlink(ip6n, t); in vti6_dev_uninit()
729 struct vti6_net *ip6n = net_generic(net, vti6_net_id); in vti6_update() local
732 vti6_tnl_unlink(ip6n, t); in vti6_update()
735 vti6_tnl_link(ip6n, t); in vti6_update()
805 struct vti6_net *ip6n = net_generic(net, vti6_net_id); in vti6_ioctl() local
811 if (dev == ip6n->fb_tnl_dev) { in vti6_ioctl()
840 if (dev != ip6n->fb_tnl_dev && cmd == SIOCCHGTUNNEL) { in vti6_ioctl()
865 if (dev == ip6n->fb_tnl_dev) { in vti6_ioctl()
875 if (t->dev == ip6n->fb_tnl_dev) in vti6_ioctl()
964 struct vti6_net *ip6n = net_generic(net, vti6_net_id); in vti6_fb_tnl_dev_init() local
968 rcu_assign_pointer(ip6n->tnls_wc[0], t); in vti6_fb_tnl_dev_init()
1026 struct vti6_net *ip6n = net_generic(net, vti6_net_id); in vti6_dellink() local
1028 if (dev != ip6n->fb_tnl_dev) in vti6_dellink()
1039 struct vti6_net *ip6n = net_generic(net, vti6_net_id); in vti6_changelink() local
1041 if (dev == ip6n->fb_tnl_dev) in vti6_changelink()
1117 static void __net_exit vti6_destroy_tunnels(struct vti6_net *ip6n, in vti6_destroy_tunnels() argument
1124 t = rtnl_dereference(ip6n->tnls_r_l[h]); in vti6_destroy_tunnels()
1131 t = rtnl_dereference(ip6n->tnls_wc[0]); in vti6_destroy_tunnels()
1138 struct vti6_net *ip6n = net_generic(net, vti6_net_id); in vti6_init_net() local
1142 ip6n->tnls[0] = ip6n->tnls_wc; in vti6_init_net()
1143 ip6n->tnls[1] = ip6n->tnls_r_l; in vti6_init_net()
1148 ip6n->fb_tnl_dev = alloc_netdev(sizeof(struct ip6_tnl), "ip6_vti0", in vti6_init_net()
1151 if (!ip6n->fb_tnl_dev) in vti6_init_net()
1153 dev_net_set(ip6n->fb_tnl_dev, net); in vti6_init_net()
1154 ip6n->fb_tnl_dev->rtnl_link_ops = &vti6_link_ops; in vti6_init_net()
1156 err = vti6_fb_tnl_dev_init(ip6n->fb_tnl_dev); in vti6_init_net()
1160 err = register_netdev(ip6n->fb_tnl_dev); in vti6_init_net()
1164 t = netdev_priv(ip6n->fb_tnl_dev); in vti6_init_net()
1166 strcpy(t->parms.name, ip6n->fb_tnl_dev->name); in vti6_init_net()
1170 free_netdev(ip6n->fb_tnl_dev); in vti6_init_net()
1177 struct vti6_net *ip6n; in vti6_exit_batch_net() local
1183 ip6n = net_generic(net, vti6_net_id); in vti6_exit_batch_net()
1184 vti6_destroy_tunnels(ip6n, &list); in vti6_exit_batch_net()