Lines Matching refs:itn

151 struct ip_tunnel *ip_tunnel_lookup(struct ip_tunnel_net *itn,  in ip_tunnel_lookup()  argument
161 head = &itn->tunnels[hash]; in ip_tunnel_lookup()
194 head = &itn->tunnels[hash]; in ip_tunnel_lookup()
233 if (itn->fb_tunnel_dev && itn->fb_tunnel_dev->flags & IFF_UP) in ip_tunnel_lookup()
234 return netdev_priv(itn->fb_tunnel_dev); in ip_tunnel_lookup()
241 static struct hlist_head *ip_bucket(struct ip_tunnel_net *itn, in ip_bucket() argument
257 return &itn->tunnels[h]; in ip_bucket()
260 static void ip_tunnel_add(struct ip_tunnel_net *itn, struct ip_tunnel *t) in ip_tunnel_add() argument
262 struct hlist_head *head = ip_bucket(itn, &t->parms); in ip_tunnel_add()
272 static struct ip_tunnel *ip_tunnel_find(struct ip_tunnel_net *itn, in ip_tunnel_find() argument
282 struct hlist_head *head = ip_bucket(itn, parms); in ip_tunnel_find()
403 struct ip_tunnel_net *itn, in ip_tunnel_create() argument
409 BUG_ON(!itn->fb_tunnel_dev); in ip_tunnel_create()
410 dev = __ip_tunnel_create(net, itn->fb_tunnel_dev->rtnl_link_ops, parms); in ip_tunnel_create()
417 ip_tunnel_add(itn, nt); in ip_tunnel_create()
803 static void ip_tunnel_update(struct ip_tunnel_net *itn, in ip_tunnel_update() argument
818 ip_tunnel_add(itn, t); in ip_tunnel_update()
841 struct ip_tunnel_net *itn = net_generic(net, t->ip_tnl_net_id); in ip_tunnel_ioctl() local
843 BUG_ON(!itn->fb_tunnel_dev); in ip_tunnel_ioctl()
846 if (dev == itn->fb_tunnel_dev) { in ip_tunnel_ioctl()
847 t = ip_tunnel_find(itn, p, itn->fb_tunnel_dev->type); in ip_tunnel_ioctl()
868 t = ip_tunnel_find(itn, p, itn->fb_tunnel_dev->type); in ip_tunnel_ioctl()
872 t = ip_tunnel_create(net, itn, p); in ip_tunnel_ioctl()
880 if (dev != itn->fb_tunnel_dev && cmd == SIOCCHGTUNNEL) { in ip_tunnel_ioctl()
905 ip_tunnel_update(itn, t, dev, p, true); in ip_tunnel_ioctl()
916 if (dev == itn->fb_tunnel_dev) { in ip_tunnel_ioctl()
918 t = ip_tunnel_find(itn, p, itn->fb_tunnel_dev->type); in ip_tunnel_ioctl()
922 if (t == netdev_priv(itn->fb_tunnel_dev)) in ip_tunnel_ioctl()
965 struct ip_tunnel_net *itn; in ip_tunnel_dellink() local
967 itn = net_generic(tunnel->net, tunnel->ip_tnl_net_id); in ip_tunnel_dellink()
969 if (itn->fb_tunnel_dev != dev) { in ip_tunnel_dellink()
995 struct ip_tunnel_net *itn = net_generic(net, ip_tnl_net_id); in ip_tunnel_init_net() local
1000 INIT_HLIST_HEAD(&itn->tunnels[i]); in ip_tunnel_init_net()
1003 itn->fb_tunnel_dev = NULL; in ip_tunnel_init_net()
1012 itn->fb_tunnel_dev = __ip_tunnel_create(net, ops, &parms); in ip_tunnel_init_net()
1016 if (!IS_ERR(itn->fb_tunnel_dev)) { in ip_tunnel_init_net()
1017 itn->fb_tunnel_dev->features |= NETIF_F_NETNS_LOCAL; in ip_tunnel_init_net()
1018 itn->fb_tunnel_dev->mtu = ip_tunnel_bind_dev(itn->fb_tunnel_dev); in ip_tunnel_init_net()
1019 ip_tunnel_add(itn, netdev_priv(itn->fb_tunnel_dev)); in ip_tunnel_init_net()
1023 return PTR_ERR_OR_ZERO(itn->fb_tunnel_dev); in ip_tunnel_init_net()
1027 static void ip_tunnel_destroy(struct ip_tunnel_net *itn, struct list_head *head, in ip_tunnel_destroy() argument
1030 struct net *net = dev_net(itn->fb_tunnel_dev); in ip_tunnel_destroy()
1041 struct hlist_head *thead = &itn->tunnels[h]; in ip_tunnel_destroy()
1052 void ip_tunnel_delete_net(struct ip_tunnel_net *itn, struct rtnl_link_ops *ops) in ip_tunnel_delete_net() argument
1057 ip_tunnel_destroy(itn, &list, ops); in ip_tunnel_delete_net()
1068 struct ip_tunnel_net *itn; in ip_tunnel_newlink() local
1073 itn = net_generic(net, nt->ip_tnl_net_id); in ip_tunnel_newlink()
1075 if (ip_tunnel_find(itn, p, dev->type)) in ip_tunnel_newlink()
1091 ip_tunnel_add(itn, nt); in ip_tunnel_newlink()
1104 struct ip_tunnel_net *itn = net_generic(net, tunnel->ip_tnl_net_id); in ip_tunnel_changelink() local
1106 if (dev == itn->fb_tunnel_dev) in ip_tunnel_changelink()
1109 t = ip_tunnel_find(itn, p, dev->type); in ip_tunnel_changelink()
1131 ip_tunnel_update(itn, t, dev, p, !tb[IFLA_MTU]); in ip_tunnel_changelink()
1174 struct ip_tunnel_net *itn; in ip_tunnel_uninit() local
1176 itn = net_generic(net, tunnel->ip_tnl_net_id); in ip_tunnel_uninit()
1178 if (itn->fb_tunnel_dev != dev) in ip_tunnel_uninit()