Lines Matching refs:iph
143 const struct iphdr *iph; in ipgre_err() local
181 iph = (const struct iphdr *)(icmp_hdr(skb) + 1); in ipgre_err()
183 iph->daddr, iph->saddr, tpi->key); in ipgre_err()
188 if (t->parms.iph.daddr == 0 || in ipgre_err()
189 ipv4_is_multicast(t->parms.iph.daddr)) in ipgre_err()
192 if (t->parms.iph.ttl == 0 && type == ICMP_TIME_EXCEEDED) in ipgre_err()
207 const struct iphdr *iph; in ipgre_rcv() local
215 iph = ip_hdr(skb); in ipgre_rcv()
217 iph->saddr, iph->daddr, tpi->key); in ipgre_rcv()
272 tnl_params = &tunnel->parms.iph; in ipgre_xmit()
302 __gre_xmit(skb, dev, &tunnel->parms.iph, htons(ETH_P_TEB)); in gre_tap_xmit()
322 if (p.iph.version != 4 || p.iph.protocol != IPPROTO_GRE || in ipgre_tunnel_ioctl()
323 p.iph.ihl != 5 || (p.iph.frag_off&htons(~IP_DF)) || in ipgre_tunnel_ioctl()
374 struct iphdr *iph; in ipgre_header() local
377 iph = (struct iphdr *)skb_push(skb, t->hlen + sizeof(*iph)); in ipgre_header()
378 greh = (struct gre_base_hdr *)(iph+1); in ipgre_header()
382 memcpy(iph, &t->parms.iph, sizeof(struct iphdr)); in ipgre_header()
386 memcpy(&iph->saddr, saddr, 4); in ipgre_header()
388 memcpy(&iph->daddr, daddr, 4); in ipgre_header()
389 if (iph->daddr) in ipgre_header()
390 return t->hlen + sizeof(*iph); in ipgre_header()
392 return -(t->hlen + sizeof(*iph)); in ipgre_header()
397 const struct iphdr *iph = (const struct iphdr *) skb_mac_header(skb); in ipgre_header_parse() local
398 memcpy(haddr, &iph->saddr, 4); in ipgre_header_parse()
412 if (ipv4_is_multicast(t->parms.iph.daddr)) { in ipgre_open()
417 t->parms.iph.daddr, in ipgre_open()
418 t->parms.iph.saddr, in ipgre_open()
420 RT_TOS(t->parms.iph.tos), in ipgre_open()
429 ip_mc_inc_group(__in_dev_get_rtnl(dev), t->parms.iph.daddr); in ipgre_open()
438 if (ipv4_is_multicast(t->parms.iph.daddr) && t->mlink) { in ipgre_close()
442 ip_mc_dec_group(in_dev, t->parms.iph.daddr); in ipgre_close()
481 tunnel->parms.iph.protocol = IPPROTO_GRE; in __gre_tunnel_init()
507 struct iphdr *iph = &tunnel->parms.iph; in ipgre_tunnel_init() local
511 memcpy(dev->dev_addr, &iph->saddr, 4); in ipgre_tunnel_init()
512 memcpy(dev->broadcast, &iph->daddr, 4); in ipgre_tunnel_init()
518 if (iph->daddr) { in ipgre_tunnel_init()
520 if (ipv4_is_multicast(iph->daddr)) { in ipgre_tunnel_init()
521 if (!iph->saddr) in ipgre_tunnel_init()
604 parms->iph.protocol = IPPROTO_GRE; in ipgre_netlink_parms()
625 parms->iph.saddr = nla_get_in_addr(data[IFLA_GRE_LOCAL]); in ipgre_netlink_parms()
628 parms->iph.daddr = nla_get_in_addr(data[IFLA_GRE_REMOTE]); in ipgre_netlink_parms()
631 parms->iph.ttl = nla_get_u8(data[IFLA_GRE_TTL]); in ipgre_netlink_parms()
634 parms->iph.tos = nla_get_u8(data[IFLA_GRE_TOS]); in ipgre_netlink_parms()
637 parms->iph.frag_off = htons(IP_DF); in ipgre_netlink_parms()
781 nla_put_in_addr(skb, IFLA_GRE_LOCAL, p->iph.saddr) || in ipgre_fill_info()
782 nla_put_in_addr(skb, IFLA_GRE_REMOTE, p->iph.daddr) || in ipgre_fill_info()
783 nla_put_u8(skb, IFLA_GRE_TTL, p->iph.ttl) || in ipgre_fill_info()
784 nla_put_u8(skb, IFLA_GRE_TOS, p->iph.tos) || in ipgre_fill_info()
786 !!(p->iph.frag_off & htons(IP_DF)))) in ipgre_fill_info()