Lines Matching defs:sitn
104 struct sit_net *sitn = net_generic(net, sit_net_id);
107 for_each_ip_tunnel_rcu(t, sitn->tunnels_r_l[h0 ^ h1]) {
115 for_each_ip_tunnel_rcu(t, sitn->tunnels_r[h0]) {
122 for_each_ip_tunnel_rcu(t, sitn->tunnels_l[h1]) {
129 t = rcu_dereference(sitn->tunnels_wc[0]);
135 static struct ip_tunnel __rcu **__ipip6_bucket(struct sit_net *sitn,
151 return &sitn->tunnels[prio][h];
154 static inline struct ip_tunnel __rcu **ipip6_bucket(struct sit_net *sitn,
157 return __ipip6_bucket(sitn, &t->parms);
160 static void ipip6_tunnel_unlink(struct sit_net *sitn, struct ip_tunnel *t)
165 for (tp = ipip6_bucket(sitn, t);
175 static void ipip6_tunnel_link(struct sit_net *sitn, struct ip_tunnel *t)
177 struct ip_tunnel __rcu **tp = ipip6_bucket(sitn, t);
183 static void ipip6_tunnel_clone_6rd(struct net_device *dev, struct sit_net *sitn)
188 if (dev == sitn->fb_tunnel_dev || !sitn->fb_tunnel_dev) {
194 struct ip_tunnel *t0 = netdev_priv(sitn->fb_tunnel_dev);
204 struct sit_net *sitn = net_generic(net, sit_net_id);
219 ipip6_tunnel_clone_6rd(dev, sitn);
221 ipip6_tunnel_link(sitn, t);
237 struct sit_net *sitn = net_generic(net, sit_net_id);
239 for (tp = __ipip6_bucket(sitn, parms);
513 struct sit_net *sitn = net_generic(tunnel->net, sit_net_id);
515 if (dev == sitn->fb_tunnel_dev) {
516 RCU_INIT_POINTER(sitn->tunnels_wc[0], NULL);
518 ipip6_tunnel_unlink(sitn, tunnel);
1142 struct sit_net *sitn = net_generic(net, sit_net_id);
1144 ipip6_tunnel_unlink(sitn, t);
1150 ipip6_tunnel_link(sitn, t);
1471 struct sit_net *sitn = net_generic(net, sit_net_id);
1478 rcu_assign_pointer(sitn->tunnels_wc[0], tunnel);
1609 struct sit_net *sitn = net_generic(net, sit_net_id);
1616 if (dev == sitn->fb_tunnel_dev)
1761 struct sit_net *sitn = net_generic(net, sit_net_id);
1763 if (dev != sitn->fb_tunnel_dev)
1805 struct sit_net *sitn = net_generic(net, sit_net_id);
1818 t = rtnl_dereference(sitn->tunnels[prio][h]);
1834 struct sit_net *sitn = net_generic(net, sit_net_id);
1838 sitn->tunnels[0] = sitn->tunnels_wc;
1839 sitn->tunnels[1] = sitn->tunnels_l;
1840 sitn->tunnels[2] = sitn->tunnels_r;
1841 sitn->tunnels[3] = sitn->tunnels_r_l;
1846 sitn->fb_tunnel_dev = alloc_netdev(sizeof(struct ip_tunnel), "sit0",
1849 if (!sitn->fb_tunnel_dev) {
1853 dev_net_set(sitn->fb_tunnel_dev, net);
1854 sitn->fb_tunnel_dev->rtnl_link_ops = &sit_link_ops;
1858 sitn->fb_tunnel_dev->features |= NETIF_F_NETNS_LOCAL;
1860 err = register_netdev(sitn->fb_tunnel_dev);
1864 ipip6_tunnel_clone_6rd(sitn->fb_tunnel_dev, sitn);
1865 ipip6_fb_tunnel_init(sitn->fb_tunnel_dev);
1867 t = netdev_priv(sitn->fb_tunnel_dev);
1869 strcpy(t->parms.name, sitn->fb_tunnel_dev->name);
1873 free_netdev(sitn->fb_tunnel_dev);