Lines Matching refs:iph
109 struct iphdr *iph; in tcf_nat_act() local
136 if (!pskb_may_pull(skb, sizeof(*iph) + noff)) in tcf_nat_act()
139 iph = ip_hdr(skb); in tcf_nat_act()
142 addr = iph->saddr; in tcf_nat_act()
144 addr = iph->daddr; in tcf_nat_act()
147 if (skb_try_make_writable(skb, sizeof(*iph) + noff)) in tcf_nat_act()
154 iph = ip_hdr(skb); in tcf_nat_act()
156 iph->saddr = new_addr; in tcf_nat_act()
158 iph->daddr = new_addr; in tcf_nat_act()
160 csum_replace4(&iph->check, addr, new_addr); in tcf_nat_act()
161 } else if ((iph->frag_off & htons(IP_OFFSET)) || in tcf_nat_act()
162 iph->protocol != IPPROTO_ICMP) { in tcf_nat_act()
166 ihl = iph->ihl * 4; in tcf_nat_act()
169 switch (iph->frag_off & htons(IP_OFFSET) ? 0 : iph->protocol) { in tcf_nat_act()
214 if (!pskb_may_pull(skb, ihl + sizeof(*icmph) + sizeof(*iph) + in tcf_nat_act()
219 iph = (void *)(icmph + 1); in tcf_nat_act()
221 addr = iph->daddr; in tcf_nat_act()
223 addr = iph->saddr; in tcf_nat_act()
229 sizeof(*iph) + noff)) in tcf_nat_act()
233 iph = (void *)(icmph + 1); in tcf_nat_act()
240 iph->daddr = new_addr; in tcf_nat_act()
242 iph->saddr = new_addr; in tcf_nat_act()