Lines Matching refs:iph

265 	const struct iphdr *iph;  in ipgre_err()  local
304 iph = (const struct iphdr *)(icmp_hdr(skb) + 1); in ipgre_err()
306 iph->daddr, iph->saddr, tpi->key); in ipgre_err()
311 if (t->parms.iph.daddr == 0 || in ipgre_err()
312 ipv4_is_multicast(t->parms.iph.daddr)) in ipgre_err()
315 if (t->parms.iph.ttl == 0 && type == ICMP_TIME_EXCEEDED) in ipgre_err()
389 const struct iphdr *iph; in ipgre_rcv() local
397 iph = ip_hdr(skb); in ipgre_rcv()
399 iph->saddr, iph->daddr, tpi->key); in ipgre_rcv()
629 tnl_params = &tunnel->parms.iph; in ipgre_xmit()
663 __gre_xmit(skb, dev, &tunnel->parms.iph, htons(ETH_P_TEB)); in gre_tap_xmit()
682 if (p.iph.version != 4 || p.iph.protocol != IPPROTO_GRE || in ipgre_tunnel_ioctl()
683 p.iph.ihl != 5 || (p.iph.frag_off&htons(~IP_DF)) || in ipgre_tunnel_ioctl()
734 struct iphdr *iph; in ipgre_header() local
737 iph = (struct iphdr *)skb_push(skb, t->hlen + sizeof(*iph)); in ipgre_header()
738 greh = (struct gre_base_hdr *)(iph+1); in ipgre_header()
742 memcpy(iph, &t->parms.iph, sizeof(struct iphdr)); in ipgre_header()
746 memcpy(&iph->saddr, saddr, 4); in ipgre_header()
748 memcpy(&iph->daddr, daddr, 4); in ipgre_header()
749 if (iph->daddr) in ipgre_header()
750 return t->hlen + sizeof(*iph); in ipgre_header()
752 return -(t->hlen + sizeof(*iph)); in ipgre_header()
757 const struct iphdr *iph = (const struct iphdr *) skb_mac_header(skb); in ipgre_header_parse() local
758 memcpy(haddr, &iph->saddr, 4); in ipgre_header_parse()
772 if (ipv4_is_multicast(t->parms.iph.daddr)) { in ipgre_open()
777 t->parms.iph.daddr, in ipgre_open()
778 t->parms.iph.saddr, in ipgre_open()
780 RT_TOS(t->parms.iph.tos), in ipgre_open()
789 ip_mc_inc_group(__in_dev_get_rtnl(dev), t->parms.iph.daddr); in ipgre_open()
798 if (ipv4_is_multicast(t->parms.iph.daddr) && t->mlink) { in ipgre_close()
802 ip_mc_dec_group(in_dev, t->parms.iph.daddr); in ipgre_close()
841 tunnel->parms.iph.protocol = IPPROTO_GRE; in __gre_tunnel_init()
867 struct iphdr *iph = &tunnel->parms.iph; in ipgre_tunnel_init() local
871 memcpy(dev->dev_addr, &iph->saddr, 4); in ipgre_tunnel_init()
872 memcpy(dev->broadcast, &iph->daddr, 4); in ipgre_tunnel_init()
878 if (iph->daddr) { in ipgre_tunnel_init()
880 if (ipv4_is_multicast(iph->daddr)) { in ipgre_tunnel_init()
881 if (!iph->saddr) in ipgre_tunnel_init()
965 parms->iph.protocol = IPPROTO_GRE; in ipgre_netlink_parms()
986 parms->iph.saddr = nla_get_in_addr(data[IFLA_GRE_LOCAL]); in ipgre_netlink_parms()
989 parms->iph.daddr = nla_get_in_addr(data[IFLA_GRE_REMOTE]); in ipgre_netlink_parms()
992 parms->iph.ttl = nla_get_u8(data[IFLA_GRE_TTL]); in ipgre_netlink_parms()
995 parms->iph.tos = nla_get_u8(data[IFLA_GRE_TOS]); in ipgre_netlink_parms()
998 parms->iph.frag_off = htons(IP_DF); in ipgre_netlink_parms()
1151 nla_put_in_addr(skb, IFLA_GRE_LOCAL, p->iph.saddr) || in ipgre_fill_info()
1152 nla_put_in_addr(skb, IFLA_GRE_REMOTE, p->iph.daddr) || in ipgre_fill_info()
1153 nla_put_u8(skb, IFLA_GRE_TTL, p->iph.ttl) || in ipgre_fill_info()
1154 nla_put_u8(skb, IFLA_GRE_TOS, p->iph.tos) || in ipgre_fill_info()
1156 !!(p->iph.frag_off & htons(IP_DF)))) in ipgre_fill_info()