Lines Matching refs:iph
90 void ip_send_check(struct iphdr *iph) in ip_send_check() argument
92 iph->check = 0; in ip_send_check()
93 iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl); in ip_send_check()
99 struct iphdr *iph = ip_hdr(skb); in __ip_local_out() local
101 iph->tot_len = htons(skb->len); in __ip_local_out()
102 ip_send_check(iph); in __ip_local_out()
149 struct iphdr *iph; in ip_build_and_send_pkt() local
154 iph = ip_hdr(skb); in ip_build_and_send_pkt()
155 iph->version = 4; in ip_build_and_send_pkt()
156 iph->ihl = 5; in ip_build_and_send_pkt()
157 iph->tos = inet->tos; in ip_build_and_send_pkt()
158 iph->ttl = ip_select_ttl(inet, &rt->dst); in ip_build_and_send_pkt()
159 iph->daddr = (opt && opt->opt.srr ? opt->opt.faddr : daddr); in ip_build_and_send_pkt()
160 iph->saddr = saddr; in ip_build_and_send_pkt()
161 iph->protocol = sk->sk_protocol; in ip_build_and_send_pkt()
163 iph->frag_off = htons(IP_DF); in ip_build_and_send_pkt()
164 iph->id = 0; in ip_build_and_send_pkt()
166 iph->frag_off = 0; in ip_build_and_send_pkt()
167 __ip_select_ident(net, iph, 1); in ip_build_and_send_pkt()
171 iph->ihl += opt->opt.optlen>>2; in ip_build_and_send_pkt()
413 static void ip_copy_addrs(struct iphdr *iph, const struct flowi4 *fl4) in ip_copy_addrs() argument
417 memcpy(&iph->saddr, &fl4->saddr, in ip_copy_addrs()
429 struct iphdr *iph; in ip_queue_xmit() local
476 iph = ip_hdr(skb); in ip_queue_xmit()
477 *((__be16 *)iph) = htons((4 << 12) | (5 << 8) | (inet->tos & 0xff)); in ip_queue_xmit()
479 iph->frag_off = htons(IP_DF); in ip_queue_xmit()
481 iph->frag_off = 0; in ip_queue_xmit()
482 iph->ttl = ip_select_ttl(inet, &rt->dst); in ip_queue_xmit()
483 iph->protocol = sk->sk_protocol; in ip_queue_xmit()
484 ip_copy_addrs(iph, fl4); in ip_queue_xmit()
489 iph->ihl += inet_opt->opt.optlen >> 2; in ip_queue_xmit()
539 struct iphdr *iph = ip_hdr(skb); in ip_fragment() local
541 if ((iph->frag_off & htons(IP_DF)) == 0) in ip_fragment()
567 struct iphdr *iph; in ip_do_fragment() local
585 iph = ip_hdr(skb); in ip_do_fragment()
595 hlen = iph->ihl * 4; in ip_do_fragment()
612 ip_is_fragment(iph) || in ip_do_fragment()
643 iph->tot_len = htons(first_len); in ip_do_fragment()
644 iph->frag_off = htons(IP_MF); in ip_do_fragment()
645 ip_send_check(iph); in ip_do_fragment()
655 memcpy(skb_network_header(frag), iph, hlen); in ip_do_fragment()
656 iph = ip_hdr(frag); in ip_do_fragment()
657 iph->tot_len = htons(frag->len); in ip_do_fragment()
662 iph->frag_off = htons(offset>>3); in ip_do_fragment()
664 iph->frag_off |= htons(IP_MF); in ip_do_fragment()
666 ip_send_check(iph); in ip_do_fragment()
705 iph = ip_hdr(skb); in ip_do_fragment()
716 offset = (ntohs(iph->frag_off) & IP_OFFSET) << 3; in ip_do_fragment()
717 not_last_frag = iph->frag_off & htons(IP_MF); in ip_do_fragment()
775 iph = ip_hdr(skb2); in ip_do_fragment()
776 iph->frag_off = htons((offset >> 3)); in ip_do_fragment()
779 iph->frag_off |= htons(IP_DF); in ip_do_fragment()
795 iph->frag_off |= htons(IP_MF); in ip_do_fragment()
802 iph->tot_len = htons(len + hlen); in ip_do_fragment()
804 ip_send_check(iph); in ip_do_fragment()
1401 struct iphdr *iph; in __ip_make_skb() local
1449 iph = ip_hdr(skb); in __ip_make_skb()
1450 iph->version = 4; in __ip_make_skb()
1451 iph->ihl = 5; in __ip_make_skb()
1452 iph->tos = (cork->tos != -1) ? cork->tos : inet->tos; in __ip_make_skb()
1453 iph->frag_off = df; in __ip_make_skb()
1454 iph->ttl = ttl; in __ip_make_skb()
1455 iph->protocol = sk->sk_protocol; in __ip_make_skb()
1456 ip_copy_addrs(iph, fl4); in __ip_make_skb()
1460 iph->ihl += opt->optlen>>2; in __ip_make_skb()
1473 if (iph->protocol == IPPROTO_ICMP) in __ip_make_skb()