Lines Matching defs:iph
93 void ip_send_check(struct iphdr *iph)
95 iph->check = 0;
96 iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl);
102 struct iphdr *iph = ip_hdr(skb);
104 iph_set_totlen(iph, skb->len);
105 ip_send_check(iph);
154 struct iphdr *iph;
159 iph = ip_hdr(skb);
160 iph->version = 4;
161 iph->ihl = 5;
162 iph->tos = tos;
163 iph->ttl = ip_select_ttl(inet, &rt->dst);
164 iph->daddr = (opt && opt->opt.srr ? opt->opt.faddr : daddr);
165 iph->saddr = saddr;
166 iph->protocol = sk->sk_protocol;
169 iph->frag_off = htons(IP_DF);
170 iph->id = 0;
172 iph->frag_off = 0;
177 iph->id = (__force __be16)get_random_u16();
179 __ip_select_ident(net, iph, 1);
183 iph->ihl += opt->opt.optlen>>2;
441 * iph->saddr = fl4->saddr;
442 * iph->daddr = fl4->daddr;
444 static void ip_copy_addrs(struct iphdr *iph, const struct flowi4 *fl4)
449 iph->saddr = fl4->saddr;
450 iph->daddr = fl4->daddr;
462 struct iphdr *iph;
509 iph = ip_hdr(skb);
510 *((__be16 *)iph) = htons((4 << 12) | (5 << 8) | (tos & 0xff));
512 iph->frag_off = htons(IP_DF);
514 iph->frag_off = 0;
515 iph->ttl = ip_select_ttl(inet, &rt->dst);
516 iph->protocol = sk->sk_protocol;
517 ip_copy_addrs(iph, fl4);
522 iph->ihl += inet_opt->opt.optlen >> 2;
579 struct iphdr *iph = ip_hdr(skb);
581 if ((iph->frag_off & htons(IP_DF)) == 0)
597 void ip_fraglist_init(struct sk_buff *skb, struct iphdr *iph,
606 iter->iph = iph;
611 iph->tot_len = htons(first_len);
612 iph->frag_off = htons(IP_MF);
613 ip_send_check(iph);
620 struct iphdr *iph = iter->iph;
628 memcpy(skb_network_header(frag), iph, hlen);
629 iter->iph = ip_hdr(frag);
630 iph = iter->iph;
631 iph->tot_len = htons(frag->len);
634 iph->frag_off = htons(iter->offset >> 3);
636 iph->frag_off |= htons(IP_MF);
638 ip_send_check(iph);
646 struct iphdr *iph = ip_hdr(skb);
656 state->offset = (ntohs(iph->frag_off) & IP_OFFSET) << 3;
657 state->not_last_frag = iph->frag_off & htons(IP_MF);
681 struct iphdr *iph;
731 iph = ip_hdr(skb2);
732 iph->frag_off = htons((state->offset >> 3));
734 iph->frag_off |= htons(IP_DF);
741 iph->frag_off |= htons(IP_MF);
745 iph->tot_len = htons(len + state->hlen);
747 ip_send_check(iph);
763 struct iphdr *iph;
782 iph = ip_hdr(skb);
792 hlen = iph->ihl * 4;
810 ip_is_fragment(iph) ||
835 ip_fraglist_init(skb, iph, hlen, &iter);
853 ip_send_check(iter.iph);
1389 struct iphdr *iph;
1437 iph = ip_hdr(skb);
1438 iph->version = 4;
1439 iph->ihl = 5;
1440 iph->tos = (cork->tos != -1) ? cork->tos : inet->tos;
1441 iph->frag_off = df;
1442 iph->ttl = ttl;
1443 iph->protocol = sk->sk_protocol;
1444 ip_copy_addrs(iph, fl4);
1448 iph->ihl += opt->optlen >> 2;
1462 if (iph->protocol == IPPROTO_ICMP) {