Lines Matching refs:parms
129 if (!ipv6_addr_equal(local, &t->parms.laddr) || in ip6gre_tunnel_lookup()
130 !ipv6_addr_equal(remote, &t->parms.raddr) || in ip6gre_tunnel_lookup()
131 key != t->parms.i_key || in ip6gre_tunnel_lookup()
140 if (t->parms.link != link) in ip6gre_tunnel_lookup()
154 if (!ipv6_addr_equal(remote, &t->parms.raddr) || in ip6gre_tunnel_lookup()
155 key != t->parms.i_key || in ip6gre_tunnel_lookup()
164 if (t->parms.link != link) in ip6gre_tunnel_lookup()
178 if ((!ipv6_addr_equal(local, &t->parms.laddr) && in ip6gre_tunnel_lookup()
179 (!ipv6_addr_equal(local, &t->parms.raddr) || in ip6gre_tunnel_lookup()
181 key != t->parms.i_key || in ip6gre_tunnel_lookup()
190 if (t->parms.link != link) in ip6gre_tunnel_lookup()
204 if (t->parms.i_key != key || in ip6gre_tunnel_lookup()
213 if (t->parms.link != link) in ip6gre_tunnel_lookup()
257 return __ip6gre_bucket(ign, &t->parms); in ip6gre_bucket()
284 const struct __ip6_tnl_parm *parms, in ip6gre_tunnel_find() argument
287 const struct in6_addr *remote = &parms->raddr; in ip6gre_tunnel_find()
288 const struct in6_addr *local = &parms->laddr; in ip6gre_tunnel_find()
289 __be32 key = parms->i_key; in ip6gre_tunnel_find()
290 int link = parms->link; in ip6gre_tunnel_find()
295 for (tp = __ip6gre_bucket(ign, parms); in ip6gre_tunnel_find()
298 if (ipv6_addr_equal(local, &t->parms.laddr) && in ip6gre_tunnel_find()
299 ipv6_addr_equal(remote, &t->parms.raddr) && in ip6gre_tunnel_find()
300 key == t->parms.i_key && in ip6gre_tunnel_find()
301 link == t->parms.link && in ip6gre_tunnel_find()
309 const struct __ip6_tnl_parm *parms, int create) in ip6gre_tunnel_locate() argument
316 t = ip6gre_tunnel_find(net, parms, ARPHRD_IP6GRE); in ip6gre_tunnel_locate()
322 if (parms->name[0]) { in ip6gre_tunnel_locate()
323 if (!dev_valid_name(parms->name)) in ip6gre_tunnel_locate()
325 strlcpy(name, parms->name, IFNAMSIZ); in ip6gre_tunnel_locate()
337 nt->parms = *parms; in ip6gre_tunnel_locate()
349 if (!(nt->parms.o_flags & TUNNEL_SEQ)) in ip6gre_tunnel_locate()
413 t->parms.name); in ip6gre_err()
420 t->parms.name); in ip6gre_err()
433 t->parms.name); in ip6gre_err()
437 t->parms.name); in ip6gre_err()
523 fl6->daddr = tunnel->parms.raddr; in __gre6_xmit()
525 if (tunnel->parms.o_flags & TUNNEL_SEQ) in __gre6_xmit()
530 gre_build_header(skb, tunnel->tun_hlen, tunnel->parms.o_flags, in __gre6_xmit()
531 protocol, tunnel->parms.o_key, htonl(tunnel->o_seqno)); in __gre6_xmit()
553 if (!(t->parms.flags & IP6_TNL_F_IGN_ENCAP_LIMIT)) in ip6gre_xmit_ipv4()
554 encap_limit = t->parms.encap_limit; in ip6gre_xmit_ipv4()
558 if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS) in ip6gre_xmit_ipv4()
561 dsfield = ip6_tclass(t->parms.flowinfo); in ip6gre_xmit_ipv4()
562 if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK) in ip6gre_xmit_ipv4()
567 err = gre_handle_offloads(skb, !!(t->parms.o_flags & TUNNEL_CSUM)); in ip6gre_xmit_ipv4()
595 if (ipv6_addr_equal(&t->parms.raddr, &ipv6h->saddr)) in ip6gre_xmit_ipv6()
611 } else if (!(t->parms.flags & IP6_TNL_F_IGN_ENCAP_LIMIT)) in ip6gre_xmit_ipv6()
612 encap_limit = t->parms.encap_limit; in ip6gre_xmit_ipv6()
616 if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS) in ip6gre_xmit_ipv6()
619 dsfield = ip6_tclass(t->parms.flowinfo); in ip6gre_xmit_ipv6()
621 if (t->parms.flags & IP6_TNL_F_USE_ORIG_FLOWLABEL) in ip6gre_xmit_ipv6()
623 if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK) in ip6gre_xmit_ipv6()
628 if (gre_handle_offloads(skb, !!(t->parms.o_flags & TUNNEL_CSUM))) in ip6gre_xmit_ipv6()
659 return ipv6_addr_equal(&t->parms.raddr, &hdr->saddr); in ip6gre_tnl_addr_conflict()
670 if (!(t->parms.flags & IP6_TNL_F_IGN_ENCAP_LIMIT)) in ip6gre_xmit_other()
671 encap_limit = t->parms.encap_limit; in ip6gre_xmit_other()
675 err = gre_handle_offloads(skb, !!(t->parms.o_flags & TUNNEL_CSUM)); in ip6gre_xmit_other()
691 if (!ip6_tnl_xmit_ctl(t, &t->parms.laddr, &t->parms.raddr)) in ip6gre_tunnel_xmit()
721 struct __ip6_tnl_parm *p = &t->parms; in ip6gre_tnl_link_config()
751 t->tun_hlen = gre_calc_hlen(t->parms.o_flags); in ip6gre_tnl_link_config()
774 if (!(t->parms.flags & IP6_TNL_F_IGN_ENCAP_LIMIT)) in ip6gre_tnl_link_config()
790 t->parms.laddr = p->laddr; in ip6gre_tnl_change()
791 t->parms.raddr = p->raddr; in ip6gre_tnl_change()
792 t->parms.flags = p->flags; in ip6gre_tnl_change()
793 t->parms.hop_limit = p->hop_limit; in ip6gre_tnl_change()
794 t->parms.encap_limit = p->encap_limit; in ip6gre_tnl_change()
795 t->parms.flowinfo = p->flowinfo; in ip6gre_tnl_change()
796 t->parms.link = p->link; in ip6gre_tnl_change()
797 t->parms.proto = p->proto; in ip6gre_tnl_change()
798 t->parms.i_key = p->i_key; in ip6gre_tnl_change()
799 t->parms.o_key = p->o_key; in ip6gre_tnl_change()
800 t->parms.i_flags = p->i_flags; in ip6gre_tnl_change()
801 t->parms.o_flags = p->o_flags; in ip6gre_tnl_change()
867 ip6gre_tnl_parm_to_user(&p, &t->parms); in ip6gre_tunnel_ioctl()
915 ip6gre_tnl_parm_to_user(&p, &t->parms); in ip6gre_tunnel_ioctl()
965 ipv6h->hop_limit = t->parms.hop_limit; in ip6gre_header()
967 ipv6h->saddr = t->parms.laddr; in ip6gre_header()
968 ipv6h->daddr = t->parms.raddr; in ip6gre_header()
971 p[0] = t->parms.o_flags; in ip6gre_header()
1033 strcpy(tunnel->parms.name, dev->name); in ip6gre_tunnel_init_common()
1046 tunnel->tun_hlen = gre_calc_hlen(tunnel->parms.o_flags); in ip6gre_tunnel_init_common()
1054 if (!(tunnel->parms.flags & IP6_TNL_F_IGN_ENCAP_LIMIT)) in ip6gre_tunnel_init_common()
1071 memcpy(dev->dev_addr, &tunnel->parms.laddr, sizeof(struct in6_addr)); in ip6gre_tunnel_init()
1072 memcpy(dev->broadcast, &tunnel->parms.raddr, sizeof(struct in6_addr)); in ip6gre_tunnel_init()
1074 if (ipv6_addr_any(&tunnel->parms.raddr)) in ip6gre_tunnel_init()
1086 strcpy(tunnel->parms.name, dev->name); in ip6gre_fb_tunnel_init()
1228 struct __ip6_tnl_parm *parms) in ip6gre_netlink_parms() argument
1230 memset(parms, 0, sizeof(*parms)); in ip6gre_netlink_parms()
1236 parms->link = nla_get_u32(data[IFLA_GRE_LINK]); in ip6gre_netlink_parms()
1239 parms->i_flags = gre_flags_to_tnl_flags( in ip6gre_netlink_parms()
1243 parms->o_flags = gre_flags_to_tnl_flags( in ip6gre_netlink_parms()
1247 parms->i_key = nla_get_be32(data[IFLA_GRE_IKEY]); in ip6gre_netlink_parms()
1250 parms->o_key = nla_get_be32(data[IFLA_GRE_OKEY]); in ip6gre_netlink_parms()
1253 parms->laddr = nla_get_in6_addr(data[IFLA_GRE_LOCAL]); in ip6gre_netlink_parms()
1256 parms->raddr = nla_get_in6_addr(data[IFLA_GRE_REMOTE]); in ip6gre_netlink_parms()
1259 parms->hop_limit = nla_get_u8(data[IFLA_GRE_TTL]); in ip6gre_netlink_parms()
1262 parms->encap_limit = nla_get_u8(data[IFLA_GRE_ENCAP_LIMIT]); in ip6gre_netlink_parms()
1265 parms->flowinfo = nla_get_be32(data[IFLA_GRE_FLOWINFO]); in ip6gre_netlink_parms()
1268 parms->flags = nla_get_u32(data[IFLA_GRE_FLAGS]); in ip6gre_netlink_parms()
1365 ip6gre_netlink_parms(data, &nt->parms); in ip6gre_newlink()
1367 if (ip6gre_tunnel_find(net, &nt->parms, dev->type)) in ip6gre_newlink()
1379 if (!(nt->parms.o_flags & TUNNEL_SEQ)) { in ip6gre_newlink()
1384 if (!(nt->parms.o_flags & TUNNEL_CSUM) || in ip6gre_newlink()
1496 struct __ip6_tnl_parm *p = &t->parms; in ip6gre_fill_info()