Home
last modified time | relevance | path

Searched refs:iph (Results 1 – 200 of 214) sorted by relevance

12

/linux-4.1.27/net/ipv4/
Dinet_lro.c39 #define IP_HDR_LEN(iph) (iph->ihl << 2) argument
40 #define TCP_PAYLOAD_LENGTH(iph, tcph) \ argument
41 (ntohs(iph->tot_len) - IP_HDR_LEN(iph) - TCP_HDR_LEN(tcph))
55 static int lro_tcp_ip_check(const struct iphdr *iph, const struct tcphdr *tcph, in lro_tcp_ip_check() argument
59 if (ntohs(iph->tot_len) != len) in lro_tcp_ip_check()
62 if (TCP_PAYLOAD_LENGTH(iph, tcph) == 0) in lro_tcp_ip_check()
65 if (iph->ihl != IPH_LEN_WO_OPTIONS) in lro_tcp_ip_check()
72 if (INET_ECN_is_ce(ipv4_get_dsfield(iph))) in lro_tcp_ip_check()
105 struct iphdr *iph = lro_desc->iph; in lro_update_tcp_ip_header() local
118 csum_replace2(&iph->check, iph->tot_len, htons(lro_desc->ip_tot_len)); in lro_update_tcp_ip_header()
[all …]
Dxfrm4_mode_beet.c22 struct iphdr *iph = ip_hdr(skb); in xfrm4_beet_make_header() local
24 iph->ihl = 5; in xfrm4_beet_make_header()
25 iph->version = 4; in xfrm4_beet_make_header()
27 iph->protocol = XFRM_MODE_SKB_CB(skb)->protocol; in xfrm4_beet_make_header()
28 iph->tos = XFRM_MODE_SKB_CB(skb)->tos; in xfrm4_beet_make_header()
30 iph->id = XFRM_MODE_SKB_CB(skb)->id; in xfrm4_beet_make_header()
31 iph->frag_off = XFRM_MODE_SKB_CB(skb)->frag_off; in xfrm4_beet_make_header()
32 iph->ttl = XFRM_MODE_SKB_CB(skb)->ttl; in xfrm4_beet_make_header()
86 struct iphdr *iph; in xfrm4_beet_input() local
111 skb_push(skb, sizeof(*iph)); in xfrm4_beet_input()
[all …]
Dxfrm4_input.c28 const struct iphdr *iph = ip_hdr(skb); in xfrm4_rcv_encap_finish() local
30 if (ip_route_input_noref(skb, iph->daddr, iph->saddr, in xfrm4_rcv_encap_finish()
31 iph->tos, skb->dev)) in xfrm4_rcv_encap_finish()
42 struct iphdr *iph = ip_hdr(skb); in xfrm4_transport_finish() local
44 iph->protocol = XFRM_MODE_SKB_CB(skb)->protocol; in xfrm4_transport_finish()
48 return -iph->protocol; in xfrm4_transport_finish()
52 iph->tot_len = htons(skb->len); in xfrm4_transport_finish()
53 ip_send_check(iph); in xfrm4_transport_finish()
72 struct iphdr *iph; in xfrm4_udp_encap_rcv() local
131 iph = ip_hdr(skb); in xfrm4_udp_encap_rcv()
[all …]
Dip_gre.c143 const struct iphdr *iph; in ipgre_err() local
181 iph = (const struct iphdr *)(icmp_hdr(skb) + 1); in ipgre_err()
183 iph->daddr, iph->saddr, tpi->key); in ipgre_err()
188 if (t->parms.iph.daddr == 0 || in ipgre_err()
189 ipv4_is_multicast(t->parms.iph.daddr)) in ipgre_err()
192 if (t->parms.iph.ttl == 0 && type == ICMP_TIME_EXCEEDED) in ipgre_err()
207 const struct iphdr *iph; in ipgre_rcv() local
215 iph = ip_hdr(skb); in ipgre_rcv()
217 iph->saddr, iph->daddr, tpi->key); in ipgre_rcv()
272 tnl_params = &tunnel->parms.iph; in ipgre_xmit()
[all …]
Dnetfilter.c23 const struct iphdr *iph = ip_hdr(skb); in ip_route_me_harder() local
26 __be32 saddr = iph->saddr; in ip_route_me_harder()
40 fl4.daddr = iph->daddr; in ip_route_me_harder()
42 fl4.flowi4_tos = RT_TOS(iph->tos); in ip_route_me_harder()
98 const struct iphdr *iph = ip_hdr(skb); in nf_ip_saveroute() local
100 rt_info->tos = iph->tos; in nf_ip_saveroute()
101 rt_info->daddr = iph->daddr; in nf_ip_saveroute()
102 rt_info->saddr = iph->saddr; in nf_ip_saveroute()
113 const struct iphdr *iph = ip_hdr(skb); in nf_ip_reroute() local
115 if (!(iph->tos == rt_info->tos && in nf_ip_reroute()
[all …]
Dipip.c138 const struct iphdr *iph = (const struct iphdr *)skb->data; in ipip_err() local
146 iph->daddr, iph->saddr, 0); in ipip_err()
164 if (t->parms.iph.daddr == 0) in ipip_err()
168 if (t->parms.iph.ttl == 0 && type == ICMP_TIME_EXCEEDED) in ipip_err()
191 const struct iphdr *iph; in ipip_rcv() local
193 iph = ip_hdr(skb); in ipip_rcv()
195 iph->saddr, iph->daddr, 0); in ipip_rcv()
218 const struct iphdr *tiph = &tunnel->parms.iph; in ipip_tunnel_xmit()
249 if (p.iph.version != 4 || p.iph.protocol != IPPROTO_IPIP || in ipip_tunnel_ioctl()
250 p.iph.ihl != 5 || (p.iph.frag_off&htons(~IP_DF))) in ipip_tunnel_ioctl()
[all …]
Dip_input.c264 const struct iphdr *iph; in ip_rcv_options() local
279 iph = ip_hdr(skb); in ip_rcv_options()
281 opt->optlen = iph->ihl*4 - sizeof(struct iphdr); in ip_rcv_options()
295 &iph->saddr, in ip_rcv_options()
296 &iph->daddr); in ip_rcv_options()
315 const struct iphdr *iph = ip_hdr(skb); in ip_rcv_finish() local
320 int protocol = iph->protocol; in ip_rcv_finish()
326 iph = ip_hdr(skb); in ip_rcv_finish()
335 int err = ip_route_input_noref(skb, iph->daddr, iph->saddr, in ip_rcv_finish()
336 iph->tos, skb->dev); in ip_rcv_finish()
[all …]
Dah4.c78 static int ip_clear_mutable_options(const struct iphdr *iph, __be32 *daddr) in ip_clear_mutable_options() argument
80 unsigned char *optptr = (unsigned char *)(iph+1); in ip_clear_mutable_options()
81 int l = iph->ihl*4 - sizeof(struct iphdr); in ip_clear_mutable_options()
121 struct iphdr *iph; in ah_output_done() local
129 iph = AH_SKB_CB(skb)->tmp; in ah_output_done()
130 icv = ah_tmp_icv(ahp->ahash, iph, ihl); in ah_output_done()
133 top_iph->tos = iph->tos; in ah_output_done()
134 top_iph->ttl = iph->ttl; in ah_output_done()
135 top_iph->frag_off = iph->frag_off; in ah_output_done()
137 top_iph->daddr = iph->daddr; in ah_output_done()
[all …]
Dip_vti.c57 const struct iphdr *iph = ip_hdr(skb); in vti_input() local
62 iph->saddr, iph->daddr, 0); in vti_input()
173 if (!vti_state_check(dst->xfrm, parms->iph.daddr, parms->iph.saddr)) { in vti_xmit()
255 const struct iphdr *iph = (const struct iphdr *)skb->data; in vti4_err() local
256 int protocol = iph->protocol; in vti4_err()
260 iph->daddr, iph->saddr, 0); in vti4_err()
268 esph = (struct ip_esp_hdr *)(skb->data+(iph->ihl<<2)); in vti4_err()
272 ah = (struct ip_auth_hdr *)(skb->data+(iph->ihl<<2)); in vti4_err()
276 ipch = (struct ip_comp_hdr *)(skb->data+(iph->ihl<<2)); in vti4_err()
293 x = xfrm_state_lookup(net, mark, (const xfrm_address_t *)&iph->daddr, in vti4_err()
[all …]
Dip_tunnel.c164 if (local != t->parms.iph.saddr || in ip_tunnel_lookup()
165 remote != t->parms.iph.daddr || in ip_tunnel_lookup()
179 if (remote != t->parms.iph.daddr || in ip_tunnel_lookup()
180 t->parms.iph.saddr != 0 || in ip_tunnel_lookup()
197 if ((local != t->parms.iph.saddr || t->parms.iph.daddr != 0) && in ip_tunnel_lookup()
198 (local != t->parms.iph.daddr || !ipv4_is_multicast(local))) in ip_tunnel_lookup()
218 t->parms.iph.saddr != 0 || in ip_tunnel_lookup()
219 t->parms.iph.daddr != 0 || in ip_tunnel_lookup()
248 if (parms->iph.daddr && !ipv4_is_multicast(parms->iph.daddr)) in ip_bucket()
249 remote = parms->iph.daddr; in ip_bucket()
[all …]
Dip_fragment.c99 struct iphdr *iph; member
125 return qp->id == arg->iph->id && in ip4_frag_match()
126 qp->saddr == arg->iph->saddr && in ip4_frag_match()
127 qp->daddr == arg->iph->daddr && in ip4_frag_match()
128 qp->protocol == arg->iph->protocol && in ip4_frag_match()
141 qp->protocol = arg->iph->protocol; in ip4_frag_init()
142 qp->id = arg->iph->id; in ip4_frag_init()
143 qp->ecn = ip4_frag_ecn(arg->iph->tos); in ip4_frag_init()
144 qp->saddr = arg->iph->saddr; in ip4_frag_init()
145 qp->daddr = arg->iph->daddr; in ip4_frag_init()
[all …]
Dip_output.c87 void ip_send_check(struct iphdr *iph) in ip_send_check() argument
89 iph->check = 0; in ip_send_check()
90 iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl); in ip_send_check()
96 struct iphdr *iph = ip_hdr(skb); in __ip_local_out_sk() local
98 iph->tot_len = htons(skb->len); in __ip_local_out_sk()
99 ip_send_check(iph); in __ip_local_out_sk()
139 struct iphdr *iph; in ip_build_and_send_pkt() local
144 iph = ip_hdr(skb); in ip_build_and_send_pkt()
145 iph->version = 4; in ip_build_and_send_pkt()
146 iph->ihl = 5; in ip_build_and_send_pkt()
[all …]
Dip_tunnel_core.c54 struct iphdr *iph; in iptunnel_xmit() local
67 iph = ip_hdr(skb); in iptunnel_xmit()
69 iph->version = 4; in iptunnel_xmit()
70 iph->ihl = sizeof(struct iphdr) >> 2; in iptunnel_xmit()
71 iph->frag_off = df; in iptunnel_xmit()
72 iph->protocol = proto; in iptunnel_xmit()
73 iph->tos = tos; in iptunnel_xmit()
74 iph->daddr = dst; in iptunnel_xmit()
75 iph->saddr = src; in iptunnel_xmit()
76 iph->ttl = ttl; in iptunnel_xmit()
[all …]
Dxfrm4_state.c59 const struct iphdr *iph = ip_hdr(skb); in xfrm4_extract_header() local
61 XFRM_MODE_SKB_CB(skb)->ihl = sizeof(*iph); in xfrm4_extract_header()
62 XFRM_MODE_SKB_CB(skb)->id = iph->id; in xfrm4_extract_header()
63 XFRM_MODE_SKB_CB(skb)->frag_off = iph->frag_off; in xfrm4_extract_header()
64 XFRM_MODE_SKB_CB(skb)->tos = iph->tos; in xfrm4_extract_header()
65 XFRM_MODE_SKB_CB(skb)->ttl = iph->ttl; in xfrm4_extract_header()
66 XFRM_MODE_SKB_CB(skb)->optlen = iph->ihl * 4 - sizeof(*iph); in xfrm4_extract_header()
Dip_options.c46 unsigned char *iph = skb_network_header(skb); in ip_options_build() local
49 memcpy(iph+sizeof(struct iphdr), opt->__data, opt->optlen); in ip_options_build()
53 memcpy(iph+opt->srr+iph[opt->srr+1]-4, &daddr, 4); in ip_options_build()
57 ip_rt_get_source(iph+opt->rr+iph[opt->rr+2]-5, skb, rt); in ip_options_build()
59 ip_rt_get_source(iph+opt->ts+iph[opt->ts+2]-9, skb, rt); in ip_options_build()
65 memcpy(iph+opt->ts+iph[opt->ts+2]-5, &midtime, 4); in ip_options_build()
70 memset(iph+opt->rr, IPOPT_NOP, iph[opt->rr+1]); in ip_options_build()
75 memset(iph+opt->ts, IPOPT_NOP, iph[opt->ts+1]); in ip_options_build()
264 unsigned char *iph; in ip_options_compile() local
272 iph = optptr - sizeof(struct iphdr); in ip_options_compile()
[all …]
Draw.c168 static int raw_v4_input(struct sk_buff *skb, const struct iphdr *iph, int hash) in raw_v4_input() argument
181 sk = __raw_v4_lookup(net, __sk_head(head), iph->protocol, in raw_v4_input()
182 iph->saddr, iph->daddr, in raw_v4_input()
187 if ((iph->protocol != IPPROTO_ICMP || !icmp_filter(sk, skb)) && in raw_v4_input()
188 ip_mc_sf_allow(sk, iph->daddr, iph->saddr, in raw_v4_input()
196 sk = __raw_v4_lookup(net, sk_next(sk), iph->protocol, in raw_v4_input()
197 iph->saddr, iph->daddr, in raw_v4_input()
270 const struct iphdr *iph = (const struct iphdr *)skb->data; in raw_err() local
271 u8 *payload = skb->data + (iph->ihl << 2); in raw_err()
288 const struct iphdr *iph; in raw_icmp_error() local
[all …]
Dicmp.c443 const struct iphdr *iph, in icmp_route_lookup() argument
454 param->replyopts.opt.opt.faddr : iph->saddr); in icmp_route_lookup()
546 struct iphdr *iph; in icmp_send() local
567 iph = ip_hdr(skb_in); in icmp_send()
569 if ((u8 *)iph < skb_in->head || in icmp_send()
570 (skb_network_header(skb_in) + sizeof(*iph)) > in icmp_send()
590 if (iph->frag_off & htons(IP_OFFSET)) in icmp_send()
601 if (iph->protocol == IPPROTO_ICMP) { in icmp_send()
606 (iph->ihl << 2) + in icmp_send()
637 saddr = iph->daddr; in icmp_send()
[all …]
Daf_inet.c1209 struct iphdr *iph; in inet_gso_segment() local
1233 if (unlikely(!pskb_may_pull(skb, sizeof(*iph)))) in inet_gso_segment()
1236 iph = ip_hdr(skb); in inet_gso_segment()
1237 ihl = iph->ihl * 4; in inet_gso_segment()
1238 if (ihl < sizeof(*iph)) in inet_gso_segment()
1241 id = ntohs(iph->id); in inet_gso_segment()
1242 proto = iph->protocol; in inet_gso_segment()
1273 iph = (struct iphdr *)(skb_mac_header(skb) + nhoff); in inet_gso_segment()
1275 iph->id = htons(id); in inet_gso_segment()
1276 iph->frag_off = htons(offset >> 3); in inet_gso_segment()
[all …]
Dxfrm4_policy.c104 const struct iphdr *iph = ip_hdr(skb); in _decode_session4() local
105 u8 *xprth = skb_network_header(skb) + iph->ihl * 4; in _decode_session4()
116 if (!ip_is_fragment(iph)) { in _decode_session4()
117 switch (iph->protocol) { in _decode_session4()
183 fl4->flowi4_proto = iph->protocol; in _decode_session4()
184 fl4->daddr = reverse ? iph->saddr : iph->daddr; in _decode_session4()
185 fl4->saddr = reverse ? iph->daddr : iph->saddr; in _decode_session4()
186 fl4->flowi4_tos = iph->tos; in _decode_session4()
Dip_forward.c77 struct iphdr *iph; /* Our header */ in ip_forward() local
127 iph = ip_hdr(skb); in ip_forward()
130 ip_decrease_ttl(iph); in ip_forward()
140 skb->priority = rt_tos2priority(iph->tos); in ip_forward()
Dxfrm4_mode_transport.c23 struct iphdr *iph = ip_hdr(skb); in xfrm4_transport_output() local
24 int ihl = iph->ihl * 4; in xfrm4_transport_output()
31 memmove(skb_network_header(skb), iph, ihl); in xfrm4_transport_output()
Dsyncookies.c178 u32 __cookie_v4_init_sequence(const struct iphdr *iph, const struct tcphdr *th, in __cookie_v4_init_sequence() argument
189 return secure_tcp_syn_cookie(iph->saddr, iph->daddr, in __cookie_v4_init_sequence()
198 const struct iphdr *iph = ip_hdr(skb); in cookie_v4_init_sequence() local
204 return __cookie_v4_init_sequence(iph, th, mssp); in cookie_v4_init_sequence()
211 int __cookie_v4_check(const struct iphdr *iph, const struct tcphdr *th, in __cookie_v4_check() argument
215 __u32 mssind = check_tcp_syn_cookie(cookie, iph->saddr, iph->daddr, in __cookie_v4_check()
Dipmr.c373 p.iph.daddr = v->vifc_rmt_addr.s_addr; in ipmr_del_tunnel()
374 p.iph.saddr = v->vifc_lcl_addr.s_addr; in ipmr_del_tunnel()
375 p.iph.version = 4; in ipmr_del_tunnel()
376 p.iph.ihl = 5; in ipmr_del_tunnel()
377 p.iph.protocol = IPPROTO_IPIP; in ipmr_del_tunnel()
406 p.iph.daddr = v->vifc_rmt_addr.s_addr; in ipmr_new_tunnel()
407 p.iph.saddr = v->vifc_lcl_addr.s_addr; in ipmr_new_tunnel()
408 p.iph.version = 4; in ipmr_new_tunnel()
409 p.iph.ihl = 5; in ipmr_new_tunnel()
410 p.iph.protocol = IPPROTO_IPIP; in ipmr_new_tunnel()
[all …]
Dtcp_offload.c39 const struct iphdr *iph = ip_hdr(skb); in tcp4_gso_segment() local
48 __tcp_v4_send_check(skb, iph->saddr, iph->daddr); in tcp4_gso_segment()
306 const struct iphdr *iph = ip_hdr(skb); in tcp4_gro_complete() local
309 th->check = ~tcp_v4_check(skb->len - thoff, iph->saddr, in tcp4_gro_complete()
310 iph->daddr, 0); in tcp4_gro_complete()
Dcipso_ipv4.c1590 const struct iphdr *iph = ip_hdr(skb); in cipso_v4_optptr() local
1595 for (optlen = iph->ihl*4 - sizeof(struct iphdr); optlen > 0; ) { in cipso_v4_optptr()
2230 struct iphdr *iph; in cipso_v4_skbuff_setattr() local
2260 iph = ip_hdr(skb); in cipso_v4_skbuff_setattr()
2262 memmove((char *)iph - len_delta, iph, iph->ihl << 2); in cipso_v4_skbuff_setattr()
2264 iph = ip_hdr(skb); in cipso_v4_skbuff_setattr()
2266 iph = ip_hdr(skb); in cipso_v4_skbuff_setattr()
2267 memset(iph + 1, IPOPT_NOP, opt->optlen); in cipso_v4_skbuff_setattr()
2269 iph = ip_hdr(skb); in cipso_v4_skbuff_setattr()
2282 memcpy(iph + 1, buf, buf_len); in cipso_v4_skbuff_setattr()
[all …]
Droute.c486 void __ip_select_ident(struct net *net, struct iphdr *iph, int segs) in __ip_select_ident() argument
493 hash = jhash_3words((__force u32)iph->daddr, in __ip_select_ident()
494 (__force u32)iph->saddr, in __ip_select_ident()
495 iph->protocol ^ net_hash_mix(net), in __ip_select_ident()
498 iph->id = htons(id); in __ip_select_ident()
503 const struct iphdr *iph, in __build_flow_key() argument
518 iph->daddr, iph->saddr, 0, 0); in __build_flow_key()
524 const struct iphdr *iph = ip_hdr(skb); in build_skb_flow_key() local
526 u8 tos = RT_TOS(iph->tos); in build_skb_flow_key()
527 u8 prot = iph->protocol; in build_skb_flow_key()
[all …]
Dudp_offload.c185 struct iphdr *iph; in udp4_ufo_fragment() local
226 iph = ip_hdr(skb); in udp4_ufo_fragment()
230 uh->check = udp_v4_check(skb->len, iph->saddr, iph->daddr, csum); in udp4_ufo_fragment()
417 const struct iphdr *iph = ip_hdr(skb); in udp4_gro_complete() local
422 uh->check = ~udp_v4_check(skb->len - nhoff, iph->saddr, in udp4_gro_complete()
423 iph->daddr, 0); in udp4_gro_complete()
Dtcp_ipv4.c359 const struct iphdr *iph = (const struct iphdr *)icmp_skb->data; in tcp_v4_err() local
360 struct tcphdr *th = (struct tcphdr *)(icmp_skb->data + (iph->ihl << 2)); in tcp_v4_err()
374 sk = __inet_lookup_established(net, &tcp_hashinfo, iph->daddr, in tcp_v4_err()
375 th->dest, iph->saddr, ntohs(th->source), in tcp_v4_err()
402 if (unlikely(iph->ttl < inet_sk(sk)->min_ttl)) { in tcp_v4_err()
1084 const struct iphdr *iph = ip_hdr(skb); in tcp_v4_md5_hash_skb() local
1085 saddr = iph->saddr; in tcp_v4_md5_hash_skb()
1086 daddr = iph->daddr; in tcp_v4_md5_hash_skb()
1133 const struct iphdr *iph = ip_hdr(skb); in tcp_v4_inbound_md5_hash() local
1138 hash_expected = tcp_md5_do_lookup(sk, (union tcp_md5_addr *)&iph->saddr, in tcp_v4_inbound_md5_hash()
[all …]
Dipcomp.c30 const struct iphdr *iph = (const struct iphdr *)skb->data; in ipcomp4_err() local
31 struct ip_comp_hdr *ipch = (struct ip_comp_hdr *)(skb->data+(iph->ihl<<2)); in ipcomp4_err()
45 x = xfrm_state_lookup(net, skb->mark, (const xfrm_address_t *)&iph->daddr, in ipcomp4_err()
Desp4.c278 const struct iphdr *iph; in esp_input_done2() local
303 iph = ip_hdr(skb); in esp_input_done2()
304 ihl = iph->ihl * 4; in esp_input_done2()
316 if (iph->saddr != x->props.saddr.a4 || in esp_input_done2()
320 ipaddr.a4 = iph->saddr; in esp_input_done2()
482 const struct iphdr *iph = (const struct iphdr *)skb->data; in esp4_err() local
483 struct ip_esp_hdr *esph = (struct ip_esp_hdr *)(skb->data+(iph->ihl<<2)); in esp4_err()
496 x = xfrm_state_lookup(net, skb->mark, (const xfrm_address_t *)&iph->daddr, in esp4_err()
Dtcp_fastopen.c103 const struct iphdr *iph = ip_hdr(syn); in tcp_fastopen_cookie_gen() local
105 __be32 path[4] = { iph->saddr, iph->daddr, 0, 0 }; in tcp_fastopen_cookie_gen()
Dudp.c577 const struct iphdr *iph = ip_hdr(skb); in __udp4_lib_lookup_skb() local
579 return __udp4_lib_lookup(dev_net(skb_dst(skb)->dev), iph->saddr, sport, in __udp4_lib_lookup_skb()
580 iph->daddr, dport, inet_iif(skb), in __udp4_lib_lookup_skb()
625 const struct iphdr *iph = (const struct iphdr *)skb->data; in __udp4_lib_err() local
626 struct udphdr *uh = (struct udphdr *)(skb->data+(iph->ihl<<2)); in __udp4_lib_err()
634 sk = __udp4_lib_lookup(net, iph->daddr, uh->dest, in __udp4_lib_err()
635 iph->saddr, uh->source, skb->dev->ifindex, udptable); in __udp4_lib_err()
1961 const struct iphdr *iph; in udp_v4_early_demux() local
1972 iph = ip_hdr(skb); in udp_v4_early_demux()
1982 ours = ip_check_mc_rcu(in_dev, iph->daddr, iph->saddr, in udp_v4_early_demux()
[all …]
Dgre_demux.c286 const struct iphdr *iph = (const struct iphdr *)skb->data; in gre_err() local
287 u8 ver = skb->data[(iph->ihl<<2) + 1]&0x7f; in gre_err()
Digmp.c669 struct iphdr *iph; in igmp_send_report() local
706 iph = ip_hdr(skb); in igmp_send_report()
709 iph->version = 4; in igmp_send_report()
710 iph->ihl = (sizeof(struct iphdr)+4)>>2; in igmp_send_report()
711 iph->tos = 0xc0; in igmp_send_report()
712 iph->frag_off = htons(IP_DF); in igmp_send_report()
713 iph->ttl = 1; in igmp_send_report()
714 iph->daddr = dst; in igmp_send_report()
715 iph->saddr = fl4.saddr; in igmp_send_report()
716 iph->protocol = IPPROTO_IGMP; in igmp_send_report()
[all …]
Dipconfig.c616 struct iphdr iph; /* IP header */ member
972 h = &b->iph; in ic_bootp_recv()
1008 h = &b->iph; in ic_bootp_recv()
1041 u8 *end = (u8 *) b + ntohs(b->iph.tot_len); in ic_bootp_recv()
1086 &ic_myaddr, &b->iph.saddr); in ic_bootp_recv()
1131 ic_addrservaddr = b->iph.saddr; in ic_bootp_recv()
Dip_sockglue.c135 const struct iphdr *iph = ip_hdr(skb); in ip_cmsg_recv_dstaddr() local
147 sin.sin_addr.s_addr = iph->daddr; in ip_cmsg_recv_dstaddr()
404 struct iphdr *iph; in ip_local_error() local
416 iph = ip_hdr(skb); in ip_local_error()
417 iph->daddr = daddr; in ip_local_error()
427 serr->addr_offset = (u8 *)&iph->daddr - skb_network_header(skb); in ip_local_error()
Dfou.c53 struct iphdr *iph = ip_hdr(skb); in fou_recv_pull() local
58 iph->tot_len = htons(ntohs(iph->tot_len) - len); in fou_recv_pull()
/linux-4.1.27/net/netfilter/ipvs/
Dip_vs_proto_ah_esp.c45 const struct ip_vs_iphdr *iph, int inverse, in ah_esp_conn_fill_param_proto() argument
50 &iph->saddr, htons(PORT_ISAKMP), in ah_esp_conn_fill_param_proto()
51 &iph->daddr, htons(PORT_ISAKMP), p); in ah_esp_conn_fill_param_proto()
54 &iph->daddr, htons(PORT_ISAKMP), in ah_esp_conn_fill_param_proto()
55 &iph->saddr, htons(PORT_ISAKMP), p); in ah_esp_conn_fill_param_proto()
60 const struct ip_vs_iphdr *iph, in ah_esp_conn_in_get() argument
67 ah_esp_conn_fill_param_proto(net, af, iph, inverse, &p); in ah_esp_conn_in_get()
77 ip_vs_proto_get(iph->protocol)->name, in ah_esp_conn_in_get()
78 IP_VS_DBG_ADDR(af, &iph->saddr), in ah_esp_conn_in_get()
79 IP_VS_DBG_ADDR(af, &iph->daddr)); in ah_esp_conn_in_get()
[all …]
Dip_vs_core.c237 int *ignored, struct ip_vs_iphdr *iph) in ip_vs_sched_persist() argument
252 ipv6_addr_prefix(&snet.in6, &iph->saddr.in6, in ip_vs_sched_persist()
256 snet.ip = iph->saddr.ip & svc->netmask; in ip_vs_sched_persist()
260 IP_VS_DBG_ADDR(svc->af, &iph->saddr), ntohs(src_port), in ip_vs_sched_persist()
261 IP_VS_DBG_ADDR(svc->af, &iph->daddr), ntohs(dst_port), in ip_vs_sched_persist()
278 int protocol = iph->protocol; in ip_vs_sched_persist()
279 const union nf_inet_addr *vaddr = &iph->daddr; in ip_vs_sched_persist()
325 dest = sched->schedule(svc, skb, iph); in ip_vs_sched_persist()
363 && iph->protocol == IPPROTO_UDP) ? in ip_vs_sched_persist()
369 ip_vs_conn_fill_param(svc->net, svc->af, iph->protocol, &iph->saddr, in ip_vs_sched_persist()
[all …]
Dip_vs_ftp.c172 struct iphdr *iph; in ip_vs_ftp_out() local
205 iph = ip_hdr(skb); in ip_vs_ftp_out()
206 th = (struct tcphdr *)&(((char *)iph)[iph->ihl*4]); in ip_vs_ftp_out()
227 iph->protocol, &from, port, in ip_vs_ftp_out()
273 iph->ihl * 4, in ip_vs_ftp_out()
316 struct iphdr *iph; in ip_vs_ftp_in() local
347 iph = ip_hdr(skb); in ip_vs_ftp_in()
348 th = (struct tcphdr *)&(((char *)iph)[iph->ihl*4]); in ip_vs_ftp_in()
390 ip_vs_proto_name(iph->protocol), in ip_vs_ftp_in()
396 iph->protocol, &to, port, &cp->vaddr, in ip_vs_ftp_in()
Dip_vs_sh.c281 ip_vs_sh_get_port(const struct sk_buff *skb, struct ip_vs_iphdr *iph) in ip_vs_sh_get_port() argument
288 switch (iph->protocol) { in ip_vs_sh_get_port()
290 th = skb_header_pointer(skb, iph->len, sizeof(_tcph), &_tcph); in ip_vs_sh_get_port()
296 uh = skb_header_pointer(skb, iph->len, sizeof(_udph), &_udph); in ip_vs_sh_get_port()
302 sh = skb_header_pointer(skb, iph->len, sizeof(_sctph), &_sctph); in ip_vs_sh_get_port()
320 struct ip_vs_iphdr *iph) in ip_vs_sh_schedule() argument
329 port = ip_vs_sh_get_port(skb, iph); in ip_vs_sh_schedule()
334 dest = ip_vs_sh_get_fallback(svc, s, &iph->saddr, port); in ip_vs_sh_schedule()
336 dest = ip_vs_sh_get(svc, s, &iph->saddr, port); in ip_vs_sh_schedule()
344 IP_VS_DBG_ADDR(svc->af, &iph->saddr), in ip_vs_sh_schedule()
Dip_vs_proto_udp.c34 struct ip_vs_iphdr *iph) in udp_conn_schedule() argument
41 uh = skb_header_pointer(skb, iph->len, sizeof(_udph), &_udph); in udp_conn_schedule()
48 svc = ip_vs_service_find(net, af, skb->mark, iph->protocol, in udp_conn_schedule()
49 &iph->daddr, uh->dest); in udp_conn_schedule()
67 *cpp = ip_vs_schedule(svc, skb, pd, &ignored, iph); in udp_conn_schedule()
70 *verdict = ip_vs_leave(svc, skb, pd, iph); in udp_conn_schedule()
128 struct ip_vs_conn *cp, struct ip_vs_iphdr *iph) in udp_snat_handler() argument
131 unsigned int udphoff = iph->len; in udp_snat_handler()
136 if (cp->af == AF_INET6 && iph->fragoffs) in udp_snat_handler()
211 struct ip_vs_conn *cp, struct ip_vs_iphdr *iph) in udp_dnat_handler() argument
[all …]
Dip_vs_xmit.c616 struct iphdr *iph = ip_hdr(skb); in ip_vs_bypass_xmit() local
621 if (__ip_vs_get_out_rt(cp->af, skb, NULL, iph->daddr, in ip_vs_bypass_xmit()
625 ip_send_check(iph); in ip_vs_bypass_xmit()
969 struct iphdr *iph; /* Our new IP header */ in ip_vs_tunnel_xmit() local
1018 iph = ip_hdr(skb); in ip_vs_tunnel_xmit()
1019 iph->version = 4; in ip_vs_tunnel_xmit()
1020 iph->ihl = sizeof(struct iphdr)>>2; in ip_vs_tunnel_xmit()
1021 iph->frag_off = df; in ip_vs_tunnel_xmit()
1022 iph->protocol = next_protocol; in ip_vs_tunnel_xmit()
1023 iph->tos = dsfield; in ip_vs_tunnel_xmit()
[all …]
Dip_vs_proto_sctp.c14 struct ip_vs_iphdr *iph) in sctp_conn_schedule() argument
22 sh = skb_header_pointer(skb, iph->len, sizeof(_sctph), &_sctph); in sctp_conn_schedule()
28 sch = skb_header_pointer(skb, iph->len + sizeof(sctp_sctphdr_t), in sctp_conn_schedule()
39 (svc = ip_vs_service_find(net, af, skb->mark, iph->protocol, in sctp_conn_schedule()
40 &iph->daddr, sh->dest))) { in sctp_conn_schedule()
56 *cpp = ip_vs_schedule(svc, skb, pd, &ignored, iph); in sctp_conn_schedule()
59 *verdict = ip_vs_leave(svc, skb, pd, iph); in sctp_conn_schedule()
80 struct ip_vs_conn *cp, struct ip_vs_iphdr *iph) in sctp_snat_handler() argument
83 unsigned int sctphoff = iph->len; in sctp_snat_handler()
87 if (cp->af == AF_INET6 && iph->fragoffs) in sctp_snat_handler()
[all …]
Dip_vs_pe_sip.c68 struct ip_vs_iphdr iph; in ip_vs_sip_fill_param() local
73 ip_vs_fill_iph_skb(p->af, skb, &iph); in ip_vs_sip_fill_param()
76 if (iph.protocol != IPPROTO_UDP) in ip_vs_sip_fill_param()
81 dataoff = iph.len + sizeof(struct udphdr); in ip_vs_sip_fill_param()
Dip_vs_proto_tcp.c37 struct ip_vs_iphdr *iph) in tcp_conn_schedule() argument
44 th = skb_header_pointer(skb, iph->len, sizeof(_tcph), &_tcph); in tcp_conn_schedule()
54 (svc = ip_vs_service_find(net, af, skb->mark, iph->protocol, in tcp_conn_schedule()
55 &iph->daddr, th->dest))) { in tcp_conn_schedule()
72 *cpp = ip_vs_schedule(svc, skb, pd, &ignored, iph); in tcp_conn_schedule()
75 *verdict = ip_vs_leave(svc, skb, pd, iph); in tcp_conn_schedule()
132 struct ip_vs_conn *cp, struct ip_vs_iphdr *iph) in tcp_snat_handler() argument
135 unsigned int tcphoff = iph->len; in tcp_snat_handler()
140 if (cp->af == AF_INET6 && iph->fragoffs) in tcp_snat_handler()
210 struct ip_vs_conn *cp, struct ip_vs_iphdr *iph) in tcp_dnat_handler() argument
[all …]
Dip_vs_dh.c218 struct ip_vs_iphdr *iph) in ip_vs_dh_schedule() argument
226 dest = ip_vs_dh_get(svc->af, s, &iph->daddr); in ip_vs_dh_schedule()
236 IP_VS_DBG_ADDR(svc->af, &iph->daddr), in ip_vs_dh_schedule()
Dip_vs_conn.c318 const struct ip_vs_iphdr *iph, in ip_vs_conn_fill_param_proto() argument
324 pptr = frag_safe_skb_hp(skb, iph->len, sizeof(_ports), _ports, iph); in ip_vs_conn_fill_param_proto()
329 ip_vs_conn_fill_param(net, af, iph->protocol, &iph->saddr, in ip_vs_conn_fill_param_proto()
330 pptr[0], &iph->daddr, pptr[1], p); in ip_vs_conn_fill_param_proto()
332 ip_vs_conn_fill_param(net, af, iph->protocol, &iph->daddr, in ip_vs_conn_fill_param_proto()
333 pptr[1], &iph->saddr, pptr[0], p); in ip_vs_conn_fill_param_proto()
339 const struct ip_vs_iphdr *iph, int inverse) in ip_vs_conn_in_get_proto() argument
343 if (ip_vs_conn_fill_param_proto(af, skb, iph, inverse, &p)) in ip_vs_conn_in_get_proto()
443 const struct ip_vs_iphdr *iph, int inverse) in ip_vs_conn_out_get_proto() argument
447 if (ip_vs_conn_fill_param_proto(af, skb, iph, inverse, &p)) in ip_vs_conn_out_get_proto()
Dip_vs_lblc.c485 struct ip_vs_iphdr *iph) in ip_vs_lblc_schedule() argument
494 en = ip_vs_lblc_get(svc->af, tbl, &iph->daddr); in ip_vs_lblc_schedule()
524 ip_vs_lblc_new(tbl, &iph->daddr, svc->af, dest); in ip_vs_lblc_schedule()
529 IP_VS_DBG_ADDR(svc->af, &iph->daddr), in ip_vs_lblc_schedule()
Dip_vs_fo.c27 struct ip_vs_iphdr *iph) in ip_vs_fo_schedule() argument
Dip_vs_lc.c30 struct ip_vs_iphdr *iph) in ip_vs_lc_schedule() argument
Dip_vs_wlc.c35 struct ip_vs_iphdr *iph) in ip_vs_wlc_schedule() argument
Dip_vs_nq.c59 struct ip_vs_iphdr *iph) in ip_vs_nq_schedule() argument
Dip_vs_sed.c63 struct ip_vs_iphdr *iph) in ip_vs_sed_schedule() argument
Dip_vs_lblcr.c649 struct ip_vs_iphdr *iph) in ip_vs_lblcr_schedule() argument
658 en = ip_vs_lblcr_get(svc->af, tbl, &iph->daddr); in ip_vs_lblcr_schedule()
709 ip_vs_lblcr_new(tbl, &iph->daddr, svc->af, dest); in ip_vs_lblcr_schedule()
714 IP_VS_DBG_ADDR(svc->af, &iph->daddr), in ip_vs_lblcr_schedule()
Dip_vs_rr.c59 struct ip_vs_iphdr *iph) in ip_vs_rr_schedule() argument
Dip_vs_wrr.c166 struct ip_vs_iphdr *iph) in ip_vs_wrr_schedule() argument
/linux-4.1.27/net/sched/
Dact_nat.c90 struct iphdr *iph; in tcf_nat() local
117 if (!pskb_may_pull(skb, sizeof(*iph) + noff)) in tcf_nat()
120 iph = ip_hdr(skb); in tcf_nat()
123 addr = iph->saddr; in tcf_nat()
125 addr = iph->daddr; in tcf_nat()
129 !skb_clone_writable(skb, sizeof(*iph) + noff) && in tcf_nat()
137 iph = ip_hdr(skb); in tcf_nat()
139 iph->saddr = new_addr; in tcf_nat()
141 iph->daddr = new_addr; in tcf_nat()
143 csum_replace4(&iph->check, addr, new_addr); in tcf_nat()
[all …]
Dact_csum.c177 const struct iphdr *iph; in tcf_csum_ipv4_tcp() local
183 iph = ip_hdr(skb); in tcf_csum_ipv4_tcp()
187 iph->saddr, iph->daddr, skb->csum); in tcf_csum_ipv4_tcp()
220 const struct iphdr *iph; in tcf_csum_ipv4_udp() local
234 iph = ip_hdr(skb); in tcf_csum_ipv4_udp()
255 udph->check = csum_tcpudp_magic(iph->saddr, iph->daddr, in tcf_csum_ipv4_udp()
256 ul, iph->protocol, in tcf_csum_ipv4_udp()
323 const struct iphdr *iph; in tcf_csum_ipv4() local
328 if (!pskb_may_pull(skb, sizeof(*iph) + ntkoff)) in tcf_csum_ipv4()
331 iph = ip_hdr(skb); in tcf_csum_ipv4()
[all …]
/linux-4.1.27/net/netfilter/
Dxt_iprange.c23 const struct iphdr *iph = ip_hdr(skb); in iprange_mt4() local
27 m = ntohl(iph->saddr) < ntohl(info->src_min.ip); in iprange_mt4()
28 m |= ntohl(iph->saddr) > ntohl(info->src_max.ip); in iprange_mt4()
32 &iph->saddr, in iprange_mt4()
40 m = ntohl(iph->daddr) < ntohl(info->dst_min.ip); in iprange_mt4()
41 m |= ntohl(iph->daddr) > ntohl(info->dst_max.ip); in iprange_mt4()
45 &iph->daddr, in iprange_mt4()
72 const struct ipv6hdr *iph = ipv6_hdr(skb); in iprange_mt6() local
76 m = iprange_ipv6_lt(&iph->saddr, &info->src_min.in6); in iprange_mt6()
77 m |= iprange_ipv6_lt(&info->src_max.in6, &iph->saddr); in iprange_mt6()
[all …]
Dxt_TPROXY.c256 const struct iphdr *iph = ip_hdr(skb); in tproxy_handle_time_wait4() local
270 sk2 = nf_tproxy_get_sock_v4(dev_net(skb->dev), iph->protocol, in tproxy_handle_time_wait4()
271 iph->saddr, laddr ? laddr : iph->daddr, in tproxy_handle_time_wait4()
297 const struct iphdr *iph = ip_hdr(skb); in tproxy_tg4() local
309 sk = nf_tproxy_get_sock_v4(dev_net(skb->dev), iph->protocol, in tproxy_tg4()
310 iph->saddr, iph->daddr, in tproxy_tg4()
314 laddr = tproxy_laddr4(skb, laddr, iph->daddr); in tproxy_tg4()
325 sk = nf_tproxy_get_sock_v4(dev_net(skb->dev), iph->protocol, in tproxy_tg4()
326 iph->saddr, laddr, in tproxy_tg4()
337 iph->protocol, &iph->daddr, ntohs(hp->dest), in tproxy_tg4()
[all …]
Dxt_HL.c31 struct iphdr *iph; in ttl_tg() local
38 iph = ip_hdr(skb); in ttl_tg()
45 new_ttl = iph->ttl + info->ttl; in ttl_tg()
50 new_ttl = iph->ttl - info->ttl; in ttl_tg()
55 new_ttl = iph->ttl; in ttl_tg()
59 if (new_ttl != iph->ttl) { in ttl_tg()
60 csum_replace2(&iph->check, htons(iph->ttl << 8), in ttl_tg()
62 iph->ttl = new_ttl; in ttl_tg()
Dxt_TEE.c59 const struct iphdr *iph = ip_hdr(skb); in tee_tg_route4() local
71 fl4.flowi4_tos = RT_TOS(iph->tos); in tee_tg_route4()
89 struct iphdr *iph; in tee_tg4() local
120 iph = ip_hdr(skb); in tee_tg4()
121 iph->frag_off |= htons(IP_DF); in tee_tg4()
124 --iph->ttl; in tee_tg4()
125 ip_send_check(iph); in tee_tg4()
141 const struct ipv6hdr *iph = ipv6_hdr(skb); in tee_tg_route6() local
153 fl6.flowlabel = ((iph->flow_lbl[0] & 0xF) << 16) | in tee_tg_route6()
154 (iph->flow_lbl[1] << 8) | iph->flow_lbl[2]; in tee_tg_route6()
[all …]
Dxt_DSCP.c80 struct iphdr *iph = ip_hdr(skb); in tos_tg() local
83 orig = ipv4_get_dsfield(iph); in tos_tg()
89 iph = ip_hdr(skb); in tos_tg()
90 ipv4_change_dsfield(iph, 0, nv); in tos_tg()
100 struct ipv6hdr *iph = ipv6_hdr(skb); in tos_tg6() local
103 orig = ipv6_get_dsfield(iph); in tos_tg6()
109 iph = ipv6_hdr(skb); in tos_tg6()
110 ipv6_change_dsfield(iph, 0, nv); in tos_tg6()
Dxt_addrtype.c106 const struct ipv6hdr *iph = ipv6_hdr(skb); in addrtype_mt6() local
110 ret &= match_type6(net, dev, &iph->saddr, info->source) ^ in addrtype_mt6()
113 ret &= match_type6(net, dev, &iph->daddr, info->dest) ^ in addrtype_mt6()
130 const struct iphdr *iph = ip_hdr(skb); in addrtype_mt_v0() local
134 ret &= match_type(net, NULL, iph->saddr, info->source) ^ in addrtype_mt_v0()
137 ret &= match_type(net, NULL, iph->daddr, info->dest) ^ in addrtype_mt_v0()
148 const struct iphdr *iph; in addrtype_mt_v1() local
161 iph = ip_hdr(skb); in addrtype_mt_v1()
163 ret &= match_type(net, dev, iph->saddr, info->source) ^ in addrtype_mt_v1()
166 ret &= match_type(net, dev, iph->daddr, info->dest) ^ in addrtype_mt_v1()
Dxt_socket.c149 const struct iphdr *iph = ip_hdr(skb); in xt_socket_lookup_slow_v4() local
158 if (iph->protocol == IPPROTO_UDP || iph->protocol == IPPROTO_TCP) { in xt_socket_lookup_slow_v4()
166 protocol = iph->protocol; in xt_socket_lookup_slow_v4()
167 saddr = iph->saddr; in xt_socket_lookup_slow_v4()
169 daddr = iph->daddr; in xt_socket_lookup_slow_v4()
172 } else if (iph->protocol == IPPROTO_ICMP) { in xt_socket_lookup_slow_v4()
187 ((iph->protocol != IPPROTO_ICMP && in xt_socket_lookup_slow_v4()
189 (iph->protocol == IPPROTO_ICMP && in xt_socket_lookup_slow_v4()
194 dport = (iph->protocol == IPPROTO_TCP) ? in xt_socket_lookup_slow_v4()
338 struct ipv6hdr *iph = ipv6_hdr(skb); in xt_socket_lookup_slow_v6() local
[all …]
Dxt_ipvs.c53 struct ip_vs_iphdr iph; in ipvs_mt() local
70 ip_vs_fill_iph_skb(family, skb, &iph); in ipvs_mt()
73 if ((iph.protocol == data->l4proto) ^ in ipvs_mt()
79 pp = ip_vs_proto_get(iph.protocol); in ipvs_mt()
88 cp = pp->conn_out_get(family, skb, &iph, 1 /* inverse */); in ipvs_mt()
Dxt_TCPMSS.c206 struct iphdr *iph = ip_hdr(skb); in tcpmss_tg4() local
212 iph->ihl * 4, in tcpmss_tg4()
213 sizeof(*iph) + sizeof(struct tcphdr)); in tcpmss_tg4()
217 iph = ip_hdr(skb); in tcpmss_tg4()
218 newlen = htons(ntohs(iph->tot_len) + ret); in tcpmss_tg4()
219 csum_replace2(&iph->check, iph->tot_len, newlen); in tcpmss_tg4()
220 iph->tot_len = newlen; in tcpmss_tg4()
Dnf_conntrack_irc.c110 const struct iphdr *iph; in help() local
161 iph = ip_hdr(skb); in help()
163 &iph->saddr, ntohs(th->source), in help()
164 &iph->daddr, ntohs(th->dest)); in help()
Dxt_connlimit.c339 const struct ipv6hdr *iph = ipv6_hdr(skb); in connlimit_mt() local
341 &iph->daddr : &iph->saddr, sizeof(addr.ip6)); in connlimit_mt()
343 const struct iphdr *iph = ip_hdr(skb); in connlimit_mt() local
345 iph->daddr : iph->saddr; in connlimit_mt()
Dnf_conntrack_broadcast.c29 struct iphdr *iph = ip_hdr(skb); in nf_conntrack_broadcast_help() local
47 if (ifa->ifa_broadcast == iph->daddr) { in nf_conntrack_broadcast_help()
Dxt_recent.c250 const struct iphdr *iph = ip_hdr(skb); in recent_mt() local
253 addr.ip = iph->daddr; in recent_mt()
255 addr.ip = iph->saddr; in recent_mt()
257 ttl = iph->ttl; in recent_mt()
259 const struct ipv6hdr *iph = ipv6_hdr(skb); in recent_mt() local
262 memcpy(&addr.in6, &iph->daddr, sizeof(addr.in6)); in recent_mt()
264 memcpy(&addr.in6, &iph->saddr, sizeof(addr.in6)); in recent_mt()
266 ttl = iph->hop_limit; in recent_mt()
Dxt_l2tp.c175 struct iphdr *iph = ip_hdr(skb); in l2tp_mt4() local
176 u8 ipproto = iph->protocol; in l2tp_mt4()
/linux-4.1.27/net/ipv6/
Dsit.c102 if (local == t->parms.iph.saddr && in ipip6_tunnel_lookup()
103 remote == t->parms.iph.daddr && in ipip6_tunnel_lookup()
109 if (remote == t->parms.iph.daddr && in ipip6_tunnel_lookup()
115 if (local == t->parms.iph.saddr && in ipip6_tunnel_lookup()
129 __be32 remote = parms->iph.daddr; in __ipip6_bucket()
130 __be32 local = parms->iph.saddr; in __ipip6_bucket()
198 memcpy(dev->dev_addr, &t->parms.iph.saddr, 4); in ipip6_tunnel_create()
199 memcpy(dev->broadcast, &t->parms.iph.daddr, 4); in ipip6_tunnel_create()
224 __be32 remote = parms->iph.daddr; in ipip6_tunnel_locate()
225 __be32 local = parms->iph.saddr; in ipip6_tunnel_locate()
[all …]
Dip6_offload.c143 static int ipv6_exthdrs_len(struct ipv6hdr *iph, in ipv6_exthdrs_len() argument
146 struct ipv6_opt_hdr *opth = (void *)iph; in ipv6_exthdrs_len()
147 int len = 0, proto, optlen = sizeof(*iph); in ipv6_exthdrs_len()
149 proto = iph->nexthdr; in ipv6_exthdrs_len()
172 struct ipv6hdr *iph; in ipv6_gro_receive() local
180 hlen = off + sizeof(*iph); in ipv6_gro_receive()
181 iph = skb_gro_header_fast(skb, off); in ipv6_gro_receive()
183 iph = skb_gro_header_slow(skb, hlen, off); in ipv6_gro_receive()
184 if (unlikely(!iph)) in ipv6_gro_receive()
189 skb_gro_pull(skb, sizeof(*iph)); in ipv6_gro_receive()
[all …]
Dxfrm6_mode_beet.c24 struct ipv6hdr *iph = ipv6_hdr(skb); in xfrm6_beet_make_header() local
26 iph->version = 6; in xfrm6_beet_make_header()
28 memcpy(iph->flow_lbl, XFRM_MODE_SKB_CB(skb)->flow_lbl, in xfrm6_beet_make_header()
29 sizeof(iph->flow_lbl)); in xfrm6_beet_make_header()
30 iph->nexthdr = XFRM_MODE_SKB_CB(skb)->protocol; in xfrm6_beet_make_header()
32 ipv6_change_dsfield(iph, 0, XFRM_MODE_SKB_CB(skb)->tos); in xfrm6_beet_make_header()
33 iph->hop_limit = XFRM_MODE_SKB_CB(skb)->ttl; in xfrm6_beet_make_header()
Dnetfilter.c24 const struct ipv6hdr *iph = ipv6_hdr(skb); in ip6_route_me_harder() local
30 .daddr = iph->daddr, in ip6_route_me_harder()
31 .saddr = iph->saddr, in ip6_route_me_harder()
88 const struct ipv6hdr *iph = ipv6_hdr(skb); in nf_ip6_saveroute() local
90 rt_info->daddr = iph->daddr; in nf_ip6_saveroute()
91 rt_info->saddr = iph->saddr; in nf_ip6_saveroute()
102 const struct ipv6hdr *iph = ipv6_hdr(skb); in nf_ip6_reroute() local
103 if (!ipv6_addr_equal(&iph->daddr, &rt_info->daddr) || in nf_ip6_reroute()
104 !ipv6_addr_equal(&iph->saddr, &rt_info->saddr) || in nf_ip6_reroute()
Dmip6.c133 const struct ipv6hdr *iph = ipv6_hdr(skb); in mip6_destopt_input() local
138 if (!ipv6_addr_equal(&iph->saddr, (struct in6_addr *)x->coaddr) && in mip6_destopt_input()
152 struct ipv6hdr *iph; in mip6_destopt_output() local
159 iph = ipv6_hdr(skb); in mip6_destopt_output()
176 memcpy(&hao->addr, &iph->saddr, sizeof(hao->addr)); in mip6_destopt_output()
178 memcpy(&iph->saddr, x->coaddr, sizeof(iph->saddr)); in mip6_destopt_output()
355 const struct ipv6hdr *iph = ipv6_hdr(skb); in mip6_rthdr_input() local
360 if (!ipv6_addr_equal(&iph->daddr, (struct in6_addr *)x->coaddr) && in mip6_rthdr_input()
373 struct ipv6hdr *iph; in mip6_rthdr_output() local
378 iph = ipv6_hdr(skb); in mip6_rthdr_output()
[all …]
Dah6.c160 static void ipv6_rearrange_destopt(struct ipv6hdr *iph, struct ipv6_opt_hdr *destopt) in ipv6_rearrange_destopt() argument
199 hao->addr = iph->saddr; in ipv6_rearrange_destopt()
200 iph->saddr = final_addr; in ipv6_rearrange_destopt()
213 static void ipv6_rearrange_destopt(struct ipv6hdr *iph, struct ipv6_opt_hdr *destopt) {} in ipv6_rearrange_destopt() argument
225 static void ipv6_rearrange_rthdr(struct ipv6hdr *iph, struct ipv6_rt_hdr *rthdr) in ipv6_rearrange_rthdr() argument
251 addrs[0] = iph->daddr; in ipv6_rearrange_rthdr()
252 iph->daddr = final_addr; in ipv6_rearrange_rthdr()
255 static int ipv6_clear_mutable_options(struct ipv6hdr *iph, int len, int dir) in ipv6_clear_mutable_options() argument
258 struct ipv6hdr *iph; in ipv6_clear_mutable_options() member
262 } exthdr = { .iph = iph }; in ipv6_clear_mutable_options()
[all …]
Dxfrm6_mode_ro.c43 struct ipv6hdr *iph; in xfrm6_ro_output() local
47 iph = ipv6_hdr(skb); in xfrm6_ro_output()
54 memmove(ipv6_hdr(skb), iph, hdr_len); in xfrm6_ro_output()
Dsyncookies.c117 u32 __cookie_v6_init_sequence(const struct ipv6hdr *iph, in __cookie_v6_init_sequence() argument
129 return secure_tcp_syn_cookie(&iph->saddr, &iph->daddr, th->source, in __cookie_v6_init_sequence()
136 const struct ipv6hdr *iph = ipv6_hdr(skb); in cookie_v6_init_sequence() local
142 return __cookie_v6_init_sequence(iph, th, mssp); in cookie_v6_init_sequence()
145 int __cookie_v6_check(const struct ipv6hdr *iph, const struct tcphdr *th, in __cookie_v6_check() argument
149 __u32 mssind = check_tcp_syn_cookie(cookie, &iph->saddr, &iph->daddr, in __cookie_v6_check()
Dxfrm6_state.c158 struct ipv6hdr *iph = ipv6_hdr(skb); in xfrm6_extract_header() local
160 XFRM_MODE_SKB_CB(skb)->ihl = sizeof(*iph); in xfrm6_extract_header()
163 XFRM_MODE_SKB_CB(skb)->tos = ipv6_get_dsfield(iph); in xfrm6_extract_header()
164 XFRM_MODE_SKB_CB(skb)->ttl = iph->hop_limit; in xfrm6_extract_header()
166 memcpy(XFRM_MODE_SKB_CB(skb)->flow_lbl, iph->flow_lbl, in xfrm6_extract_header()
Dtcpv6_offload.c34 const struct ipv6hdr *iph = ipv6_hdr(skb); in tcp6_gro_complete() local
37 th->check = ~tcp_v6_check(skb->len - thoff, &iph->saddr, in tcp6_gro_complete()
38 &iph->daddr, 0); in tcp6_gro_complete()
Dxfrm6_mode_transport.c24 struct ipv6hdr *iph; in xfrm6_transport_output() local
28 iph = ipv6_hdr(skb); in xfrm6_transport_output()
35 memmove(ipv6_hdr(skb), iph, hdr_len); in xfrm6_transport_output()
Dipcomp6.c61 const struct ipv6hdr *iph = (const struct ipv6hdr *)skb->data; in ipcomp6_err() local
71 x = xfrm_state_lookup(net, skb->mark, (const xfrm_address_t *)&iph->daddr, in ipcomp6_err()
Ddatagram.c273 struct ipv6hdr *iph; in ipv6_local_error() local
287 iph = ipv6_hdr(skb); in ipv6_local_error()
288 iph->daddr = fl6->daddr; in ipv6_local_error()
298 serr->addr_offset = (u8 *)&iph->daddr - skb_network_header(skb); in ipv6_local_error()
311 struct ipv6hdr *iph; in ipv6_local_rxpmtu() local
324 iph = ipv6_hdr(skb); in ipv6_local_rxpmtu()
325 iph->daddr = fl6->daddr; in ipv6_local_rxpmtu()
Dip6mr.c2307 struct ipv6hdr *iph; in ip6mr_get_route() local
2334 iph = ipv6_hdr(skb2); in ip6mr_get_route()
2335 iph->version = 0; in ip6mr_get_route()
2336 iph->priority = 0; in ip6mr_get_route()
2337 iph->flow_lbl[0] = 0; in ip6mr_get_route()
2338 iph->flow_lbl[1] = 0; in ip6mr_get_route()
2339 iph->flow_lbl[2] = 0; in ip6mr_get_route()
2340 iph->payload_len = 0; in ip6mr_get_route()
2341 iph->nexthdr = IPPROTO_NONE; in ip6mr_get_route()
2342 iph->hop_limit = 0; in ip6mr_get_route()
[all …]
Dxfrm6_tunnel.c235 const struct ipv6hdr *iph = ipv6_hdr(skb); in xfrm6_tunnel_rcv() local
238 spi = xfrm6_tunnel_spi_lookup(net, (const xfrm_address_t *)&iph->saddr); in xfrm6_tunnel_rcv()
Droute.c1012 const struct ipv6hdr *iph = ipv6_hdr(skb); in ip6_route_input() local
1017 .daddr = iph->daddr, in ip6_route_input()
1018 .saddr = iph->saddr, in ip6_route_input()
1019 .flowlabel = ip6_flowinfo(iph), in ip6_route_input()
1021 .flowi6_proto = iph->nexthdr, in ip6_route_input()
1170 const struct ipv6hdr *iph = (struct ipv6hdr *) skb->data; in ip6_update_pmtu() local
1177 fl6.daddr = iph->daddr; in ip6_update_pmtu()
1178 fl6.saddr = iph->saddr; in ip6_update_pmtu()
1179 fl6.flowlabel = ip6_flowinfo(iph); in ip6_update_pmtu()
1274 const struct ipv6hdr *iph = (struct ipv6hdr *) skb->data; in ip6_redirect() local
[all …]
Dip6_vti.c564 const struct ipv6hdr *iph = (const struct ipv6hdr *)skb->data; in vti6_err() local
565 int protocol = iph->nexthdr; in vti6_err()
567 t = vti6_tnl_lookup(dev_net(skb->dev), &iph->daddr, &iph->saddr); in vti6_err()
594 x = xfrm_state_lookup(net, mark, (const xfrm_address_t *)&iph->daddr, in vti6_err()
Dicmp.c302 struct ipv6hdr *iph = ipv6_hdr(skb); in mip6_addr_swap() local
313 tmp = iph->saddr; in mip6_addr_swap()
314 iph->saddr = hao->addr; in mip6_addr_swap()
Desp6.c430 const struct ipv6hdr *iph = (const struct ipv6hdr *)skb->data; in esp6_err() local
438 x = xfrm_state_lookup(net, skb->mark, (const xfrm_address_t *)&iph->daddr, in esp6_err()
Draw.c616 struct ipv6hdr *iph; in rawv6_send_hdrinc() local
645 iph = ipv6_hdr(skb); in rawv6_send_hdrinc()
650 err = memcpy_from_msg(iph, msg, length); in rawv6_send_hdrinc()
Dudp.c370 const struct ipv6hdr *iph = ipv6_hdr(skb); in __udp6_lib_lookup_skb() local
375 return __udp6_lib_lookup(dev_net(skb_dst(skb)->dev), &iph->saddr, sport, in __udp6_lib_lookup_skb()
376 &iph->daddr, dport, inet6_iif(skb), in __udp6_lib_lookup_skb()
Dip6_gre.c779 const struct iphdr *iph = ip_hdr(skb); in ip6gre_xmit_ipv4() local
792 dsfield = ipv4_get_dsfield(iph); in ip6gre_xmit_ipv4()
795 fl6.flowlabel |= htonl((__u32)iph->tos << IPV6_TCLASS_SHIFT) in ip6gre_xmit_ipv4()
Dip6_tunnel.c1119 const struct iphdr *iph = ip_hdr(skb); in ip4ip6_tnl_xmit() local
1137 dsfield = ipv4_get_dsfield(iph); in ip4ip6_tnl_xmit()
1140 fl6.flowlabel |= htonl((__u32)iph->tos << IPV6_TCLASS_SHIFT) in ip4ip6_tnl_xmit()
/linux-4.1.27/net/ipv4/netfilter/
Dnft_chain_route_ipv4.c33 const struct iphdr *iph; in nf_route_table_hook() local
43 iph = ip_hdr(skb); in nf_route_table_hook()
44 saddr = iph->saddr; in nf_route_table_hook()
45 daddr = iph->daddr; in nf_route_table_hook()
46 tos = iph->tos; in nf_route_table_hook()
50 iph = ip_hdr(skb); in nf_route_table_hook()
52 if (iph->saddr != saddr || in nf_route_table_hook()
53 iph->daddr != daddr || in nf_route_table_hook()
55 iph->tos != tos) in nf_route_table_hook()
Dipt_SYNPROXY.c23 struct iphdr *iph; in synproxy_build_ip() local
26 iph = (struct iphdr *)skb_put(skb, sizeof(*iph)); in synproxy_build_ip()
27 iph->version = 4; in synproxy_build_ip()
28 iph->ihl = sizeof(*iph) / 4; in synproxy_build_ip()
29 iph->tos = 0; in synproxy_build_ip()
30 iph->id = 0; in synproxy_build_ip()
31 iph->frag_off = htons(IP_DF); in synproxy_build_ip()
32 iph->ttl = sysctl_ip_default_ttl; in synproxy_build_ip()
33 iph->protocol = IPPROTO_TCP; in synproxy_build_ip()
34 iph->check = 0; in synproxy_build_ip()
[all …]
Diptable_mangle.c44 const struct iphdr *iph; in ipt_mangle_out() local
57 iph = ip_hdr(skb); in ipt_mangle_out()
58 saddr = iph->saddr; in ipt_mangle_out()
59 daddr = iph->daddr; in ipt_mangle_out()
60 tos = iph->tos; in ipt_mangle_out()
66 iph = ip_hdr(skb); in ipt_mangle_out()
68 if (iph->saddr != saddr || in ipt_mangle_out()
69 iph->daddr != daddr || in ipt_mangle_out()
71 iph->tos != tos) { in ipt_mangle_out()
Dipt_rpfilter.c78 const struct iphdr *iph; in rpfilter_mt() local
88 iph = ip_hdr(skb); in rpfilter_mt()
89 if (ipv4_is_multicast(iph->daddr)) { in rpfilter_mt()
90 if (ipv4_is_zeronet(iph->saddr)) in rpfilter_mt()
91 return ipv4_is_local_multicast(iph->daddr) ^ invert; in rpfilter_mt()
94 flow.daddr = iph->saddr; in rpfilter_mt()
95 flow.saddr = rpfilter_get_saddr(iph->daddr); in rpfilter_mt()
98 flow.flowi4_tos = RT_TOS(iph->tos); in rpfilter_mt()
Dipt_ECN.c31 struct iphdr *iph = ip_hdr(skb); in set_ect_ip() local
33 if ((iph->tos & IPT_ECN_IP_MASK) != (einfo->ip_ect & IPT_ECN_IP_MASK)) { in set_ect_ip()
37 iph = ip_hdr(skb); in set_ect_ip()
38 oldtos = iph->tos; in set_ect_ip()
39 iph->tos &= ~IPT_ECN_IP_MASK; in set_ect_ip()
40 iph->tos |= (einfo->ip_ect & IPT_ECN_IP_MASK); in set_ect_ip()
41 csum_replace2(&iph->check, htons(oldtos), htons(iph->tos)); in set_ect_ip()
Dnf_nat_l3proto_ipv4.c84 struct iphdr *iph; in nf_nat_ipv4_manip_pkt() local
87 if (!skb_make_writable(skb, iphdroff + sizeof(*iph))) in nf_nat_ipv4_manip_pkt()
90 iph = (void *)skb->data + iphdroff; in nf_nat_ipv4_manip_pkt()
91 hdroff = iphdroff + iph->ihl * 4; in nf_nat_ipv4_manip_pkt()
96 iph = (void *)skb->data + iphdroff; in nf_nat_ipv4_manip_pkt()
99 csum_replace4(&iph->check, iph->saddr, target->src.u3.ip); in nf_nat_ipv4_manip_pkt()
100 iph->saddr = target->src.u3.ip; in nf_nat_ipv4_manip_pkt()
102 csum_replace4(&iph->check, iph->daddr, target->dst.u3.ip); in nf_nat_ipv4_manip_pkt()
103 iph->daddr = target->dst.u3.ip; in nf_nat_ipv4_manip_pkt()
113 struct iphdr *iph = (struct iphdr *)(skb->data + iphdroff); in nf_nat_ipv4_csum_update() local
[all …]
Dnf_reject_ipv4.c171 struct iphdr *iph = ip_hdr(skb_in); in nf_send_unreach() local
174 if (skb_in->csum_bad || iph->frag_off & htons(IP_OFFSET)) in nf_send_unreach()
182 if (iph->protocol == IPPROTO_TCP || iph->protocol == IPPROTO_UDP) in nf_send_unreach()
183 proto = iph->protocol; in nf_send_unreach()
Dnf_conntrack_l3proto_ipv4.c69 const struct iphdr *iph; in ipv4_get_l4proto() local
72 iph = skb_header_pointer(skb, nhoff, sizeof(_iph), &_iph); in ipv4_get_l4proto()
73 if (iph == NULL) in ipv4_get_l4proto()
78 if (iph->frag_off & htons(IP_OFFSET)) in ipv4_get_l4proto()
81 *dataoff = nhoff + (iph->ihl << 2); in ipv4_get_l4proto()
82 *protonum = iph->protocol; in ipv4_get_l4proto()
88 nhoff, iph->ihl << 2, skb->len); in ipv4_get_l4proto()
Dipt_CLUSTERIP.c245 const struct iphdr *iph = ip_hdr(skb); in clusterip_hashfn() local
250 poff = proto_ports_offset(iph->protocol); in clusterip_hashfn()
255 ports = skb_header_pointer(skb, iph->ihl * 4 + poff, 4, _ports); in clusterip_hashfn()
261 net_info_ratelimited("unknown protocol %u\n", iph->protocol); in clusterip_hashfn()
266 hashval = jhash_1word(ntohl(iph->saddr), in clusterip_hashfn()
270 hashval = jhash_2words(ntohl(iph->saddr), sport, in clusterip_hashfn()
274 hashval = jhash_3words(ntohl(iph->saddr), sport, dport, in clusterip_hashfn()
Dnf_nat_snmp_basic.c1184 struct iphdr *iph = ip_hdr(skb); in snmp_translate() local
1185 struct udphdr *udph = (struct udphdr *)((__be32 *)iph + iph->ihl); in snmp_translate()
1224 const struct iphdr *iph = ip_hdr(skb); in help() local
1225 const struct udphdr *udph = (struct udphdr *)((__be32 *)iph + iph->ihl); in help()
1243 if (ntohs(udph->len) != skb->len - (iph->ihl << 2)) { in help()
1245 &iph->saddr, &iph->daddr); in help()
/linux-4.1.27/include/net/
Ddsfield.h15 static inline __u8 ipv4_get_dsfield(const struct iphdr *iph) in ipv4_get_dsfield() argument
17 return iph->tos; in ipv4_get_dsfield()
27 static inline void ipv4_change_dsfield(struct iphdr *iph,__u8 mask, in ipv4_change_dsfield() argument
30 __u32 check = ntohs((__force __be16)iph->check); in ipv4_change_dsfield()
33 dsfield = (iph->tos & mask) | value; in ipv4_change_dsfield()
34 check += iph->tos; in ipv4_change_dsfield()
38 iph->check = (__force __sum16)htons(check); in ipv4_change_dsfield()
39 iph->tos = dsfield; in ipv4_change_dsfield()
Dinet_ecn.h74 static inline int IP_ECN_set_ce(struct iphdr *iph) in IP_ECN_set_ce() argument
76 u32 check = (__force u32)iph->check; in IP_ECN_set_ce()
77 u32 ecn = (iph->tos + 1) & INET_ECN_MASK; in IP_ECN_set_ce()
96 iph->check = (__force __sum16)(check + (check>=0xFFFF)); in IP_ECN_set_ce()
97 iph->tos |= INET_ECN_CE; in IP_ECN_set_ce()
101 static inline void IP_ECN_clear(struct iphdr *iph) in IP_ECN_clear() argument
103 iph->tos &= ~INET_ECN_MASK; in IP_ECN_clear()
120 static inline int IP6_ECN_set_ce(struct sk_buff *skb, struct ipv6hdr *iph) in IP6_ECN_set_ce() argument
124 if (INET_ECN_is_not_ect(ipv6_get_dsfield(iph))) in IP6_ECN_set_ce()
127 from = *(__be32 *)iph; in IP6_ECN_set_ce()
[all …]
Dip_vs.h126 const struct iphdr *iph = nh; in ip_vs_fill_ip4hdr() local
128 iphdr->len = iph->ihl * 4; in ip_vs_fill_ip4hdr()
130 iphdr->protocol = iph->protocol; in ip_vs_fill_ip4hdr()
131 iphdr->saddr.ip = iph->saddr; in ip_vs_fill_ip4hdr()
132 iphdr->daddr.ip = iph->daddr; in ip_vs_fill_ip4hdr()
144 const struct ipv6hdr *iph = in ip_vs_fill_iph_skb() local
146 iphdr->saddr.in6 = iph->saddr; in ip_vs_fill_iph_skb()
147 iphdr->daddr.in6 = iph->daddr; in ip_vs_fill_iph_skb()
157 const struct iphdr *iph = in ip_vs_fill_iph_skb() local
159 iphdr->len = iph->ihl * 4; in ip_vs_fill_iph_skb()
[all …]
Dip.h255 static inline bool ip_is_fragment(const struct iphdr *iph) in ip_is_fragment() argument
257 return (iph->frag_off & htons(IP_MF | IP_OFFSET)) != 0; in ip_is_fragment()
266 int ip_decrease_ttl(struct iphdr *iph) in ip_decrease_ttl() argument
268 u32 check = (__force u32)iph->check; in ip_decrease_ttl()
270 iph->check = (__force __sum16)(check + (check>=0xFFFF)); in ip_decrease_ttl()
271 return --iph->ttl; in ip_decrease_ttl()
323 void __ip_select_ident(struct net *net, struct iphdr *iph, int segs);
328 struct iphdr *iph = ip_hdr(skb); in ip_select_ident_segs() local
330 if ((iph->frag_off & htons(IP_DF)) && !skb->ignore_df) { in ip_select_ident_segs()
337 iph->id = htons(inet_sk(sk)->inet_id); in ip_select_ident_segs()
[all …]
Dip_tunnels.h177 static inline u8 ip_tunnel_get_dsfield(const struct iphdr *iph, in ip_tunnel_get_dsfield() argument
181 return iph->tos; in ip_tunnel_get_dsfield()
183 return ipv6_get_dsfield((const struct ipv6hdr *)iph); in ip_tunnel_get_dsfield()
189 static inline u8 ip_tunnel_ecn_encap(u8 tos, const struct iphdr *iph, in ip_tunnel_ecn_encap() argument
192 u8 inner = ip_tunnel_get_dsfield(iph, skb); in ip_tunnel_ecn_encap()
Dip6_checksum.h53 const struct ipv6hdr *iph = skb_gro_network_header(skb); in ip6_gro_compute_pseudo() local
55 return ~csum_unfold(csum_ipv6_magic(&iph->saddr, &iph->daddr, in ip6_gro_compute_pseudo()
Dinet_hashtables.h377 const struct iphdr *iph = ip_hdr(skb); in __inet_lookup_skb() local
383 iph->saddr, sport, in __inet_lookup_skb()
384 iph->daddr, dport, inet_iif(skb)); in __inet_lookup_skb()
Dtcp.h474 int __cookie_v4_check(const struct iphdr *iph, const struct tcphdr *th,
496 u32 __cookie_v4_init_sequence(const struct iphdr *iph, const struct tcphdr *th,
506 int __cookie_v6_check(const struct ipv6hdr *iph, const struct tcphdr *th,
510 u32 __cookie_v6_init_sequence(const struct ipv6hdr *iph,
/linux-4.1.27/include/net/netfilter/
Dnf_queue.h46 const struct iphdr *iph = ip_hdr(skb); in hash_v4() local
49 if ((__force u32)iph->saddr < (__force u32)iph->daddr) in hash_v4()
50 return jhash_3words((__force u32)iph->saddr, in hash_v4()
51 (__force u32)iph->daddr, iph->protocol, jhash_initval); in hash_v4()
53 return jhash_3words((__force u32)iph->daddr, in hash_v4()
54 (__force u32)iph->saddr, iph->protocol, jhash_initval); in hash_v4()
/linux-4.1.27/net/ipv6/netfilter/
Dip6t_rpfilter.c33 struct ipv6hdr *iph = ipv6_hdr(skb); in rpfilter_lookup_reverse6() local
37 .flowlabel = (* (__be32 *) iph) & IPV6_FLOWINFO_MASK, in rpfilter_lookup_reverse6()
38 .flowi6_proto = iph->nexthdr, in rpfilter_lookup_reverse6()
39 .daddr = iph->saddr, in rpfilter_lookup_reverse6()
43 if (rpfilter_addr_unicast(&iph->daddr)) { in rpfilter_lookup_reverse6()
44 memcpy(&fl6.saddr, &iph->daddr, sizeof(struct in6_addr)); in rpfilter_lookup_reverse6()
85 struct ipv6hdr *iph; in rpfilter_mt() local
91 iph = ipv6_hdr(skb); in rpfilter_mt()
92 saddrtype = ipv6_addr_type(&iph->saddr); in rpfilter_mt()
Dip6t_SYNPROXY.c26 struct ipv6hdr *iph; in synproxy_build_ip() local
29 iph = (struct ipv6hdr *)skb_put(skb, sizeof(*iph)); in synproxy_build_ip()
30 ip6_flow_hdr(iph, 0, 0); in synproxy_build_ip()
31 iph->hop_limit = 64; //XXX in synproxy_build_ip()
32 iph->nexthdr = IPPROTO_TCP; in synproxy_build_ip()
33 iph->saddr = *saddr; in synproxy_build_ip()
34 iph->daddr = *daddr; in synproxy_build_ip()
36 return iph; in synproxy_build_ip()
90 struct ipv6hdr *iph, *niph; in synproxy_send_client_synack() local
95 iph = ipv6_hdr(skb); in synproxy_send_client_synack()
[all …]
Dnf_log_ipv6.c334 const struct iphdr *iph = in dump_ipv6_mac_header() local
336 nf_log_buf_add(m, "TUNNEL=%pI4->%pI4 ", &iph->saddr, in dump_ipv6_mac_header()
337 &iph->daddr); in dump_ipv6_mac_header()
/linux-4.1.27/net/core/
Dflow_dissector.c22 static void iph_to_flow_copy_addrs(struct flow_keys *flow, const struct iphdr *iph) in iph_to_flow_copy_addrs() argument
26 memcpy(&flow->src, &iph->saddr, sizeof(flow->src) + sizeof(flow->dst)); in iph_to_flow_copy_addrs()
91 const struct iphdr *iph; in __skb_flow_dissect() local
94 iph = __skb_header_pointer(skb, nhoff, sizeof(_iph), data, hlen, &_iph); in __skb_flow_dissect()
95 if (!iph || iph->ihl < 5) in __skb_flow_dissect()
97 nhoff += iph->ihl * 4; in __skb_flow_dissect()
99 ip_proto = iph->protocol; in __skb_flow_dissect()
100 if (ip_is_fragment(iph)) in __skb_flow_dissect()
110 iph_to_flow_copy_addrs(flow, iph); in __skb_flow_dissect()
114 const struct ipv6hdr *iph; in __skb_flow_dissect() local
[all …]
Dnetpoll.c378 struct iphdr *iph; in netpoll_send_udp() local
387 ip_len = udp_len + sizeof(*iph); in netpoll_send_udp()
443 skb_push(skb, sizeof(*iph)); in netpoll_send_udp()
445 iph = ip_hdr(skb); in netpoll_send_udp()
448 put_unaligned(0x45, (unsigned char *)iph); in netpoll_send_udp()
449 iph->tos = 0; in netpoll_send_udp()
450 put_unaligned(htons(ip_len), &(iph->tot_len)); in netpoll_send_udp()
451 iph->id = htons(atomic_inc_return(&ip_ident)); in netpoll_send_udp()
452 iph->frag_off = 0; in netpoll_send_udp()
453 iph->ttl = 64; in netpoll_send_udp()
[all …]
Dtso.c17 struct iphdr *iph; in tso_build_hdr() local
23 iph = (struct iphdr *)(hdr + mac_hdr_len); in tso_build_hdr()
24 iph->id = htons(tso->ip_id); in tso_build_hdr()
25 iph->tot_len = htons(size + hdr_len - mac_hdr_len); in tso_build_hdr()
Dpktgen.c2599 struct iphdr *iph; in process_ipsec() local
2624 iph = ip_hdr(skb); in process_ipsec()
2625 iph->tot_len = htons(skb->len - ETH_HLEN); in process_ipsec()
2626 ip_send_check(iph); in process_ipsec()
2753 struct iphdr *iph; in fill_packet_ipv4() local
2810 iph = (struct iphdr *) skb_put(skb, sizeof(struct iphdr)); in fill_packet_ipv4()
2831 iph->ihl = 5; in fill_packet_ipv4()
2832 iph->version = 4; in fill_packet_ipv4()
2833 iph->ttl = 32; in fill_packet_ipv4()
2834 iph->tos = pkt_dev->tos; in fill_packet_ipv4()
[all …]
/linux-4.1.27/net/bridge/netfilter/
Dnf_tables_bridge.c24 struct iphdr *iph; in nft_bridge_iphdr_validate() local
30 iph = ip_hdr(skb); in nft_bridge_iphdr_validate()
31 if (iph->ihl < 5 || iph->version != 4) in nft_bridge_iphdr_validate()
34 len = ntohs(iph->tot_len); in nft_bridge_iphdr_validate()
37 else if (len < (iph->ihl*4)) in nft_bridge_iphdr_validate()
40 if (!pskb_may_pull(skb, iph->ihl*4)) in nft_bridge_iphdr_validate()
/linux-4.1.27/drivers/net/ppp/
Dpptp.c189 struct iphdr *iph; in pptp_xmit() local
205 max_headroom = LL_RESERVED_SPACE(tdev) + sizeof(*iph) + sizeof(*hdr) + 2; in pptp_xmit()
262 skb_push(skb, sizeof(*iph)); in pptp_xmit()
267 iph = ip_hdr(skb); in pptp_xmit()
268 iph->version = 4; in pptp_xmit()
269 iph->ihl = sizeof(struct iphdr) >> 2; in pptp_xmit()
271 iph->frag_off = htons(IP_DF); in pptp_xmit()
273 iph->frag_off = 0; in pptp_xmit()
274 iph->protocol = IPPROTO_GRE; in pptp_xmit()
275 iph->tos = 0; in pptp_xmit()
[all …]
/linux-4.1.27/arch/frv/include/asm/
Dchecksum.h55 __sum16 ip_fast_csum(const void *iph, unsigned int ihl) in ip_fast_csum() argument
75 : "=r" (sum), "=r" (iph), "=r" (ihl), "=r" (inc), "=&r"(tmp) in ip_fast_csum()
76 : "0" (sum), "1" (iph), "2" (ihl), "3" (4), in ip_fast_csum()
77 "m"(*(volatile struct { int _[100]; } *)iph) in ip_fast_csum()
/linux-4.1.27/net/dccp/
Dipv4.c148 const struct iphdr *iph, in dccp_do_pmtu_discovery() argument
238 const struct iphdr *iph = (struct iphdr *)skb->data; in dccp_v4_err() local
239 const u8 offset = iph->ihl << 2; in dccp_v4_err()
257 iph->daddr, dh->dccph_dport, in dccp_v4_err()
258 iph->saddr, ntohs(dh->dccph_sport), in dccp_v4_err()
306 dccp_do_pmtu_discovery(sk, iph, info); in dccp_v4_err()
449 const struct iphdr *iph = ip_hdr(skb); in dccp_v4_hnd_req() local
453 iph->saddr, iph->daddr); in dccp_v4_hnd_req()
461 iph->saddr, dh->dccph_sport, in dccp_v4_hnd_req()
462 iph->daddr, dh->dccph_dport, in dccp_v4_hnd_req()
[all …]
Dipv6.c301 const struct ipv6hdr *iph = ipv6_hdr(skb); in dccp_v6_hnd_req() local
305 req = inet6_csk_search_req(sk, dh->dccph_sport, &iph->saddr, in dccp_v6_hnd_req()
306 &iph->daddr, inet6_iif(skb)); in dccp_v6_hnd_req()
314 &iph->saddr, dh->dccph_sport, in dccp_v6_hnd_req()
315 &iph->daddr, ntohs(dh->dccph_dport), in dccp_v6_hnd_req()
/linux-4.1.27/arch/x86/um/asm/
Dchecksum.h118 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) in ip_fast_csum() argument
142 : "=r" (sum), "=r" (iph), "=r" (ihl) in ip_fast_csum()
143 : "1" (iph), "2" (ihl) in ip_fast_csum()
/linux-4.1.27/Documentation/networking/timestamping/
Dtxtimestamp.c341 struct iphdr *iph = (void *) buf; in do_test() local
343 memset(iph, 0, sizeof(*iph)); in do_test()
344 iph->ihl = 5; in do_test()
345 iph->version = 4; in do_test()
346 iph->ttl = 2; in do_test()
347 iph->daddr = daddr.sin_addr.s_addr; in do_test()
348 iph->protocol = IPPROTO_UDP; in do_test()
351 off = sizeof(*iph); in do_test()
/linux-4.1.27/arch/avr32/include/asm/
Dchecksum.h62 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) in ip_fast_csum() argument
88 : "=r"(sum), "=r"(iph), "=r"(ihl), "=r"(tmp) in ip_fast_csum()
89 : "1"(iph), "2"(ihl) in ip_fast_csum()
/linux-4.1.27/arch/m68k/include/asm/
Dchecksum.h45 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) in ip_fast_csum() argument
60 : "=d" (sum), "=&a" (iph), "=&d" (ihl), "=&d" (tmp) in ip_fast_csum()
61 : "0" (sum), "1" (iph), "2" (ihl) in ip_fast_csum()
/linux-4.1.27/net/openvswitch/
Dflow.h103 const struct iphdr *iph, in ovs_flow_tun_info_init() argument
111 __ovs_flow_tun_info_init(tun_info, iph->saddr, iph->daddr, in ovs_flow_tun_info_init()
112 iph->tos, iph->ttl, in ovs_flow_tun_info_init()
Dvport-vxlan.c70 struct iphdr *iph; in vxlan_rcv() local
83 iph = ip_hdr(skb); in vxlan_rcv()
85 ovs_flow_tun_info_init(&tun_info, iph, in vxlan_rcv()
/linux-4.1.27/net/bridge/
Dbr_netfilter.c213 const struct iphdr *iph; in br_parse_ip_options() local
220 iph = ip_hdr(skb); in br_parse_ip_options()
223 if (iph->ihl < 5 || iph->version != 4) in br_parse_ip_options()
226 if (!pskb_may_pull(skb, iph->ihl*4)) in br_parse_ip_options()
229 iph = ip_hdr(skb); in br_parse_ip_options()
230 if (unlikely(ip_fast_csum((u8 *)iph, iph->ihl))) in br_parse_ip_options()
233 len = ntohs(iph->tot_len); in br_parse_ip_options()
237 } else if (len < (iph->ihl*4)) in br_parse_ip_options()
397 struct iphdr *iph = ip_hdr(skb); in br_nf_pre_routing_finish() local
412 if ((err = ip_route_input(skb, iph->daddr, iph->saddr, iph->tos, dev))) { in br_nf_pre_routing_finish()
[all …]
Dbr_multicast.c355 struct iphdr *iph; in br_ip4_multicast_alloc_query() local
357 skb = netdev_alloc_skb_ip_align(br->dev, sizeof(*eth) + sizeof(*iph) + in br_ip4_multicast_alloc_query()
378 iph = ip_hdr(skb); in br_ip4_multicast_alloc_query()
380 iph->version = 4; in br_ip4_multicast_alloc_query()
381 iph->ihl = 6; in br_ip4_multicast_alloc_query()
382 iph->tos = 0xc0; in br_ip4_multicast_alloc_query()
383 iph->tot_len = htons(sizeof(*iph) + sizeof(*ih) + 4); in br_ip4_multicast_alloc_query()
384 iph->id = 0; in br_ip4_multicast_alloc_query()
385 iph->frag_off = htons(IP_DF); in br_ip4_multicast_alloc_query()
386 iph->ttl = 1; in br_ip4_multicast_alloc_query()
[all …]
/linux-4.1.27/arch/score/include/asm/
Dchecksum.h83 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) in ip_fast_csum() argument
123 : "=&r" (sum), "=&r" (iph), "=&r" (ihl), "=&r" (dummy) in ip_fast_csum()
124 : "1" (iph), "2" (ihl)); in ip_fast_csum()
/linux-4.1.27/arch/m32r/include/asm/
Dchecksum.h79 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) in ip_fast_csum() argument
109 : "=&r" (sum), "=r" (iph), "=r" (ihl), "=&r" (tmpreg0), "=&r" (tmpreg1) in ip_fast_csum()
110 : "1" (iph), "2" (ihl) in ip_fast_csum()
/linux-4.1.27/arch/arm/include/asm/
Dchecksum.h60 ip_fast_csum(const void *iph, unsigned int ihl) in ip_fast_csum() argument
80 : "=r" (sum), "=r" (iph), "=r" (ihl), "=r" (tmp1) in ip_fast_csum()
81 : "1" (iph), "2" (ihl) in ip_fast_csum()
/linux-4.1.27/arch/parisc/include/asm/
Dchecksum.h41 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) in ip_fast_csum() argument
66 : "=r" (sum), "=r" (iph), "=r" (ihl) in ip_fast_csum()
67 : "1" (iph), "2" (ihl) in ip_fast_csum()
/linux-4.1.27/arch/x86/include/asm/
Dchecksum_64.h45 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) in ip_fast_csum() argument
69 : "=r" (sum), "=r" (iph), "=r" (ihl) in ip_fast_csum()
70 : "1" (iph), "2" (ihl) in ip_fast_csum()
Dchecksum_32.h70 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) in ip_fast_csum() argument
94 : "=r" (sum), "=r" (iph), "=r" (ihl) in ip_fast_csum()
95 : "1" (iph), "2" (ihl) in ip_fast_csum()
/linux-4.1.27/arch/sh/include/asm/
Dchecksum_32.h89 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) in ip_fast_csum() argument
110 : "=r" (sum), "=r" (iph), "=r" (ihl), "=&r" (__dummy0), "=&z" (__dummy1) in ip_fast_csum()
111 : "1" (iph), "2" (ihl) in ip_fast_csum()
/linux-4.1.27/drivers/infiniband/hw/nes/
Dnes_mgt.c177 struct iphdr *iph = (struct iphdr *)(cb->data_start + ETH_HLEN); in nes_get_seq() local
178 struct tcphdr *tcph = (struct tcphdr *)(((char *)iph) + (4 * iph->ihl)); in nes_get_seq()
245 struct iphdr *iph; in get_fpdu_info() local
337 iph = (struct iphdr *)(cb->data_start + ETH_HLEN); in get_fpdu_info()
338 tcph = (struct tcphdr *)(((char *)iph) + (4 * iph->ihl)); in get_fpdu_info()
357 iph = (struct iphdr *)(fpdu_info->hdr_vbase + ETH_HLEN); in get_fpdu_info()
358 tcph = (struct tcphdr *)(((char *)iph) + (4 * iph->ihl)); in get_fpdu_info()
361 iph->tot_len = cpu_to_be16(tot_len); in get_fpdu_info()
362 iph->saddr = cpu_to_be32(0x7f000001); in get_fpdu_info()
386 iph = (struct iphdr *)(cb->data_start + ETH_HLEN); in get_fpdu_info()
[all …]
Dnes_cm.c440 struct iphdr *iph; in form_cm_frame() local
443 u16 packetsize = sizeof(*iph); in form_cm_frame()
449 memset(skb->data, 0x00, ETH_HLEN + sizeof(*iph) + sizeof(*tcph)); in form_cm_frame()
456 iph = (struct iphdr *)buf; in form_cm_frame()
457 buf += sizeof(*iph); in form_cm_frame()
461 skb_set_transport_header(skb, ETH_HLEN + sizeof(*iph)); in form_cm_frame()
475 iph->version = IPVERSION; in form_cm_frame()
476 iph->ihl = 5; /* 5 * 4Byte words, IP headr len */ in form_cm_frame()
477 iph->tos = 0; in form_cm_frame()
478 iph->tot_len = htons(packetsize); in form_cm_frame()
[all …]
Dnes_nic.c483 struct iphdr *iph; in nes_netdev_start_xmit() local
604 iph = (struct iphdr *) in nes_netdev_start_xmit()
655 iph->tot_len = htons(tso_wqe_length + original_first_length - nhoffset); in nes_netdev_start_xmit()
/linux-4.1.27/arch/arc/include/asm/
Dchecksum.h41 ip_fast_csum(const void *iph, unsigned int ihl) in ip_fast_csum() argument
43 const void *ptr = iph; in ip_fast_csum()
/linux-4.1.27/arch/xtensa/include/asm/
Dchecksum.h90 static __inline__ __sum16 ip_fast_csum(const void *iph, unsigned int ihl) in ip_fast_csum() argument
117 : "=r" (sum), "=r" (iph), "=r" (ihl), "=&r" (tmp), in ip_fast_csum()
119 : "1" (iph), "2" (ihl) in ip_fast_csum()
/linux-4.1.27/drivers/net/usb/
Dcdc_mbim.c310 struct ipv6hdr *iph = (void *)buf; in do_neigh_solicit() local
311 struct nd_msg *msg = (void *)(iph + 1); in do_neigh_solicit()
319 if (!ipv6_addr_is_solict_mult(&iph->daddr) || in do_neigh_solicit()
320 !(ipv6_addr_type(&iph->saddr) & IPV6_ADDR_UNICAST)) in do_neigh_solicit()
345 ipv6_stub->ndisc_send_na(netdev, NULL, &iph->saddr, &msg->target, in do_neigh_solicit()
356 struct ipv6hdr *iph = (void *)buf; in is_neigh_solicit() local
357 struct nd_msg *msg = (void *)(iph + 1); in is_neigh_solicit()
360 iph->nexthdr == IPPROTO_ICMPV6 && in is_neigh_solicit()
/linux-4.1.27/drivers/staging/gdm72xx/
Dgdm_qos.c188 static int get_qos_index(struct nic *nic, u8 *iph, u8 *tcpudph) in get_qos_index() argument
193 if (iph == NULL || tcpudph == NULL) in get_qos_index()
196 ip_ver = (iph[0]>>4)&0xf; in get_qos_index()
206 if (chk_ipv4_rule(&qcb->csr[i], iph, tcpudph) == 0) in get_qos_index()
258 struct iphdr *iph = (struct iphdr *)((char *)ethh + ETH_HLEN); in gdm_qos_send_hci_pkt() local
264 tcph = (struct tcphdr *)iph + iph->ihl*4; in gdm_qos_send_hci_pkt()
277 index = get_qos_index(nic, (u8 *)iph, (u8 *)tcph); in gdm_qos_send_hci_pkt()
/linux-4.1.27/arch/cris/include/asm/
Dchecksum.h55 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) in ip_fast_csum() argument
57 return csum_fold(csum_partial(iph, ihl * 4, 0)); in ip_fast_csum()
/linux-4.1.27/net/netfilter/ipset/
Dip_set_getport.c100 const struct iphdr *iph = ip_hdr(skb); in ip_set_get_ip4_port() local
102 int protocol = iph->protocol; in ip_set_get_ip4_port()
108 if (ntohs(iph->frag_off) & IP_OFFSET) in ip_set_get_ip4_port()
/linux-4.1.27/arch/sparc/include/asm/
Dchecksum_32.h121 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) in ip_fast_csum() argument
151 : "=r" (sum), "=&r" (iph) in ip_fast_csum()
152 : "r" (ihl), "1" (iph) in ip_fast_csum()
Dchecksum_64.h80 __sum16 ip_fast_csum(const void *iph, unsigned int ihl);
/linux-4.1.27/arch/mn10300/lib/
Dchecksum.c30 __sum16 ip_fast_csum(const void *iph, unsigned int ihl) in ip_fast_csum() argument
32 return ~do_csum(iph, ihl * 4); in ip_fast_csum()
/linux-4.1.27/arch/s390/include/asm/
Dchecksum.h84 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) in ip_fast_csum() argument
86 return csum_fold(csum_partial(iph, ihl*4, 0)); in ip_fast_csum()
/linux-4.1.27/arch/alpha/lib/
Dchecksum.c147 __sum16 ip_fast_csum(const void *iph, unsigned int ihl) in ip_fast_csum() argument
149 return (__force __sum16)~do_csum(iph,ihl*4); in ip_fast_csum()
/linux-4.1.27/lib/
Dchecksum.c110 __sum16 ip_fast_csum(const void *iph, unsigned int ihl) in ip_fast_csum() argument
112 return (__force __sum16)~do_csum(iph, ihl*4); in ip_fast_csum()
/linux-4.1.27/drivers/net/ethernet/sun/
Dsunvnet.c319 struct iphdr *iph = ip_hdr(skb); in vnet_fullcsum() local
324 if (iph->protocol != IPPROTO_TCP && in vnet_fullcsum()
325 iph->protocol != IPPROTO_UDP) in vnet_fullcsum()
330 if (iph->protocol == IPPROTO_TCP) { in vnet_fullcsum()
335 ptcp->check = csum_tcpudp_magic(iph->saddr, iph->daddr, in vnet_fullcsum()
338 } else if (iph->protocol == IPPROTO_UDP) { in vnet_fullcsum()
343 pudp->check = csum_tcpudp_magic(iph->saddr, iph->daddr, in vnet_fullcsum()
394 struct iphdr *iph = (struct iphdr *)skb->data; in vnet_rx_one() local
396 iph->check = 0; in vnet_rx_one()
397 ip_send_check(iph); in vnet_rx_one()
[all …]
/linux-4.1.27/drivers/infiniband/hw/qib/
Dqib_user_sdma.c457 hdr->iph.pkt_flags = in qib_user_sdma_page_to_frags()
458 cpu_to_le16(le16_to_cpu(hdr->iph.pkt_flags)|0x2); in qib_user_sdma_page_to_frags()
469 vcto = le32_to_cpu(hdr->iph.ver_ctxt_tid_offset); in qib_user_sdma_page_to_frags()
470 hdr->iph.chksum = cpu_to_le16(QIB_LRH_BTH + in qib_user_sdma_page_to_frags()
473 le16_to_cpu(hdr->iph.pkt_flags)); in qib_user_sdma_page_to_frags()
503 hdr->iph.ver_ctxt_tid_offset = cpu_to_le32( in qib_user_sdma_page_to_frags()
504 (le32_to_cpu(hdr->iph.ver_ctxt_tid_offset)&0xFF000000) + in qib_user_sdma_page_to_frags()
513 vcto = le32_to_cpu(hdr->iph.ver_ctxt_tid_offset); in qib_user_sdma_page_to_frags()
514 hdr->iph.chksum = cpu_to_le16(QIB_LRH_BTH + in qib_user_sdma_page_to_frags()
517 le16_to_cpu(hdr->iph.pkt_flags)); in qib_user_sdma_page_to_frags()
Dqib_common.h703 struct qib_header iph; member
/linux-4.1.27/arch/mips/include/asm/
Dchecksum.h131 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) in ip_fast_csum() argument
133 const unsigned int *word = iph; in ip_fast_csum()
/linux-4.1.27/drivers/net/ethernet/apm/xgene/
Dxgene_enet_main.c187 struct iphdr *iph; in xgene_enet_work_msg() local
201 iph = ip_hdr(skb); in xgene_enet_work_msg()
202 if (unlikely(ip_is_fragment(iph))) in xgene_enet_work_msg()
205 if (likely(iph->protocol == IPPROTO_TCP)) { in xgene_enet_work_msg()
209 } else if (iph->protocol == IPPROTO_UDP) { in xgene_enet_work_msg()
291 struct iphdr *iph = ip_hdr(skb); in xgene_enet_skip_csum() local
293 if (!ip_is_fragment(iph) || in xgene_enet_skip_csum()
294 (iph->protocol != IPPROTO_TCP && iph->protocol != IPPROTO_UDP)) { in xgene_enet_skip_csum()
/linux-4.1.27/drivers/net/ethernet/intel/i40evf/
Di40e_txrx.c861 struct iphdr *iph; in i40e_rx_checksum() local
931 iph = ip_hdr(skb); in i40e_rx_checksum()
932 csum = csum_tcpudp_magic(iph->saddr, iph->daddr, in i40e_rx_checksum()
1425 struct iphdr *iph; in i40e_tso() local
1436 iph = skb->encapsulation ? inner_ip_hdr(skb) : ip_hdr(skb); in i40e_tso()
1439 if (iph->version == 4) { in i40e_tso()
1441 iph->tot_len = 0; in i40e_tso()
1442 iph->check = 0; in i40e_tso()
1443 tcph->check = ~csum_tcpudp_magic(iph->saddr, iph->daddr, in i40e_tso()
/linux-4.1.27/arch/ia64/include/asm/
Dchecksum.h13 extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl);
/linux-4.1.27/arch/alpha/include/asm/
Dchecksum.h10 extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl);
/linux-4.1.27/net/atm/
Dmpc.c494 struct iphdr *iph; in send_via_shortcut() local
507 iph = (struct iphdr *)buff; in send_via_shortcut()
508 ipaddr = iph->daddr; in send_via_shortcut()
531 if (iph->ttl <= 1) { in send_via_shortcut()
533 mpc->dev->name, iph->ttl); in send_via_shortcut()
537 iph->ttl--; in send_via_shortcut()
538 iph->check = 0; in send_via_shortcut()
539 iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl); in send_via_shortcut()
Dbr2684.c481 struct iphdr *iph; in br2684_push() local
484 iph = ip_hdr(skb); in br2684_push()
485 if (iph->version == 4) in br2684_push()
487 else if (iph->version == 6) in br2684_push()
/linux-4.1.27/include/linux/
Dinet_lro.h51 struct iphdr *iph; member
/linux-4.1.27/arch/nios2/include/asm/
Dchecksum.h22 extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl);
/linux-4.1.27/include/asm-generic/
Dchecksum.h46 extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl);
/linux-4.1.27/arch/metag/include/asm/
Dchecksum.h55 extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl);
/linux-4.1.27/arch/mn10300/include/asm/
Dchecksum.h20 extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl);
/linux-4.1.27/drivers/net/ethernet/qlogic/qlcnic/
Dqlcnic_io.c1267 struct iphdr *iph; in qlcnic_process_lro() local
1325 iph = (struct iphdr *)skb->data; in qlcnic_process_lro()
1326 th = (struct tcphdr *)(skb->data + (iph->ihl << 2)); in qlcnic_process_lro()
1327 length = (iph->ihl << 2) + (th->doff << 2) + lro_length; in qlcnic_process_lro()
1328 csum_replace2(&iph->check, iph->tot_len, htons(length)); in qlcnic_process_lro()
1329 iph->tot_len = htons(length); in qlcnic_process_lro()
1789 struct iphdr *iph; in qlcnic_83xx_process_lro() local
1848 iph = (struct iphdr *)skb->data; in qlcnic_83xx_process_lro()
1849 th = (struct tcphdr *)(skb->data + (iph->ihl << 2)); in qlcnic_83xx_process_lro()
1850 length = (iph->ihl << 2) + (th->doff << 2) + lro_length; in qlcnic_83xx_process_lro()
[all …]
/linux-4.1.27/arch/powerpc/include/asm/
Dchecksum.h20 extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl);
/linux-4.1.27/include/uapi/linux/
Dif_tunnel.h37 struct iphdr iph; member
/linux-4.1.27/drivers/net/ethernet/intel/i40e/
Di40e_txrx.c1378 struct iphdr *iph; in i40e_rx_checksum() local
1448 iph = ip_hdr(skb); in i40e_rx_checksum()
1450 iph->saddr, iph->daddr, in i40e_rx_checksum()
2136 struct iphdr *iph; in i40e_tso() local
2147 iph = skb->encapsulation ? inner_ip_hdr(skb) : ip_hdr(skb); in i40e_tso()
2150 if (iph->version == 4) { in i40e_tso()
2152 iph->tot_len = 0; in i40e_tso()
2153 iph->check = 0; in i40e_tso()
2154 tcph->check = ~csum_tcpudp_magic(iph->saddr, iph->daddr, in i40e_tso()
/linux-4.1.27/arch/c6x/lib/
Dcsum_64plus.S159 ;ip_fast_csum(unsigned char *iph, unsigned int ihl)
162 ; unsigned short *tosum = (unsigned short *) iph;
183 ; A4: iph
/linux-4.1.27/drivers/infiniband/hw/ipath/
Dipath_common.h746 struct ipath_header iph; member
754 struct ipath_header iph; member
/linux-4.1.27/drivers/net/ethernet/mellanox/mlx4/
Den_rx.c690 struct iphdr *iph) in get_fixed_ipv4_csum() argument
695 length_for_csum = (be16_to_cpu(iph->tot_len) - (iph->ihl << 2)); in get_fixed_ipv4_csum()
696 csum_pseudo_header = csum_tcpudp_nofold(iph->saddr, iph->daddr, in get_fixed_ipv4_csum()
697 length_for_csum, iph->protocol, 0); in get_fixed_ipv4_csum()
/linux-4.1.27/drivers/net/ethernet/qlogic/netxen/
Dnetxen_nic_init.c1598 struct iphdr *iph; in netxen_process_lro() local
1641 iph = (struct iphdr *)(skb->data + vhdr_len); in netxen_process_lro()
1642 th = (struct tcphdr *)((skb->data + vhdr_len) + (iph->ihl << 2)); in netxen_process_lro()
1644 length = (iph->ihl << 2) + (th->doff << 2) + lro_length; in netxen_process_lro()
1645 csum_replace2(&iph->check, iph->tot_len, htons(length)); in netxen_process_lro()
1646 iph->tot_len = htons(length); in netxen_process_lro()
/linux-4.1.27/drivers/net/ethernet/atheros/atlx/
Datl1.c2133 struct iphdr *iph = ip_hdr(skb); in atl1_tso() local
2135 real_len = (((unsigned char *)iph - skb->data) + in atl1_tso()
2136 ntohs(iph->tot_len)); in atl1_tso()
2141 iph->check = 0; in atl1_tso()
2143 ~csum_tcpudp_magic(iph->saddr, in atl1_tso()
2144 iph->daddr, tcp_hdrlen(skb), in atl1_tso()
2146 ptpd->word3 |= (iph->ihl & TPD_IPHL_MASK) << in atl1_tso()
2156 iph->check = 0; in atl1_tso()
2157 tcp_hdr(skb)->check = ~csum_tcpudp_magic(iph->saddr, in atl1_tso()
2158 iph->daddr, 0, IPPROTO_TCP, 0); in atl1_tso()
[all …]
/linux-4.1.27/drivers/net/ethernet/qlogic/qlge/
Dqlge_main.c1606 struct iphdr *iph = in ql_process_mac_rx_page() local
1608 if (!(iph->frag_off & in ql_process_mac_rx_page()
1710 struct iphdr *iph = (struct iphdr *) skb->data; in ql_process_mac_rx_skb() local
1711 if (!(iph->frag_off & in ql_process_mac_rx_skb()
2024 struct iphdr *iph = (struct iphdr *) skb->data; in ql_process_mac_split_rx_intr() local
2025 if (!(iph->frag_off & in ql_process_mac_split_rx_intr()
2583 struct iphdr *iph = ip_hdr(skb); in ql_tso() local
2584 iph->check = 0; in ql_tso()
2586 tcp_hdr(skb)->check = ~csum_tcpudp_magic(iph->saddr, in ql_tso()
2587 iph->daddr, 0, in ql_tso()
[all …]
/linux-4.1.27/drivers/infiniband/hw/cxgb4/
Dcm.c3652 struct iphdr *iph; in rx_pkt() local
3695 iph = (struct iphdr *)(eh + 1); in rx_pkt()
3698 iph = (struct iphdr *)(vlan_eh + 1); in rx_pkt()
3702 if (iph->version != 0x4) in rx_pkt()
3705 tcph = (struct tcphdr *)(iph + 1); in rx_pkt()
3706 skb_set_network_header(skb, (void *)iph - (void *)rss); in rx_pkt()
3711 ntohl(iph->daddr), ntohs(tcph->dest), ntohl(iph->saddr), in rx_pkt()
3712 ntohs(tcph->source), iph->tos); in rx_pkt()
3714 dst = find_route(dev, iph->daddr, iph->saddr, tcph->dest, tcph->source, in rx_pkt()
3715 iph->tos); in rx_pkt()
[all …]
/linux-4.1.27/drivers/net/ethernet/intel/ixgb/
Dixgb_main.c1227 struct iphdr *iph; in ixgb_tso() local
1236 iph = ip_hdr(skb); in ixgb_tso()
1237 iph->tot_len = 0; in ixgb_tso()
1238 iph->check = 0; in ixgb_tso()
1239 tcp_hdr(skb)->check = ~csum_tcpudp_magic(iph->saddr, in ixgb_tso()
1240 iph->daddr, 0, in ixgb_tso()
1243 ipcso = (void *)&(iph->check) - (void *)skb->data; in ixgb_tso()
/linux-4.1.27/drivers/net/bonding/
Dbond_alb.c1381 const struct iphdr *iph = ip_hdr(skb); in bond_alb_xmit() local
1384 (iph->daddr == ip_bcast) || in bond_alb_xmit()
1385 (iph->protocol == IPPROTO_IGMP)) { in bond_alb_xmit()
1389 hash_start = (char *)&(iph->daddr); in bond_alb_xmit()
1390 hash_size = sizeof(iph->daddr); in bond_alb_xmit()
Dbond_main.c3094 const struct iphdr *iph; in bond_flow_dissect() local
3103 if (unlikely(!pskb_may_pull(skb, noff + sizeof(*iph)))) in bond_flow_dissect()
3105 iph = ip_hdr(skb); in bond_flow_dissect()
3106 fk->src = iph->saddr; in bond_flow_dissect()
3107 fk->dst = iph->daddr; in bond_flow_dissect()
3108 noff += iph->ihl << 2; in bond_flow_dissect()
3109 if (!ip_is_fragment(iph)) in bond_flow_dissect()
3110 proto = iph->protocol; in bond_flow_dissect()
3691 struct iphdr *iph = ip_hdr(skb); in bond_xmit_roundrobin() local
3701 if (iph->protocol == IPPROTO_IGMP && skb->protocol == htons(ETH_P_IP)) { in bond_xmit_roundrobin()
/linux-4.1.27/net/l2tp/
Dl2tp_ip.c180 struct iphdr *iph = (struct iphdr *) skb_network_header(skb); in l2tp_ip_recv() local
183 sk = __l2tp_ip_bind_lookup(net, iph->daddr, 0, tunnel_id); in l2tp_ip_recv()
Dl2tp_ip6.c192 struct ipv6hdr *iph = ipv6_hdr(skb); in l2tp_ip6_recv() local
195 sk = __l2tp_ip6_bind_lookup(&init_net, &iph->daddr, in l2tp_ip6_recv()
/linux-4.1.27/drivers/net/vmxnet3/
Dvmxnet3_drv.c833 const struct iphdr *iph = ip_hdr(skb); in vmxnet3_parse_and_copy_hdr() local
835 protocol = iph->protocol; in vmxnet3_parse_and_copy_hdr()
895 struct iphdr *iph = ip_hdr(skb); in vmxnet3_prepare_tso() local
897 iph->check = 0; in vmxnet3_prepare_tso()
898 tcph->check = ~csum_tcpudp_magic(iph->saddr, iph->daddr, 0, in vmxnet3_prepare_tso()
901 struct ipv6hdr *iph = ipv6_hdr(skb); in vmxnet3_prepare_tso() local
903 tcph->check = ~csum_ipv6_magic(&iph->saddr, &iph->daddr, 0, in vmxnet3_prepare_tso()
/linux-4.1.27/drivers/net/ethernet/pasemi/
Dpasemi_mac.c265 struct iphdr *iph; in get_skb_hdr() local
273 iph = ip_hdr(skb); in get_skb_hdr()
274 if (iph->protocol != IPPROTO_TCP) in get_skb_hdr()
282 if (ntohs(iph->tot_len) < ip_len + tcp_hdrlen(skb)) in get_skb_hdr()
286 *iphdr = iph; in get_skb_hdr()
/linux-4.1.27/drivers/net/ethernet/broadcom/bnx2x/
Dbnx2x_cmn.c686 const struct iphdr *iph = ip_hdr(skb); in bnx2x_gro_ip_csum() local
693 iph->saddr, iph->daddr, 0); in bnx2x_gro_ip_csum()
698 struct ipv6hdr *iph = ipv6_hdr(skb); in bnx2x_gro_ipv6_csum() local
705 &iph->saddr, &iph->daddr, 0); in bnx2x_gro_ipv6_csum()
3644 struct iphdr *iph = ip_hdr(skb); in bnx2x_update_pbds_gso_enc() local
3645 u32 csum = (__force u32)(~iph->check) - in bnx2x_update_pbds_gso_enc()
3646 (__force u32)iph->tot_len - in bnx2x_update_pbds_gso_enc()
3647 (__force u32)iph->frag_off; in bnx2x_update_pbds_gso_enc()
3649 outerip_len = iph->ihl << 1; in bnx2x_update_pbds_gso_enc()
/linux-4.1.27/drivers/net/ethernet/oki-semi/pch_gbe/
Dpch_gbe_main.c1174 struct iphdr *iph = ip_hdr(skb); in pch_gbe_tx_queue() local
1177 if (iph->protocol == IPPROTO_TCP) { in pch_gbe_tx_queue()
1183 csum_tcpudp_magic(iph->saddr, in pch_gbe_tx_queue()
1184 iph->daddr, in pch_gbe_tx_queue()
1188 } else if (iph->protocol == IPPROTO_UDP) { in pch_gbe_tx_queue()
1195 csum_tcpudp_magic(iph->saddr, in pch_gbe_tx_queue()
1196 iph->daddr, in pch_gbe_tx_queue()
/linux-4.1.27/drivers/net/ethernet/chelsio/cxgb4vf/
Dsge.c1090 const struct iphdr *iph = ip_hdr(skb); in hwcsum() local
1092 if (iph->version == 4) { in hwcsum()
1093 if (iph->protocol == IPPROTO_TCP) in hwcsum()
1095 else if (iph->protocol == IPPROTO_UDP) in hwcsum()
1109 const struct ipv6hdr *ip6h = (const struct ipv6hdr *)iph; in hwcsum()
/linux-4.1.27/net/sctp/
Dinput.c570 const struct iphdr *iph = (const struct iphdr *)skb->data; in sctp_v4_err() local
571 const int ihlen = iph->ihl * 4; in sctp_v4_err()
/linux-4.1.27/drivers/s390/net/
Dqeth_l3_main.c2877 struct iphdr *iph = ip_hdr(skb); in qeth_l3_hdr_csum() local
2882 if (iph->protocol == IPPROTO_UDP) in qeth_l3_hdr_csum()
2886 iph->check = 0; in qeth_l3_hdr_csum()
2896 struct iphdr *iph = ip_hdr(skb); in qeth_tso_fill_header() local
2910 hdr->ext.dg_hdr_len = (__u16)(iph->ihl*4 + tcph->doff*4); in qeth_tso_fill_header()
2920 tcph->check = ~csum_tcpudp_magic(iph->saddr, iph->daddr, in qeth_tso_fill_header()
2922 iph->tot_len = 0; in qeth_tso_fill_header()
2923 iph->check = 0; in qeth_tso_fill_header()
/linux-4.1.27/drivers/net/ethernet/intel/igbvf/
Dnetdev.c1934 struct iphdr *iph = ip_hdr(skb); in igbvf_tso() local
1936 iph->tot_len = 0; in igbvf_tso()
1937 iph->check = 0; in igbvf_tso()
1938 tcp_hdr(skb)->check = ~csum_tcpudp_magic(iph->saddr, in igbvf_tso()
1939 iph->daddr, 0, in igbvf_tso()
/linux-4.1.27/drivers/net/ethernet/chelsio/cxgb4/
Dsge.c1038 const struct iphdr *iph = ip_hdr(skb); in hwcsum() local
1040 if (iph->version == 4) { in hwcsum()
1041 if (iph->protocol == IPPROTO_TCP) in hwcsum()
1043 else if (iph->protocol == IPPROTO_UDP) in hwcsum()
1056 const struct ipv6hdr *ip6h = (const struct ipv6hdr *)iph; in hwcsum()
/linux-4.1.27/drivers/net/ethernet/intel/ixgbevf/
Dixgbevf_main.c3289 struct iphdr *iph = ip_hdr(skb); in ixgbevf_tso() local
3291 iph->tot_len = 0; in ixgbevf_tso()
3292 iph->check = 0; in ixgbevf_tso()
3293 tcp_hdr(skb)->check = ~csum_tcpudp_magic(iph->saddr, in ixgbevf_tso()
3294 iph->daddr, 0, in ixgbevf_tso()
/linux-4.1.27/drivers/net/ethernet/
Djme.c2100 struct iphdr *iph = ip_hdr(skb); in jme_tx_tso() local
2102 iph->check = 0; in jme_tx_tso()
2103 tcp_hdr(skb)->check = ~csum_tcpudp_magic(iph->saddr, in jme_tx_tso()
2104 iph->daddr, 0, in jme_tx_tso()
/linux-4.1.27/Documentation/networking/
Dipvs-sysctl.txt69 address is not local (iph->daddr is RTN_UNICAST). It is mostly

12