Lines Matching defs:ip6n
94 struct vti6_net *ip6n = net_generic(net, vti6_net_id);
97 for_each_vti6_tunnel_rcu(ip6n->tnls_r_l[hash]) {
106 for_each_vti6_tunnel_rcu(ip6n->tnls_r_l[hash]) {
113 for_each_vti6_tunnel_rcu(ip6n->tnls_r_l[hash]) {
119 t = rcu_dereference(ip6n->tnls_wc[0]);
128 * @ip6n: the private data for ip6_vti in the netns
138 vti6_tnl_bucket(struct vti6_net *ip6n, const struct __ip6_tnl_parm *p)
149 return &ip6n->tnls[prio][h];
153 vti6_tnl_link(struct vti6_net *ip6n, struct ip6_tnl *t)
155 struct ip6_tnl __rcu **tp = vti6_tnl_bucket(ip6n, &t->parms);
162 vti6_tnl_unlink(struct vti6_net *ip6n, struct ip6_tnl *t)
167 for (tp = vti6_tnl_bucket(ip6n, &t->parms);
186 struct vti6_net *ip6n = net_generic(net, vti6_net_id);
196 vti6_tnl_link(ip6n, t);
262 struct vti6_net *ip6n = net_generic(net, vti6_net_id);
264 for (tp = vti6_tnl_bucket(ip6n, p);
290 struct vti6_net *ip6n = net_generic(t->net, vti6_net_id);
292 if (dev == ip6n->fb_tnl_dev)
293 RCU_INIT_POINTER(ip6n->tnls_wc[0], NULL);
295 vti6_tnl_unlink(ip6n, t);
730 struct vti6_net *ip6n = net_generic(net, vti6_net_id);
733 vti6_tnl_unlink(ip6n, t);
736 vti6_tnl_link(ip6n, t);
807 struct vti6_net *ip6n = net_generic(net, vti6_net_id);
813 if (dev == ip6n->fb_tnl_dev) {
842 if (dev != ip6n->fb_tnl_dev && cmd == SIOCCHGTUNNEL) {
867 if (dev == ip6n->fb_tnl_dev) {
877 if (t->dev == ip6n->fb_tnl_dev)
966 struct vti6_net *ip6n = net_generic(net, vti6_net_id);
970 rcu_assign_pointer(ip6n->tnls_wc[0], t);
1028 struct vti6_net *ip6n = net_generic(net, vti6_net_id);
1030 if (dev != ip6n->fb_tnl_dev)
1041 struct vti6_net *ip6n = net_generic(net, vti6_net_id);
1043 if (dev == ip6n->fb_tnl_dev)
1119 static void __net_exit vti6_destroy_tunnels(struct vti6_net *ip6n,
1126 t = rtnl_dereference(ip6n->tnls_r_l[h]);
1133 t = rtnl_dereference(ip6n->tnls_wc[0]);
1140 struct vti6_net *ip6n = net_generic(net, vti6_net_id);
1144 ip6n->tnls[0] = ip6n->tnls_wc;
1145 ip6n->tnls[1] = ip6n->tnls_r_l;
1150 ip6n->fb_tnl_dev = alloc_netdev(sizeof(struct ip6_tnl), "ip6_vti0",
1153 if (!ip6n->fb_tnl_dev)
1155 dev_net_set(ip6n->fb_tnl_dev, net);
1156 ip6n->fb_tnl_dev->rtnl_link_ops = &vti6_link_ops;
1158 err = vti6_fb_tnl_dev_init(ip6n->fb_tnl_dev);
1162 err = register_netdev(ip6n->fb_tnl_dev);
1166 t = netdev_priv(ip6n->fb_tnl_dev);
1168 strcpy(t->parms.name, ip6n->fb_tnl_dev->name);
1172 free_netdev(ip6n->fb_tnl_dev);
1179 struct vti6_net *ip6n;
1185 ip6n = net_generic(net, vti6_net_id);
1186 vti6_destroy_tunnels(ip6n, &list);