Lines Matching refs:parms

95 		if (local != t->parms.iph.saddr ||  in ip_tunnel_lookup()
96 remote != t->parms.iph.daddr || in ip_tunnel_lookup()
100 if (!ip_tunnel_key_match(&t->parms, flags, key)) in ip_tunnel_lookup()
103 if (READ_ONCE(t->parms.link) == link) in ip_tunnel_lookup()
109 if (remote != t->parms.iph.daddr || in ip_tunnel_lookup()
110 t->parms.iph.saddr != 0 || in ip_tunnel_lookup()
114 if (!ip_tunnel_key_match(&t->parms, flags, key)) in ip_tunnel_lookup()
117 if (READ_ONCE(t->parms.link) == link) in ip_tunnel_lookup()
127 if ((local != t->parms.iph.saddr || t->parms.iph.daddr != 0) && in ip_tunnel_lookup()
128 (local != t->parms.iph.daddr || !ipv4_is_multicast(local))) in ip_tunnel_lookup()
134 if (!ip_tunnel_key_match(&t->parms, flags, key)) in ip_tunnel_lookup()
137 if (READ_ONCE(t->parms.link) == link) in ip_tunnel_lookup()
145 t->parms.i_key != key) || in ip_tunnel_lookup()
146 t->parms.iph.saddr != 0 || in ip_tunnel_lookup()
147 t->parms.iph.daddr != 0 || in ip_tunnel_lookup()
151 if (READ_ONCE(t->parms.link) == link) in ip_tunnel_lookup()
173 struct ip_tunnel_parm_kern *parms) in ip_bucket() argument
177 __be32 i_key = parms->i_key; in ip_bucket()
179 if (parms->iph.daddr && !ipv4_is_multicast(parms->iph.daddr)) in ip_bucket()
180 remote = parms->iph.daddr; in ip_bucket()
184 if (!test_bit(IP_TUNNEL_KEY_BIT, parms->i_flags) && in ip_bucket()
185 test_bit(IP_TUNNEL_VTI_BIT, parms->i_flags)) in ip_bucket()
194 struct hlist_head *head = ip_bucket(itn, &t->parms); in ip_tunnel_add()
209 struct ip_tunnel_parm_kern *parms, in ip_tunnel_find() argument
212 __be32 remote = parms->iph.daddr; in ip_tunnel_find()
213 __be32 local = parms->iph.saddr; in ip_tunnel_find()
215 __be32 key = parms->i_key; in ip_tunnel_find()
216 int link = parms->link; in ip_tunnel_find()
218 struct hlist_head *head = ip_bucket(itn, parms); in ip_tunnel_find()
220 ip_tunnel_flags_copy(flags, parms->i_flags); in ip_tunnel_find()
223 if (local == t->parms.iph.saddr && in ip_tunnel_find()
224 remote == t->parms.iph.daddr && in ip_tunnel_find()
225 link == READ_ONCE(t->parms.link) && in ip_tunnel_find()
227 ip_tunnel_key_match(&t->parms, flags, key)) in ip_tunnel_find()
235 struct ip_tunnel_parm_kern *parms) in __ip_tunnel_create() argument
243 if (parms->name[0]) { in __ip_tunnel_create()
244 if (!dev_valid_name(parms->name)) in __ip_tunnel_create()
246 strscpy(name, parms->name); in __ip_tunnel_create()
265 tunnel->parms = *parms; in __ip_tunnel_create()
289 iph = &tunnel->parms.iph; in ip_tunnel_bind_dev()
297 iph->saddr, tunnel->parms.o_key, in ip_tunnel_bind_dev()
299 tunnel->parms.link, tunnel->fwmark, 0, 0); in ip_tunnel_bind_dev()
312 if (!tdev && tunnel->parms.link) in ip_tunnel_bind_dev()
313 tdev = __dev_get_by_index(tunnel->net, tunnel->parms.link); in ip_tunnel_bind_dev()
331 struct ip_tunnel_parm_kern *parms) in ip_tunnel_create() argument
339 dev = __ip_tunnel_create(net, itn->rtnl_link_ops, parms); in ip_tunnel_create()
391 if (test_bit(IP_TUNNEL_CSUM_BIT, tunnel->parms.i_flags) != in ip_tunnel_rcv()
398 if (test_bit(IP_TUNNEL_SEQ_BIT, tunnel->parms.i_flags)) { in ip_tunnel_rcv()
550 daddr = md ? dst : tunnel->parms.iph.daddr; in tnl_update_pmtu()
701 connected = (tunnel->parms.iph.daddr != 0); in ip_tunnel_xmit()
777 tunnel->parms.o_key, tos & INET_DSCP_MASK, in ip_tunnel_xmit()
778 tunnel->net, READ_ONCE(tunnel->parms.link), in ip_tunnel_xmit()
881 t->parms.iph.saddr = p->iph.saddr; in ip_tunnel_update()
882 t->parms.iph.daddr = p->iph.daddr; in ip_tunnel_update()
883 t->parms.i_key = p->i_key; in ip_tunnel_update()
884 t->parms.o_key = p->o_key; in ip_tunnel_update()
891 t->parms.iph.ttl = p->iph.ttl; in ip_tunnel_update()
892 t->parms.iph.tos = p->iph.tos; in ip_tunnel_update()
893 t->parms.iph.frag_off = p->iph.frag_off; in ip_tunnel_update()
895 if (t->parms.link != p->link || t->fwmark != fwmark) { in ip_tunnel_update()
898 WRITE_ONCE(t->parms.link, p->link); in ip_tunnel_update()
923 memcpy(p, &t->parms, sizeof(*p)); in ip_tunnel_ctl()
1132 return READ_ONCE(tunnel->parms.link); in ip_tunnel_get_iflink()
1140 struct ip_tunnel_parm_kern parms; in ip_tunnel_init_net() local
1156 memset(&parms, 0, sizeof(parms)); in ip_tunnel_init_net()
1158 strscpy(parms.name, devname, IFNAMSIZ); in ip_tunnel_init_net()
1161 itn->fb_tunnel_dev = __ip_tunnel_create(net, ops, &parms); in ip_tunnel_init_net()
1227 nt->parms = *p; in ip_tunnel_newlink()
1301 struct iphdr *iph = &tunnel->parms.iph; in ip_tunnel_init()
1319 strscpy(tunnel->parms.name, dev->name); in ip_tunnel_init()