Lines Matching refs:iph
120 struct iphdr *iph; in tcf_nat_act() local
145 if (!pskb_may_pull(skb, sizeof(*iph) + noff)) in tcf_nat_act()
148 iph = ip_hdr(skb); in tcf_nat_act()
151 addr = iph->saddr; in tcf_nat_act()
153 addr = iph->daddr; in tcf_nat_act()
156 if (skb_try_make_writable(skb, sizeof(*iph) + noff)) in tcf_nat_act()
163 iph = ip_hdr(skb); in tcf_nat_act()
165 iph->saddr = new_addr; in tcf_nat_act()
167 iph->daddr = new_addr; in tcf_nat_act()
169 csum_replace4(&iph->check, addr, new_addr); in tcf_nat_act()
170 } else if ((iph->frag_off & htons(IP_OFFSET)) || in tcf_nat_act()
171 iph->protocol != IPPROTO_ICMP) { in tcf_nat_act()
175 ihl = iph->ihl * 4; in tcf_nat_act()
178 switch (iph->frag_off & htons(IP_OFFSET) ? 0 : iph->protocol) { in tcf_nat_act()
221 if (!pskb_may_pull(skb, ihl + sizeof(*icmph) + sizeof(*iph) + in tcf_nat_act()
226 iph = (void *)(icmph + 1); in tcf_nat_act()
228 addr = iph->daddr; in tcf_nat_act()
230 addr = iph->saddr; in tcf_nat_act()
236 sizeof(*iph) + noff)) in tcf_nat_act()
240 iph = (void *)(icmph + 1); in tcf_nat_act()
247 iph->daddr = new_addr; in tcf_nat_act()
249 iph->saddr = new_addr; in tcf_nat_act()