Lines Matching refs:iph

141 	const struct iphdr *iph;  in ipgre_err()  local
154 iph = (const struct iphdr *)(icmp_hdr(skb) + 1); in ipgre_err()
156 iph->daddr, iph->saddr, tpi->key); in ipgre_err()
197 if (!ip6_err_gen_icmpv6_unreach(skb, iph->ihl * 4 + tpi->hdr_len, in ipgre_err()
203 if (t->parms.iph.daddr == 0 || in ipgre_err()
204 ipv4_is_multicast(t->parms.iph.daddr)) in ipgre_err()
207 if (t->parms.iph.ttl == 0 && type == ICMP_TIME_EXCEEDED) in ipgre_err()
235 const struct iphdr *iph = (struct iphdr *)skb->data; in gre_err() local
241 iph->ihl * 4) < 0) in gre_err()
276 const struct iphdr *iph; in erspan_rcv() local
284 iph = ip_hdr(skb); in erspan_rcv()
289 iph->saddr, iph->daddr, 0); in erspan_rcv()
297 iph = ip_hdr(skb); in erspan_rcv()
300 iph->saddr, iph->daddr, tpi->key); in erspan_rcv()
368 const struct iphdr *iph; in __ipgre_rcv() local
371 iph = ip_hdr(skb); in __ipgre_rcv()
373 iph->saddr, iph->daddr, tpi->key); in __ipgre_rcv()
390 tnl_params = &tunnel->parms.iph; in __ipgre_rcv()
685 tnl_params = &tunnel->parms.iph; in ipgre_xmit()
747 __gre_xmit(skb, dev, &tunnel->parms.iph, proto); in erspan_xmit()
776 __gre_xmit(skb, dev, &tunnel->parms.iph, htons(ETH_P_TEB)); in gre_tap_xmit()
829 if (p->iph.version != 4 || p->iph.protocol != IPPROTO_GRE || in ipgre_tunnel_ctl()
830 p->iph.ihl != 5 || (p->iph.frag_off & htons(~IP_DF)) || in ipgre_tunnel_ctl()
892 struct iphdr *iph; in ipgre_header() local
895 iph = skb_push(skb, t->hlen + sizeof(*iph)); in ipgre_header()
896 greh = (struct gre_base_hdr *)(iph+1); in ipgre_header()
900 memcpy(iph, &t->parms.iph, sizeof(struct iphdr)); in ipgre_header()
904 memcpy(&iph->saddr, saddr, 4); in ipgre_header()
906 memcpy(&iph->daddr, daddr, 4); in ipgre_header()
907 if (iph->daddr) in ipgre_header()
908 return t->hlen + sizeof(*iph); in ipgre_header()
910 return -(t->hlen + sizeof(*iph)); in ipgre_header()
915 const struct iphdr *iph = (const struct iphdr *) skb_mac_header(skb); in ipgre_header_parse() local
916 memcpy(haddr, &iph->saddr, 4); in ipgre_header_parse()
930 if (ipv4_is_multicast(t->parms.iph.daddr)) { in ipgre_open()
933 .flowi4_tos = inet_dscp_to_dsfield(ip4h_dscp(&t->parms.iph)), in ipgre_open()
936 .saddr = t->parms.iph.saddr, in ipgre_open()
937 .daddr = t->parms.iph.daddr, in ipgre_open()
950 ip_mc_inc_group(__in_dev_get_rtnl(dev), t->parms.iph.daddr); in ipgre_open()
959 if (ipv4_is_multicast(t->parms.iph.daddr) && t->mlink) { in ipgre_close()
963 ip_mc_dec_group(in_dev, t->parms.iph.daddr); in ipgre_close()
1002 tunnel->parms.iph.protocol = IPPROTO_GRE; in __gre_tunnel_init()
1005 dev->needed_headroom = tunnel->hlen + sizeof(tunnel->parms.iph); in __gre_tunnel_init()
1028 struct iphdr *iph = &tunnel->parms.iph; in ipgre_tunnel_init() local
1032 __dev_addr_set(dev, &iph->saddr, 4); in ipgre_tunnel_init()
1033 memcpy(dev->broadcast, &iph->daddr, 4); in ipgre_tunnel_init()
1039 if (iph->daddr && !tunnel->collect_md) { in ipgre_tunnel_init()
1041 if (ipv4_is_multicast(iph->daddr)) { in ipgre_tunnel_init()
1042 if (!iph->saddr) in ipgre_tunnel_init()
1046 dev->hard_header_len = tunnel->hlen + sizeof(*iph); in ipgre_tunnel_init()
1052 dev->hard_header_len = tunnel->hlen + sizeof(*iph); in ipgre_tunnel_init()
1181 parms->iph.protocol = IPPROTO_GRE; in ipgre_netlink_parms()
1204 parms->iph.saddr = nla_get_in_addr(data[IFLA_GRE_LOCAL]); in ipgre_netlink_parms()
1207 parms->iph.daddr = nla_get_in_addr(data[IFLA_GRE_REMOTE]); in ipgre_netlink_parms()
1210 parms->iph.ttl = nla_get_u8(data[IFLA_GRE_TTL]); in ipgre_netlink_parms()
1213 parms->iph.tos = nla_get_u8(data[IFLA_GRE_TOS]); in ipgre_netlink_parms()
1218 parms->iph.frag_off = htons(IP_DF); in ipgre_netlink_parms()
1229 && (parms->iph.frag_off & htons(IP_DF))) in ipgre_netlink_parms()
1348 tunnel->parms.iph.protocol = IPPROTO_GRE; in erspan_tunnel_init()
1559 nla_put_in_addr(skb, IFLA_GRE_LOCAL, p->iph.saddr) || in ipgre_fill_info()
1560 nla_put_in_addr(skb, IFLA_GRE_REMOTE, p->iph.daddr) || in ipgre_fill_info()
1561 nla_put_u8(skb, IFLA_GRE_TTL, p->iph.ttl) || in ipgre_fill_info()
1562 nla_put_u8(skb, IFLA_GRE_TOS, p->iph.tos) || in ipgre_fill_info()
1564 !!(p->iph.frag_off & htons(IP_DF))) || in ipgre_fill_info()