Home
last modified time | relevance | path

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

12

/linux-4.4.14/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 …]
Dnetfilter.c22 const struct iphdr *iph = ip_hdr(skb); in ip_route_me_harder() local
25 __be32 saddr = iph->saddr; in ip_route_me_harder()
39 fl4.daddr = iph->daddr; in ip_route_me_harder()
41 fl4.flowi4_tos = RT_TOS(iph->tos); in ip_route_me_harder()
97 const struct iphdr *iph = ip_hdr(skb); in nf_ip_saveroute() local
99 rt_info->tos = iph->tos; in nf_ip_saveroute()
100 rt_info->daddr = iph->daddr; in nf_ip_saveroute()
101 rt_info->saddr = iph->saddr; in nf_ip_saveroute()
112 const struct iphdr *iph = ip_hdr(skb); in nf_ip_reroute() local
114 if (!(iph->tos == rt_info->tos && in nf_ip_reroute()
[all …]
Dxfrm4_input.c29 const struct iphdr *iph = ip_hdr(skb); in xfrm4_rcv_encap_finish() local
31 if (ip_route_input_noref(skb, iph->daddr, iph->saddr, in xfrm4_rcv_encap_finish()
32 iph->tos, skb->dev)) in xfrm4_rcv_encap_finish()
43 struct iphdr *iph = ip_hdr(skb); in xfrm4_transport_finish() local
45 iph->protocol = XFRM_MODE_SKB_CB(skb)->protocol; in xfrm4_transport_finish()
49 return -iph->protocol; in xfrm4_transport_finish()
53 iph->tot_len = htons(skb->len); in xfrm4_transport_finish()
54 ip_send_check(iph); in xfrm4_transport_finish()
73 struct iphdr *iph; in xfrm4_udp_encap_rcv() local
132 iph = ip_hdr(skb); in xfrm4_udp_encap_rcv()
[all …]
Dip_input.c265 const struct iphdr *iph; in ip_rcv_options() local
280 iph = ip_hdr(skb); in ip_rcv_options()
282 opt->optlen = iph->ihl*4 - sizeof(struct iphdr); in ip_rcv_options()
296 &iph->saddr, in ip_rcv_options()
297 &iph->daddr); in ip_rcv_options()
316 const struct iphdr *iph = ip_hdr(skb); in ip_rcv_finish() local
321 int protocol = iph->protocol; in ip_rcv_finish()
327 iph = ip_hdr(skb); in ip_rcv_finish()
336 int err = ip_route_input_noref(skb, iph->daddr, iph->saddr, in ip_rcv_finish()
337 iph->tos, skb->dev); in ip_rcv_finish()
[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 …]
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_gre.c265 const struct iphdr *iph; in ipgre_err() local
304 iph = (const struct iphdr *)(icmp_hdr(skb) + 1); in ipgre_err()
306 iph->daddr, iph->saddr, tpi->key); in ipgre_err()
311 if (t->parms.iph.daddr == 0 || in ipgre_err()
312 ipv4_is_multicast(t->parms.iph.daddr)) in ipgre_err()
315 if (t->parms.iph.ttl == 0 && type == ICMP_TIME_EXCEEDED) in ipgre_err()
389 const struct iphdr *iph; in ipgre_rcv() local
397 iph = ip_hdr(skb); in ipgre_rcv()
399 iph->saddr, iph->daddr, tpi->key); in ipgre_rcv()
629 tnl_params = &tunnel->parms.iph; in ipgre_xmit()
[all …]
Dip_output.c92 void ip_send_check(struct iphdr *iph) in ip_send_check() argument
94 iph->check = 0; in ip_send_check()
95 iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl); in ip_send_check()
101 struct iphdr *iph = ip_hdr(skb); in __ip_local_out() local
103 iph->tot_len = htons(skb->len); in __ip_local_out()
104 ip_send_check(iph); in __ip_local_out()
141 struct iphdr *iph; in ip_build_and_send_pkt() local
146 iph = ip_hdr(skb); in ip_build_and_send_pkt()
147 iph->version = 4; in ip_build_and_send_pkt()
148 iph->ihl = 5; in ip_build_and_send_pkt()
[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()
251 if (parms->iph.daddr && !ipv4_is_multicast(parms->iph.daddr)) in ip_bucket()
252 remote = parms->iph.daddr; in ip_bucket()
[all …]
Dip_fragment.c102 struct iphdr *iph; member
129 return qp->id == arg->iph->id && in ip4_frag_match()
130 qp->saddr == arg->iph->saddr && in ip4_frag_match()
131 qp->daddr == arg->iph->daddr && in ip4_frag_match()
132 qp->protocol == arg->iph->protocol && in ip4_frag_match()
146 qp->protocol = arg->iph->protocol; in ip4_frag_init()
147 qp->id = arg->iph->id; in ip4_frag_init()
148 qp->ecn = ip4_frag_ecn(arg->iph->tos); in ip4_frag_init()
149 qp->saddr = arg->iph->saddr; in ip4_frag_init()
150 qp->daddr = arg->iph->daddr; in ip4_frag_init()
[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 …]
Dxfrm4_policy.c109 const struct iphdr *iph = ip_hdr(skb); in _decode_session4() local
110 u8 *xprth = skb_network_header(skb) + iph->ihl * 4; in _decode_session4()
121 if (!ip_is_fragment(iph)) { in _decode_session4()
122 switch (iph->protocol) { in _decode_session4()
132 xprth = skb_network_header(skb) + iph->ihl * 4; in _decode_session4()
145 xprth = skb_network_header(skb) + iph->ihl * 4; in _decode_session4()
158 xprth = skb_network_header(skb) + iph->ihl * 4; in _decode_session4()
170 xprth = skb_network_header(skb) + iph->ihl * 4; in _decode_session4()
182 xprth = skb_network_header(skb) + iph->ihl * 4; in _decode_session4()
195 xprth = skb_network_header(skb) + iph->ihl * 4; in _decode_session4()
[all …]
Dicmp.c448 const struct iphdr *iph = ip_hdr(skb); in icmp_multipath_hash_skb() local
450 return fib_multipath_hash(iph->daddr, iph->saddr); in icmp_multipath_hash_skb()
462 const struct iphdr *iph, in icmp_route_lookup() argument
473 param->replyopts.opt.opt.faddr : iph->saddr); in icmp_route_lookup()
570 struct iphdr *iph; in icmp_send() local
591 iph = ip_hdr(skb_in); in icmp_send()
593 if ((u8 *)iph < skb_in->head || in icmp_send()
594 (skb_network_header(skb_in) + sizeof(*iph)) > in icmp_send()
614 if (iph->frag_off & htons(IP_OFFSET)) in icmp_send()
625 if (iph->protocol == IPPROTO_ICMP) { in icmp_send()
[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 …]
Daf_inet.c1204 struct iphdr *iph; in inet_gso_segment() local
1228 if (unlikely(!pskb_may_pull(skb, sizeof(*iph)))) in inet_gso_segment()
1231 iph = ip_hdr(skb); in inet_gso_segment()
1232 ihl = iph->ihl * 4; in inet_gso_segment()
1233 if (ihl < sizeof(*iph)) in inet_gso_segment()
1236 id = ntohs(iph->id); in inet_gso_segment()
1237 proto = iph->protocol; in inet_gso_segment()
1268 iph = (struct iphdr *)(skb_mac_header(skb) + nhoff); in inet_gso_segment()
1270 iph->id = htons(id); in inet_gso_segment()
1271 iph->frag_off = htons(offset >> 3); in inet_gso_segment()
[all …]
Dip_tunnel_core.c57 struct iphdr *iph; in iptunnel_xmit() local
70 iph = ip_hdr(skb); in iptunnel_xmit()
72 iph->version = 4; in iptunnel_xmit()
73 iph->ihl = sizeof(struct iphdr) >> 2; in iptunnel_xmit()
74 iph->frag_off = df; in iptunnel_xmit()
75 iph->protocol = proto; in iptunnel_xmit()
76 iph->tos = tos; in iptunnel_xmit()
77 iph->daddr = dst; in iptunnel_xmit()
78 iph->saddr = src; in iptunnel_xmit()
79 iph->ttl = ttl; in iptunnel_xmit()
[all …]
Dip_forward.c81 struct iphdr *iph; /* Our header */ in ip_forward() local
133 iph = ip_hdr(skb); in ip_forward()
136 ip_decrease_ttl(iph); in ip_forward()
146 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()
197 const struct iphdr *iph = ip_hdr(skb); in cookie_v4_init_sequence() local
200 return __cookie_v4_init_sequence(iph, th, mssp); in cookie_v4_init_sequence()
207 int __cookie_v4_check(const struct iphdr *iph, const struct tcphdr *th, in __cookie_v4_check() argument
211 __u32 mssind = check_tcp_syn_cookie(cookie, iph->saddr, iph->daddr, in __cookie_v4_check()
Dipmr.c372 p.iph.daddr = v->vifc_rmt_addr.s_addr; in ipmr_del_tunnel()
373 p.iph.saddr = v->vifc_lcl_addr.s_addr; in ipmr_del_tunnel()
374 p.iph.version = 4; in ipmr_del_tunnel()
375 p.iph.ihl = 5; in ipmr_del_tunnel()
376 p.iph.protocol = IPPROTO_IPIP; in ipmr_del_tunnel()
405 p.iph.daddr = v->vifc_rmt_addr.s_addr; in ipmr_new_tunnel()
406 p.iph.saddr = v->vifc_lcl_addr.s_addr; in ipmr_new_tunnel()
407 p.iph.version = 4; in ipmr_new_tunnel()
408 p.iph.ihl = 5; in ipmr_new_tunnel()
409 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.c488 void __ip_select_ident(struct net *net, struct iphdr *iph, int segs) in __ip_select_ident() argument
495 hash = jhash_3words((__force u32)iph->daddr, in __ip_select_ident()
496 (__force u32)iph->saddr, in __ip_select_ident()
497 iph->protocol ^ net_hash_mix(net), in __ip_select_ident()
500 iph->id = htons(id); in __ip_select_ident()
505 const struct iphdr *iph, in __build_flow_key() argument
520 iph->daddr, iph->saddr, 0, 0); in __build_flow_key()
526 const struct iphdr *iph = ip_hdr(skb); in build_skb_flow_key() local
528 u8 tos = RT_TOS(iph->tos); in build_skb_flow_key()
529 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()
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()
Dgre_demux.c94 const struct iphdr *iph = (const struct iphdr *)skb->data; in gre_err() local
95 u8 ver = skb->data[(iph->ihl<<2) + 1]&0x7f; in gre_err()
Dtcp_ipv4.c357 const struct iphdr *iph = (const struct iphdr *)icmp_skb->data; in tcp_v4_err() local
358 struct tcphdr *th = (struct tcphdr *)(icmp_skb->data + (iph->ihl << 2)); in tcp_v4_err()
372 sk = __inet_lookup_established(net, &tcp_hashinfo, iph->daddr, in tcp_v4_err()
373 th->dest, iph->saddr, ntohs(th->source), in tcp_v4_err()
405 if (unlikely(iph->ttl < inet_sk(sk)->min_ttl)) { in tcp_v4_err()
1086 const struct iphdr *iph = ip_hdr(skb); in tcp_v4_md5_hash_skb() local
1087 saddr = iph->saddr; in tcp_v4_md5_hash_skb()
1088 daddr = iph->daddr; in tcp_v4_md5_hash_skb()
1138 const struct iphdr *iph = ip_hdr(skb); in tcp_v4_inbound_md5_hash() local
1143 hash_expected = tcp_md5_do_lookup(sk, (union tcp_md5_addr *)&iph->saddr, in tcp_v4_inbound_md5_hash()
[all …]
Desp4.c297 const struct iphdr *iph; in esp_input_done2() local
322 iph = ip_hdr(skb); in esp_input_done2()
323 ihl = iph->ihl * 4; in esp_input_done2()
335 if (iph->saddr != x->props.saddr.a4 || in esp_input_done2()
339 ipaddr.a4 = iph->saddr; in esp_input_done2()
515 const struct iphdr *iph = (const struct iphdr *)skb->data; in esp4_err() local
516 struct ip_esp_hdr *esph = (struct ip_esp_hdr *)(skb->data+(iph->ihl<<2)); in esp4_err()
529 x = xfrm_state_lookup(net, skb->mark, (const xfrm_address_t *)&iph->daddr, in esp4_err()
Digmp.c676 struct iphdr *iph; in igmp_send_report() local
717 iph = ip_hdr(skb); in igmp_send_report()
720 iph->version = 4; in igmp_send_report()
721 iph->ihl = (sizeof(struct iphdr)+4)>>2; in igmp_send_report()
722 iph->tos = 0xc0; in igmp_send_report()
723 iph->frag_off = htons(IP_DF); in igmp_send_report()
724 iph->ttl = 1; in igmp_send_report()
725 iph->daddr = dst; in igmp_send_report()
726 iph->saddr = fl4.saddr; in igmp_send_report()
727 iph->protocol = IPPROTO_IGMP; in igmp_send_report()
[all …]
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.c580 const struct iphdr *iph = ip_hdr(skb); in __udp4_lib_lookup_skb() local
582 return __udp4_lib_lookup(dev_net(skb_dst(skb)->dev), iph->saddr, sport, in __udp4_lib_lookup_skb()
583 iph->daddr, dport, inet_iif(skb), in __udp4_lib_lookup_skb()
628 const struct iphdr *iph = (const struct iphdr *)skb->data; in __udp4_lib_err() local
629 struct udphdr *uh = (struct udphdr *)(skb->data+(iph->ihl<<2)); in __udp4_lib_err()
637 sk = __udp4_lib_lookup(net, iph->daddr, uh->dest, in __udp4_lib_err()
638 iph->saddr, uh->source, skb->dev->ifindex, udptable); in __udp4_lib_err()
1972 const struct iphdr *iph; in udp_v4_early_demux() local
1983 iph = ip_hdr(skb); in udp_v4_early_demux()
1995 ours = ip_check_mc_rcu(in_dev, iph->daddr, iph->saddr, in udp_v4_early_demux()
[all …]
Dipconfig.c620 struct iphdr iph; /* IP header */ member
986 h = &b->iph; in ic_bootp_recv()
1022 h = &b->iph; in ic_bootp_recv()
1055 u8 *end = (u8 *) b + ntohs(b->iph.tot_len); in ic_bootp_recv()
1100 &ic_myaddr, &b->iph.saddr); in ic_bootp_recv()
1145 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.4.14/net/netfilter/ipvs/
Dip_vs_proto_ah_esp.c45 const struct ip_vs_iphdr *iph, in ah_esp_conn_fill_param_proto() argument
48 if (likely(!ip_vs_iph_inverse(iph))) in ah_esp_conn_fill_param_proto()
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
65 ah_esp_conn_fill_param_proto(ipvs, af, iph, &p); in ah_esp_conn_in_get()
74 ip_vs_iph_icmp(iph) ? "ICMP+" : "", in ah_esp_conn_in_get()
75 ip_vs_proto_get(iph->protocol)->name, in ah_esp_conn_in_get()
[all …]
Dip_vs_core.c237 int *ignored, struct ip_vs_iphdr *iph) in ip_vs_sched_persist() argument
250 if (likely(!ip_vs_iph_inverse(iph))) { in ip_vs_sched_persist()
251 src_addr = &iph->saddr; in ip_vs_sched_persist()
252 dst_addr = &iph->daddr; in ip_vs_sched_persist()
254 src_addr = &iph->daddr; in ip_vs_sched_persist()
255 dst_addr = &iph->saddr; in ip_vs_sched_persist()
288 int protocol = iph->protocol; in ip_vs_sched_persist()
335 dest = sched->schedule(svc, skb, iph); in ip_vs_sched_persist()
373 && iph->protocol == IPPROTO_UDP) ? in ip_vs_sched_persist()
379 ip_vs_conn_fill_param(svc->ipvs, svc->af, iph->protocol, src_addr, in ip_vs_sched_persist()
[all …]
Dip_vs_proto_udp.c35 struct ip_vs_iphdr *iph) in udp_conn_schedule() argument
41 if (likely(!ip_vs_iph_icmp(iph))) { in udp_conn_schedule()
43 uh = skb_header_pointer(skb, iph->len, sizeof(_udph), &_udph); in udp_conn_schedule()
48 skb, iph->len, sizeof(_ports), &_ports); in udp_conn_schedule()
57 if (likely(!ip_vs_iph_inverse(iph))) in udp_conn_schedule()
58 svc = ip_vs_service_find(ipvs, af, skb->mark, iph->protocol, in udp_conn_schedule()
59 &iph->daddr, ports[1]); in udp_conn_schedule()
61 svc = ip_vs_service_find(ipvs, af, skb->mark, iph->protocol, in udp_conn_schedule()
62 &iph->saddr, ports[0]); in udp_conn_schedule()
81 *cpp = ip_vs_schedule(svc, skb, pd, &ignored, iph); in udp_conn_schedule()
[all …]
Dip_vs_ftp.c172 struct iphdr *iph; in ip_vs_ftp_out() local
204 iph = ip_hdr(skb); in ip_vs_ftp_out()
205 th = (struct tcphdr *)&(((char *)iph)[iph->ihl*4]); in ip_vs_ftp_out()
226 iph->protocol, &from, port, in ip_vs_ftp_out()
272 iph->ihl * 4, in ip_vs_ftp_out()
314 struct iphdr *iph; in ip_vs_ftp_in() local
344 iph = ip_hdr(skb); in ip_vs_ftp_in()
345 th = (struct tcphdr *)&(((char *)iph)[iph->ihl*4]); in ip_vs_ftp_in()
387 ip_vs_proto_name(iph->protocol), in ip_vs_ftp_in()
393 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
290 switch (iph->protocol) { in ip_vs_sh_get_port()
294 ports = skb_header_pointer(skb, iph->len, sizeof(_ports), in ip_vs_sh_get_port()
299 if (likely(!ip_vs_iph_inverse(iph))) in ip_vs_sh_get_port()
314 struct ip_vs_iphdr *iph) in ip_vs_sh_schedule() argument
321 hash_addr = ip_vs_iph_inverse(iph) ? &iph->daddr : &iph->saddr; in ip_vs_sh_schedule()
326 port = ip_vs_sh_get_port(skb, iph); in ip_vs_sh_schedule()
Dip_vs_proto_sctp.c15 struct ip_vs_iphdr *iph) in sctp_conn_schedule() argument
22 if (likely(!ip_vs_iph_icmp(iph))) { in sctp_conn_schedule()
23 sh = skb_header_pointer(skb, iph->len, sizeof(_sctph), &_sctph); in sctp_conn_schedule()
26 skb, iph->len + sizeof(sctp_sctphdr_t), in sctp_conn_schedule()
34 skb, iph->len, sizeof(_ports), &_ports); in sctp_conn_schedule()
43 if (likely(!ip_vs_iph_inverse(iph))) in sctp_conn_schedule()
44 svc = ip_vs_service_find(ipvs, af, skb->mark, iph->protocol, in sctp_conn_schedule()
45 &iph->daddr, ports[1]); in sctp_conn_schedule()
47 svc = ip_vs_service_find(ipvs, af, skb->mark, iph->protocol, in sctp_conn_schedule()
48 &iph->saddr, ports[0]); in sctp_conn_schedule()
[all …]
Dip_vs_xmit.c629 struct iphdr *iph = ip_hdr(skb); in ip_vs_bypass_xmit() local
634 if (__ip_vs_get_out_rt(cp->ipvs, cp->af, skb, NULL, iph->daddr, in ip_vs_bypass_xmit()
638 ip_send_check(iph); in ip_vs_bypass_xmit()
661 struct ipv6hdr *iph = ipv6_hdr(skb); in ip_vs_bypass_xmit_v6() local
667 &iph->daddr, NULL, in ip_vs_bypass_xmit_v6()
987 struct iphdr *iph; /* Our new IP header */ in ip_vs_tunnel_xmit() local
1036 iph = ip_hdr(skb); in ip_vs_tunnel_xmit()
1037 iph->version = 4; in ip_vs_tunnel_xmit()
1038 iph->ihl = sizeof(struct iphdr)>>2; in ip_vs_tunnel_xmit()
1039 iph->frag_off = df; in ip_vs_tunnel_xmit()
[all …]
Dip_vs_proto_tcp.c38 struct ip_vs_iphdr *iph) in tcp_conn_schedule() argument
48 if (likely(!ip_vs_iph_icmp(iph))) { in tcp_conn_schedule()
49 th = skb_header_pointer(skb, iph->len, sizeof(_tcph), &_tcph); in tcp_conn_schedule()
57 skb, iph->len, sizeof(_ports), &_ports); in tcp_conn_schedule()
68 if (likely(!ip_vs_iph_inverse(iph))) in tcp_conn_schedule()
69 svc = ip_vs_service_find(ipvs, af, skb->mark, iph->protocol, in tcp_conn_schedule()
70 &iph->daddr, ports[1]); in tcp_conn_schedule()
72 svc = ip_vs_service_find(ipvs, af, skb->mark, iph->protocol, in tcp_conn_schedule()
73 &iph->saddr, ports[0]); in tcp_conn_schedule()
92 *cpp = ip_vs_schedule(svc, skb, pd, &ignored, iph); in tcp_conn_schedule()
[all …]
Dip_vs_pe_sip.c68 struct ip_vs_iphdr iph; in ip_vs_sip_fill_param() local
73 retc = ip_vs_fill_iph_skb(p->af, skb, false, &iph); in ip_vs_sip_fill_param()
76 if (!retc || 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_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.c319 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()
328 if (likely(!ip_vs_iph_inverse(iph))) in ip_vs_conn_fill_param_proto()
329 ip_vs_conn_fill_param(ipvs, 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(ipvs, 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()
340 const struct ip_vs_iphdr *iph) in ip_vs_conn_in_get_proto() argument
344 if (ip_vs_conn_fill_param_proto(ipvs, af, skb, iph, &p)) in ip_vs_conn_in_get_proto()
445 const struct ip_vs_iphdr *iph) in ip_vs_conn_out_get_proto() argument
[all …]
Dip_vs_lblc.c484 struct ip_vs_iphdr *iph) in ip_vs_lblc_schedule() argument
493 en = ip_vs_lblc_get(svc->af, tbl, &iph->daddr); in ip_vs_lblc_schedule()
523 ip_vs_lblc_new(tbl, &iph->daddr, svc->af, dest); in ip_vs_lblc_schedule()
528 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_ovf.c31 struct ip_vs_iphdr *iph) in ip_vs_ovf_schedule() argument
Dip_vs_lc.c30 struct ip_vs_iphdr *iph) in ip_vs_lc_schedule() argument
Dip_vs_sed.c63 struct ip_vs_iphdr *iph) in ip_vs_sed_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_lblcr.c648 struct ip_vs_iphdr *iph) in ip_vs_lblcr_schedule() argument
657 en = ip_vs_lblcr_get(svc->af, tbl, &iph->daddr); in ip_vs_lblcr_schedule()
708 ip_vs_lblcr_new(tbl, &iph->daddr, svc->af, dest); in ip_vs_lblcr_schedule()
713 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.4.14/net/sched/
Dact_nat.c91 struct iphdr *iph; in tcf_nat() local
118 if (!pskb_may_pull(skb, sizeof(*iph) + noff)) in tcf_nat()
121 iph = ip_hdr(skb); in tcf_nat()
124 addr = iph->saddr; in tcf_nat()
126 addr = iph->daddr; in tcf_nat()
130 !skb_clone_writable(skb, sizeof(*iph) + noff) && in tcf_nat()
138 iph = ip_hdr(skb); in tcf_nat()
140 iph->saddr = new_addr; in tcf_nat()
142 iph->daddr = new_addr; in tcf_nat()
144 csum_replace4(&iph->check, addr, new_addr); in tcf_nat()
[all …]
Dact_csum.c178 const struct iphdr *iph; in tcf_csum_ipv4_tcp() local
184 iph = ip_hdr(skb); in tcf_csum_ipv4_tcp()
188 iph->saddr, iph->daddr, skb->csum); in tcf_csum_ipv4_tcp()
221 const struct iphdr *iph; in tcf_csum_ipv4_udp() local
235 iph = ip_hdr(skb); in tcf_csum_ipv4_udp()
256 udph->check = csum_tcpudp_magic(iph->saddr, iph->daddr, in tcf_csum_ipv4_udp()
257 ul, iph->protocol, in tcf_csum_ipv4_udp()
324 const struct iphdr *iph; in tcf_csum_ipv4() local
329 if (!pskb_may_pull(skb, sizeof(*iph) + ntkoff)) in tcf_csum_ipv4()
332 iph = ip_hdr(skb); in tcf_csum_ipv4()
[all …]
/linux-4.4.14/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(net, iph->protocol, in tproxy_handle_time_wait4()
271 iph->saddr, laddr ? laddr : iph->daddr, in tproxy_handle_time_wait4()
296 const struct iphdr *iph = ip_hdr(skb); in tproxy_tg4() local
308 sk = nf_tproxy_get_sock_v4(net, iph->protocol, in tproxy_tg4()
309 iph->saddr, iph->daddr, in tproxy_tg4()
313 laddr = tproxy_laddr4(skb, laddr, iph->daddr); in tproxy_tg4()
324 sk = nf_tproxy_get_sock_v4(net, iph->protocol, in tproxy_tg4()
325 iph->saddr, laddr, in tproxy_tg4()
336 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_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()
Dnf_tables_netdev.c23 struct iphdr *iph, _iph; in nft_netdev_set_pktinfo_ipv4() local
28 iph = skb_header_pointer(skb, skb_network_offset(skb), sizeof(*iph), in nft_netdev_set_pktinfo_ipv4()
30 if (!iph) in nft_netdev_set_pktinfo_ipv4()
33 iph = ip_hdr(skb); in nft_netdev_set_pktinfo_ipv4()
34 if (iph->ihl < 5 || iph->version != 4) in nft_netdev_set_pktinfo_ipv4()
37 len = ntohs(iph->tot_len); in nft_netdev_set_pktinfo_ipv4()
38 thoff = iph->ihl * 4; in nft_netdev_set_pktinfo_ipv4()
44 pkt->tprot = iph->protocol; in nft_netdev_set_pktinfo_ipv4()
46 pkt->xt.fragoff = ntohs(iph->frag_off) & IP_OFFSET; in nft_netdev_set_pktinfo_ipv4()
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.c150 const struct iphdr *iph = ip_hdr(skb); in xt_socket_lookup_slow_v4() local
159 if (iph->protocol == IPPROTO_UDP || iph->protocol == IPPROTO_TCP) { in xt_socket_lookup_slow_v4()
167 protocol = iph->protocol; in xt_socket_lookup_slow_v4()
168 saddr = iph->saddr; in xt_socket_lookup_slow_v4()
170 daddr = iph->daddr; in xt_socket_lookup_slow_v4()
173 } else if (iph->protocol == IPPROTO_ICMP) { in xt_socket_lookup_slow_v4()
188 ((iph->protocol != IPPROTO_ICMP && in xt_socket_lookup_slow_v4()
190 (iph->protocol == IPPROTO_ICMP && in xt_socket_lookup_slow_v4()
195 dport = (iph->protocol == IPPROTO_TCP) ? in xt_socket_lookup_slow_v4()
345 struct ipv6hdr *iph = ipv6_hdr(skb); in xt_socket_lookup_slow_v6() local
[all …]
Dxt_ipvs.c54 struct ip_vs_iphdr iph; in ipvs_mt() local
71 ip_vs_fill_iph_skb(family, skb, true, &iph); in ipvs_mt()
74 if ((iph.protocol == data->l4proto) ^ in ipvs_mt()
80 pp = ip_vs_proto_get(iph.protocol); in ipvs_mt()
89 cp = pp->conn_out_get(ipvs, family, skb, &iph); 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.c340 const struct ipv6hdr *iph = ipv6_hdr(skb); in connlimit_mt() local
342 &iph->daddr : &iph->saddr, sizeof(addr.ip6)); in connlimit_mt()
344 const struct iphdr *iph = ip_hdr(skb); in connlimit_mt() local
346 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.4.14/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.c23 const struct ipv6hdr *iph = ipv6_hdr(skb); in ip6_route_me_harder() local
29 .daddr = iph->daddr, in ip6_route_me_harder()
30 .saddr = iph->saddr, in ip6_route_me_harder()
87 const struct ipv6hdr *iph = ipv6_hdr(skb); in nf_ip6_saveroute() local
89 rt_info->daddr = iph->daddr; in nf_ip6_saveroute()
90 rt_info->saddr = iph->saddr; in nf_ip6_saveroute()
101 const struct ipv6hdr *iph = ipv6_hdr(skb); in nf_ip6_reroute() local
102 if (!ipv6_addr_equal(&iph->daddr, &rt_info->daddr) || in nf_ip6_reroute()
103 !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()
353 const struct ipv6hdr *iph = ipv6_hdr(skb); in mip6_rthdr_input() local
358 if (!ipv6_addr_equal(&iph->daddr, (struct in6_addr *)x->coaddr) && in mip6_rthdr_input()
371 struct ipv6hdr *iph; in mip6_rthdr_output() local
376 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 …]
Dsyncookies.c100 u32 __cookie_v6_init_sequence(const struct ipv6hdr *iph, in __cookie_v6_init_sequence() argument
112 return secure_tcp_syn_cookie(&iph->saddr, &iph->daddr, th->source, in __cookie_v6_init_sequence()
119 const struct ipv6hdr *iph = ipv6_hdr(skb); in cookie_v6_init_sequence() local
122 return __cookie_v6_init_sequence(iph, th, mssp); in cookie_v6_init_sequence()
125 int __cookie_v6_check(const struct ipv6hdr *iph, const struct tcphdr *th, in __cookie_v6_check() argument
129 __u32 mssind = check_tcp_syn_cookie(cookie, &iph->saddr, &iph->daddr, in __cookie_v6_check()
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()
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()
Droute.c1151 const struct ipv6hdr *iph = ipv6_hdr(skb); in ip6_route_input() local
1157 .daddr = iph->daddr, in ip6_route_input()
1158 .saddr = iph->saddr, in ip6_route_input()
1159 .flowlabel = ip6_flowinfo(iph), in ip6_route_input()
1161 .flowi6_proto = iph->nexthdr, in ip6_route_input()
1341 const struct ipv6hdr *iph, u32 mtu) in __ip6_rt_update_pmtu() argument
1359 if (iph) { in __ip6_rt_update_pmtu()
1360 daddr = &iph->daddr; in __ip6_rt_update_pmtu()
1361 saddr = &iph->saddr; in __ip6_rt_update_pmtu()
1391 const struct ipv6hdr *iph = (struct ipv6hdr *) skb->data; in ip6_update_pmtu() local
[all …]
Dip6mr.c2302 struct ipv6hdr *iph; in ip6mr_get_route() local
2329 iph = ipv6_hdr(skb2); in ip6mr_get_route()
2330 iph->version = 0; in ip6mr_get_route()
2331 iph->priority = 0; in ip6mr_get_route()
2332 iph->flow_lbl[0] = 0; in ip6mr_get_route()
2333 iph->flow_lbl[1] = 0; in ip6mr_get_route()
2334 iph->flow_lbl[2] = 0; in ip6mr_get_route()
2335 iph->payload_len = 0; in ip6mr_get_route()
2336 iph->nexthdr = IPPROTO_NONE; in ip6mr_get_route()
2337 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()
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.c303 struct ipv6hdr *iph = ipv6_hdr(skb); in mip6_addr_swap() local
314 tmp = iph->saddr; in mip6_addr_swap()
315 iph->saddr = hao->addr; in mip6_addr_swap()
Desp6.c463 const struct ipv6hdr *iph = (const struct ipv6hdr *)skb->data; in esp6_err() local
471 x = xfrm_state_lookup(net, skb->mark, (const xfrm_address_t *)&iph->daddr, in esp6_err()
Draw.c618 struct ipv6hdr *iph; in rawv6_send_hdrinc() local
647 iph = ipv6_hdr(skb); in rawv6_send_hdrinc()
652 err = memcpy_from_msg(iph, msg, length); in rawv6_send_hdrinc()
Dudp.c373 const struct ipv6hdr *iph = ipv6_hdr(skb); in __udp6_lib_lookup_skb() local
378 return __udp6_lib_lookup(dev_net(skb_dst(skb)->dev), &iph->saddr, sport, in __udp6_lib_lookup_skb()
379 &iph->daddr, dport, inet6_iif(skb), in __udp6_lib_lookup_skb()
/linux-4.4.14/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.c43 const struct iphdr *iph; in ipt_mangle_out() local
56 iph = ip_hdr(skb); in ipt_mangle_out()
57 saddr = iph->saddr; in ipt_mangle_out()
58 daddr = iph->daddr; in ipt_mangle_out()
59 tos = iph->tos; in ipt_mangle_out()
64 iph = ip_hdr(skb); in ipt_mangle_out()
66 if (iph->saddr != saddr || in ipt_mangle_out()
67 iph->daddr != daddr || in ipt_mangle_out()
69 iph->tos != tos) { in ipt_mangle_out()
Dnf_dup_ipv4.c29 const struct iphdr *iph = ip_hdr(skb); in nf_dup_ipv4_route() local
38 fl4.flowi4_tos = RT_TOS(iph->tos); in nf_dup_ipv4_route()
56 struct iphdr *iph; in nf_dup_ipv4() local
86 iph = ip_hdr(skb); in nf_dup_ipv4()
87 iph->frag_off |= htons(IP_DF); in nf_dup_ipv4()
90 --iph->ttl; in nf_dup_ipv4()
91 ip_send_check(iph); in nf_dup_ipv4()
Dipt_rpfilter.c75 const struct iphdr *iph; in rpfilter_mt() local
85 iph = ip_hdr(skb); in rpfilter_mt()
86 if (ipv4_is_multicast(iph->daddr)) { in rpfilter_mt()
87 if (ipv4_is_zeronet(iph->saddr)) in rpfilter_mt()
88 return ipv4_is_local_multicast(iph->daddr) ^ invert; in rpfilter_mt()
91 flow.daddr = iph->saddr; in rpfilter_mt()
92 flow.saddr = rpfilter_get_saddr(iph->daddr); in rpfilter_mt()
95 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.4.14/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.h89 const struct ipv6hdr *iph = skb_header_pointer( in ip_vs_fill_iph_skb_off() local
91 if (!iph) in ip_vs_fill_iph_skb_off()
94 iphdr->saddr.in6 = iph->saddr; in ip_vs_fill_iph_skb_off()
95 iphdr->daddr.in6 = iph->daddr; in ip_vs_fill_iph_skb_off()
108 const struct iphdr *iph = skb_header_pointer( in ip_vs_fill_iph_skb_off() local
110 if (!iph) in ip_vs_fill_iph_skb_off()
113 iphdr->len = offset + iph->ihl * 4; in ip_vs_fill_iph_skb_off()
115 iphdr->protocol = iph->protocol; in ip_vs_fill_iph_skb_off()
116 iphdr->saddr.ip = iph->saddr; in ip_vs_fill_iph_skb_off()
117 iphdr->daddr.ip = iph->daddr; in ip_vs_fill_iph_skb_off()
[all …]
Dip.h261 static inline bool ip_is_fragment(const struct iphdr *iph) in ip_is_fragment() argument
263 return (iph->frag_off & htons(IP_MF | IP_OFFSET)) != 0; in ip_is_fragment()
272 int ip_decrease_ttl(struct iphdr *iph) in ip_decrease_ttl() argument
274 u32 check = (__force u32)iph->check; in ip_decrease_ttl()
276 iph->check = (__force __sum16)(check + (check>=0xFFFF)); in ip_decrease_ttl()
277 return --iph->ttl; in ip_decrease_ttl()
334 void __ip_select_ident(struct net *net, struct iphdr *iph, int segs);
339 struct iphdr *iph = ip_hdr(skb); in ip_select_ident_segs() local
341 if ((iph->frag_off & htons(IP_DF)) && !skb->ignore_df) { in ip_select_ident_segs()
348 iph->id = htons(inet_sk(sk)->inet_id); in ip_select_ident_segs()
[all …]
Ddst_metadata.h119 const struct iphdr *iph = ip_hdr(skb); in ip_tun_rx_dst() local
127 iph->saddr, iph->daddr, iph->tos, iph->ttl, in ip_tun_rx_dst()
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()
Dip_tunnels.h256 static inline u8 ip_tunnel_get_dsfield(const struct iphdr *iph, in ip_tunnel_get_dsfield() argument
260 return iph->tos; in ip_tunnel_get_dsfield()
262 return ipv6_get_dsfield((const struct ipv6hdr *)iph); in ip_tunnel_get_dsfield()
268 static inline u8 ip_tunnel_ecn_encap(u8 tos, const struct iphdr *iph, in ip_tunnel_ecn_encap() argument
271 u8 inner = ip_tunnel_get_dsfield(iph, skb); in ip_tunnel_ecn_encap()
Dinet_hashtables.h335 const struct iphdr *iph = ip_hdr(skb); in __inet_lookup_skb() local
341 iph->saddr, sport, in __inet_lookup_skb()
342 iph->daddr, dport, inet_iif(skb)); in __inet_lookup_skb()
Dtcp.h480 int __cookie_v4_check(const struct iphdr *iph, const struct tcphdr *th,
525 u32 __cookie_v4_init_sequence(const struct iphdr *iph, const struct tcphdr *th,
534 int __cookie_v6_check(const struct ipv6hdr *iph, const struct tcphdr *th,
538 u32 __cookie_v6_init_sequence(const struct ipv6hdr *iph,
Dipv6.h720 const struct ipv6hdr *iph) in iph_to_flow_copy_v6addrs() argument
725 memcpy(&flow->addrs.v6addrs, &iph->saddr, sizeof(flow->addrs.v6addrs)); in iph_to_flow_copy_v6addrs()
/linux-4.4.14/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.4.14/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()
92 struct ipv6hdr *iph, *niph; in synproxy_send_client_synack() local
97 iph = ipv6_hdr(skb); in synproxy_send_client_synack()
[all …]
Dnf_dup_ipv6.c25 const struct ipv6hdr *iph = ipv6_hdr(skb); in nf_dup_ipv6_route() local
34 fl6.flowlabel = (__force __be32)(((iph->flow_lbl[0] & 0xF) << 16) | in nf_dup_ipv6_route()
35 (iph->flow_lbl[1] << 8) | iph->flow_lbl[2]); in nf_dup_ipv6_route()
66 struct ipv6hdr *iph = ipv6_hdr(skb); in nf_dup_ipv6() local
67 --iph->hop_limit; in nf_dup_ipv6()
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.4.14/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.4.14/drivers/net/ppp/
Dpptp.c188 struct iphdr *iph; in pptp_xmit() local
204 max_headroom = LL_RESERVED_SPACE(tdev) + sizeof(*iph) + sizeof(*hdr) + 2; in pptp_xmit()
261 skb_push(skb, sizeof(*iph)); in pptp_xmit()
266 iph = ip_hdr(skb); in pptp_xmit()
267 iph->version = 4; in pptp_xmit()
268 iph->ihl = sizeof(struct iphdr) >> 2; in pptp_xmit()
270 iph->frag_off = htons(IP_DF); in pptp_xmit()
272 iph->frag_off = 0; in pptp_xmit()
273 iph->protocol = IPPROTO_GRE; in pptp_xmit()
274 iph->tos = 0; in pptp_xmit()
[all …]
/linux-4.4.14/net/core/
Dtso.c24 struct iphdr *iph = (void *)(hdr + mac_hdr_len); in tso_build_hdr() local
26 iph->id = htons(tso->ip_id); in tso_build_hdr()
27 iph->tot_len = htons(size + hdr_len - mac_hdr_len); in tso_build_hdr()
30 struct ipv6hdr *iph = (void *)(hdr + mac_hdr_len); in tso_build_hdr() local
32 iph->payload_len = htons(size + tcp_hdrlen(skb)); in tso_build_hdr()
Dnetpoll.c383 struct iphdr *iph; in netpoll_send_udp() local
394 ip_len = udp_len + sizeof(*iph); in netpoll_send_udp()
450 skb_push(skb, sizeof(*iph)); in netpoll_send_udp()
452 iph = ip_hdr(skb); in netpoll_send_udp()
455 put_unaligned(0x45, (unsigned char *)iph); in netpoll_send_udp()
456 iph->tos = 0; in netpoll_send_udp()
457 put_unaligned(htons(ip_len), &(iph->tot_len)); in netpoll_send_udp()
458 iph->id = htons(atomic_inc_return(&ip_ident)); in netpoll_send_udp()
459 iph->frag_off = 0; in netpoll_send_udp()
460 iph->ttl = 64; in netpoll_send_udp()
[all …]
Dflow_dissector.c171 const struct iphdr *iph; in __skb_flow_dissect() local
174 iph = __skb_header_pointer(skb, nhoff, sizeof(_iph), data, hlen, &_iph); in __skb_flow_dissect()
175 if (!iph || iph->ihl < 5) in __skb_flow_dissect()
177 nhoff += iph->ihl * 4; in __skb_flow_dissect()
179 ip_proto = iph->protocol; in __skb_flow_dissect()
187 memcpy(&key_addrs->v4addrs, &iph->saddr, in __skb_flow_dissect()
191 if (ip_is_fragment(iph)) { in __skb_flow_dissect()
194 if (iph->frag_off & htons(IP_OFFSET)) { in __skb_flow_dissect()
209 const struct ipv6hdr *iph; in __skb_flow_dissect() local
213 iph = __skb_header_pointer(skb, nhoff, sizeof(_iph), data, hlen, &_iph); in __skb_flow_dissect()
[all …]
Dpktgen.c2646 struct iphdr *iph; in process_ipsec() local
2672 iph = ip_hdr(skb); in process_ipsec()
2673 iph->tot_len = htons(skb->len - ETH_HLEN); in process_ipsec()
2674 ip_send_check(iph); in process_ipsec()
2804 struct iphdr *iph; in fill_packet_ipv4() local
2861 iph = (struct iphdr *) skb_put(skb, sizeof(struct iphdr)); in fill_packet_ipv4()
2882 iph->ihl = 5; in fill_packet_ipv4()
2883 iph->version = 4; in fill_packet_ipv4()
2884 iph->ttl = 32; in fill_packet_ipv4()
2885 iph->tos = pkt_dev->tos; in fill_packet_ipv4()
[all …]
/linux-4.4.14/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.4.14/net/bridge/
Dbr_netfilter_hooks.c192 const struct iphdr *iph; in br_validate_ipv4() local
198 iph = ip_hdr(skb); in br_validate_ipv4()
201 if (iph->ihl < 5 || iph->version != 4) in br_validate_ipv4()
204 if (!pskb_may_pull(skb, iph->ihl*4)) in br_validate_ipv4()
207 iph = ip_hdr(skb); in br_validate_ipv4()
208 if (unlikely(ip_fast_csum((u8 *)iph, iph->ihl))) in br_validate_ipv4()
211 len = ntohs(iph->tot_len); in br_validate_ipv4()
215 } else if (len < (iph->ihl*4)) in br_validate_ipv4()
345 struct iphdr *iph = ip_hdr(skb); in br_nf_pre_routing_finish() local
358 if ((err = ip_route_input(skb, iph->daddr, iph->saddr, iph->tos, dev))) { in br_nf_pre_routing_finish()
[all …]
Dbr_multicast.c369 struct iphdr *iph; in br_ip4_multicast_alloc_query() local
371 skb = netdev_alloc_skb_ip_align(br->dev, sizeof(*eth) + sizeof(*iph) + in br_ip4_multicast_alloc_query()
392 iph = ip_hdr(skb); in br_ip4_multicast_alloc_query()
394 iph->version = 4; in br_ip4_multicast_alloc_query()
395 iph->ihl = 6; in br_ip4_multicast_alloc_query()
396 iph->tos = 0xc0; in br_ip4_multicast_alloc_query()
397 iph->tot_len = htons(sizeof(*iph) + sizeof(*ih) + 4); in br_ip4_multicast_alloc_query()
398 iph->id = 0; in br_ip4_multicast_alloc_query()
399 iph->frag_off = htons(IP_DF); in br_ip4_multicast_alloc_query()
400 iph->ttl = 1; in br_ip4_multicast_alloc_query()
[all …]
/linux-4.4.14/arch/x86/um/asm/
Dchecksum.h119 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) in ip_fast_csum() argument
143 : "=r" (sum), "=r" (iph), "=r" (ihl) in ip_fast_csum()
144 : "1" (iph), "2" (ihl) in ip_fast_csum()
/linux-4.4.14/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.4.14/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.4.14/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.4.14/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.4.14/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.4.14/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.4.14/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.4.14/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.4.14/net/dccp/
Dipv4.c148 const struct iphdr *iph, in dccp_do_pmtu_discovery() argument
236 const struct iphdr *iph = (struct iphdr *)skb->data; in dccp_v4_err() local
237 const u8 offset = iph->ihl << 2; in dccp_v4_err()
255 iph->daddr, dh->dccph_dport, in dccp_v4_err()
256 iph->saddr, ntohs(dh->dccph_sport), in dccp_v4_err()
304 dccp_do_pmtu_discovery(sk, iph, info); in dccp_v4_err()
451 const struct iphdr *iph = ip_hdr(skb); in dccp_v4_route_skb() local
454 .daddr = iph->saddr, in dccp_v4_route_skb()
455 .saddr = iph->daddr, in dccp_v4_route_skb()
766 const struct iphdr *iph; in dccp_v4_rcv() local
[all …]
/linux-4.4.14/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.4.14/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 …]
/linux-4.4.14/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.4.14/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.4.14/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 || !tcpudph) 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.4.14/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.4.14/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.4.14/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.4.14/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, &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.4.14/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.4.14/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.4.14/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.4.14/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.4.14/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.4.14/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.4.14/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.4.14/drivers/net/ethernet/intel/i40evf/
Di40e_txrx.c800 struct iphdr *iph; in i40e_rx_checksum() local
870 iph = ip_hdr(skb); in i40e_rx_checksum()
871 csum = csum_tcpudp_magic(iph->saddr, iph->daddr, in i40e_rx_checksum()
1451 struct iphdr *iph; in i40e_tso() local
1462 iph = skb->encapsulation ? inner_ip_hdr(skb) : ip_hdr(skb); in i40e_tso()
1465 if (iph->version == 4) { in i40e_tso()
1467 iph->tot_len = 0; in i40e_tso()
1468 iph->check = 0; in i40e_tso()
1469 tcph->check = ~csum_tcpudp_magic(iph->saddr, iph->daddr, in i40e_tso()
/linux-4.4.14/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.4.14/arch/ia64/include/asm/
Dchecksum.h13 extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl);
/linux-4.4.14/arch/alpha/include/asm/
Dchecksum.h10 extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl);
/linux-4.4.14/include/linux/
Dinet_lro.h51 struct iphdr *iph; member
/linux-4.4.14/include/asm-generic/
Dchecksum.h46 extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl);
/linux-4.4.14/arch/nios2/include/asm/
Dchecksum.h22 extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl);
/linux-4.4.14/arch/mn10300/include/asm/
Dchecksum.h20 extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl);
/linux-4.4.14/arch/metag/include/asm/
Dchecksum.h55 extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl);
/linux-4.4.14/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.4.14/drivers/net/ethernet/apm/xgene/
Dxgene_enet_main.c193 struct iphdr *iph; in xgene_enet_work_msg() local
209 iph = ip_hdr(skb); in xgene_enet_work_msg()
210 if (unlikely(ip_is_fragment(iph))) in xgene_enet_work_msg()
213 if (likely(iph->protocol == IPPROTO_TCP)) { in xgene_enet_work_msg()
244 } else if (iph->protocol == IPPROTO_UDP) { in xgene_enet_work_msg()
465 struct iphdr *iph = ip_hdr(skb); in xgene_enet_skip_csum() local
467 if (!ip_is_fragment(iph) || in xgene_enet_skip_csum()
468 (iph->protocol != IPPROTO_TCP && iph->protocol != IPPROTO_UDP)) { in xgene_enet_skip_csum()
/linux-4.4.14/include/uapi/linux/
Dif_tunnel.h37 struct iphdr iph; member
/linux-4.4.14/drivers/net/
Dgeneve.c155 struct iphdr *iph = NULL; in geneve_rx() local
170 iph = ip_hdr(skb); /* outer IP header... */ in geneve_rx()
178 addr = iph->saddr; in geneve_rx()
238 if (iph) in geneve_rx()
239 err = IP_ECN_decapsulate(iph, skb); in geneve_rx()
247 if (iph) in geneve_rx()
250 &iph->saddr, iph->tos); in geneve_rx()
Dvrf.c225 const struct ipv6hdr *iph = ipv6_hdr(skb); in vrf_process_v6_outbound() local
231 .daddr = iph->daddr, in vrf_process_v6_outbound()
232 .saddr = iph->saddr, in vrf_process_v6_outbound()
233 .flowlabel = ip6_flowinfo(iph), in vrf_process_v6_outbound()
235 .flowi6_proto = iph->nexthdr, in vrf_process_v6_outbound()
/linux-4.4.14/arch/powerpc/include/asm/
Dchecksum.h20 extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl);
/linux-4.4.14/drivers/net/ethernet/intel/i40e/
Di40e_txrx.c1326 struct iphdr *iph; in i40e_rx_checksum() local
1397 iph = ip_hdr(skb); in i40e_rx_checksum()
1399 iph->saddr, iph->daddr, in i40e_rx_checksum()
2202 struct iphdr *iph; in i40e_tso() local
2213 iph = skb->encapsulation ? inner_ip_hdr(skb) : ip_hdr(skb); in i40e_tso()
2216 if (iph->version == 4) { in i40e_tso()
2218 iph->tot_len = 0; in i40e_tso()
2219 iph->check = 0; in i40e_tso()
2220 tcph->check = ~csum_tcpudp_magic(iph->saddr, iph->daddr, in i40e_tso()
/linux-4.4.14/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.4.14/drivers/staging/rdma/ipath/
Dipath_common.h746 struct ipath_header iph; member
754 struct ipath_header iph; member
/linux-4.4.14/drivers/net/ethernet/mellanox/mlx4/
Den_rx.c684 struct iphdr *iph) in get_fixed_ipv4_csum() argument
689 length_for_csum = (be16_to_cpu(iph->tot_len) - (iph->ihl << 2)); in get_fixed_ipv4_csum()
690 csum_pseudo_header = csum_tcpudp_nofold(iph->saddr, iph->daddr, in get_fixed_ipv4_csum()
691 length_for_csum, iph->protocol, 0); in get_fixed_ipv4_csum()
/linux-4.4.14/drivers/net/ethernet/ibm/
Dibmveth.c1182 struct iphdr *iph; in ibmveth_poll() local
1228 iph = (struct iphdr *)skb->data; in ibmveth_poll()
1233 if (iph->check == 0xffff) { in ibmveth_poll()
1234 iph->check = 0; in ibmveth_poll()
1235 iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl); in ibmveth_poll()
/linux-4.4.14/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.4.14/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.4.14/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()
1721 struct iphdr *iph = (struct iphdr *) skb->data; in ql_process_mac_rx_skb() local
1722 if (!(iph->frag_off & in ql_process_mac_rx_skb()
2035 struct iphdr *iph = (struct iphdr *) skb->data; in ql_process_mac_split_rx_intr() local
2036 if (!(iph->frag_off & in ql_process_mac_split_rx_intr()
2594 struct iphdr *iph = ip_hdr(skb); in ql_tso() local
2595 iph->check = 0; in ql_tso()
2597 tcp_hdr(skb)->check = ~csum_tcpudp_magic(iph->saddr, in ql_tso()
2598 iph->daddr, 0, in ql_tso()
[all …]
/linux-4.4.14/drivers/infiniband/hw/cxgb4/
Dcm.c3780 struct iphdr *iph; in rx_pkt() local
3836 iph = (struct iphdr *)(eh + 1); in rx_pkt()
3839 iph = (struct iphdr *)(vlan_eh + 1); in rx_pkt()
3843 if (iph->version != 0x4) in rx_pkt()
3846 tcph = (struct tcphdr *)(iph + 1); in rx_pkt()
3847 skb_set_network_header(skb, (void *)iph - (void *)rss); in rx_pkt()
3852 ntohl(iph->daddr), ntohs(tcph->dest), ntohl(iph->saddr), in rx_pkt()
3853 ntohs(tcph->source), iph->tos); in rx_pkt()
3855 dst = find_route(dev, iph->daddr, iph->saddr, tcph->dest, tcph->source, in rx_pkt()
3856 iph->tos); in rx_pkt()
[all …]
/linux-4.4.14/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.4.14/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.c3105 const struct iphdr *iph; in bond_flow_dissect() local
3114 if (unlikely(!pskb_may_pull(skb, noff + sizeof(*iph)))) in bond_flow_dissect()
3116 iph = ip_hdr(skb); in bond_flow_dissect()
3117 iph_to_flow_copy_v4addrs(fk, iph); in bond_flow_dissect()
3118 noff += iph->ihl << 2; in bond_flow_dissect()
3119 if (!ip_is_fragment(iph)) in bond_flow_dissect()
3120 proto = iph->protocol; in bond_flow_dissect()
3709 struct iphdr *iph = ip_hdr(skb); in bond_xmit_roundrobin() local
3719 if (iph->protocol == IPPROTO_IGMP && skb->protocol == htons(ETH_P_IP)) { in bond_xmit_roundrobin()
/linux-4.4.14/net/l2tp/
Dl2tp_ip.c182 struct iphdr *iph = (struct iphdr *) skb_network_header(skb); in l2tp_ip_recv() local
185 sk = __l2tp_ip_bind_lookup(net, iph->daddr, 0, tunnel_id); in l2tp_ip_recv()
Dl2tp_ip6.c194 struct ipv6hdr *iph = ipv6_hdr(skb); in l2tp_ip6_recv() local
197 sk = __l2tp_ip6_bind_lookup(&init_net, &iph->daddr, in l2tp_ip6_recv()
/linux-4.4.14/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.4.14/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.4.14/drivers/s390/net/
Dqeth_l3_main.c2767 struct iphdr *iph = ip_hdr(skb); in qeth_l3_hdr_csum() local
2772 if (iph->protocol == IPPROTO_UDP) in qeth_l3_hdr_csum()
2776 iph->check = 0; in qeth_l3_hdr_csum()
2786 struct iphdr *iph = ip_hdr(skb); in qeth_tso_fill_header() local
2800 hdr->ext.dg_hdr_len = (__u16)(iph->ihl*4 + tcph->doff*4); in qeth_tso_fill_header()
2810 tcph->check = ~csum_tcpudp_magic(iph->saddr, iph->daddr, in qeth_tso_fill_header()
2812 iph->tot_len = 0; in qeth_tso_fill_header()
2813 iph->check = 0; in qeth_tso_fill_header()
/linux-4.4.14/drivers/net/vmxnet3/
Dvmxnet3_drv.c850 const struct iphdr *iph = ip_hdr(skb); in vmxnet3_parse_and_copy_hdr() local
852 protocol = iph->protocol; in vmxnet3_parse_and_copy_hdr()
915 struct iphdr *iph = ip_hdr(skb); in vmxnet3_prepare_tso() local
917 iph->check = 0; in vmxnet3_prepare_tso()
918 tcph->check = ~csum_tcpudp_magic(iph->saddr, iph->daddr, 0, in vmxnet3_prepare_tso()
921 struct ipv6hdr *iph = ipv6_hdr(skb); in vmxnet3_prepare_tso() local
923 tcph->check = ~csum_ipv6_magic(&iph->saddr, &iph->daddr, 0, in vmxnet3_prepare_tso()
/linux-4.4.14/drivers/net/ethernet/chelsio/cxgb4vf/
Dsge.c1088 const struct iphdr *iph = ip_hdr(skb); in hwcsum() local
1090 if (iph->version == 4) { in hwcsum()
1091 if (iph->protocol == IPPROTO_TCP) in hwcsum()
1093 else if (iph->protocol == IPPROTO_UDP) in hwcsum()
1107 const struct ipv6hdr *ip6h = (const struct ipv6hdr *)iph; in hwcsum()
/linux-4.4.14/drivers/net/ethernet/broadcom/bnx2x/
Dbnx2x_cmn.c706 const struct iphdr *iph = ip_hdr(skb); in bnx2x_gro_ip_csum() local
713 iph->saddr, iph->daddr, 0); in bnx2x_gro_ip_csum()
718 struct ipv6hdr *iph = ipv6_hdr(skb); in bnx2x_gro_ipv6_csum() local
725 &iph->saddr, &iph->daddr, 0); in bnx2x_gro_ipv6_csum()
3709 struct iphdr *iph = ip_hdr(skb); in bnx2x_update_pbds_gso_enc() local
3710 u32 csum = (__force u32)(~iph->check) - in bnx2x_update_pbds_gso_enc()
3711 (__force u32)iph->tot_len - in bnx2x_update_pbds_gso_enc()
3712 (__force u32)iph->frag_off; in bnx2x_update_pbds_gso_enc()
3714 outerip_len = iph->ihl << 1; in bnx2x_update_pbds_gso_enc()
/linux-4.4.14/drivers/net/ethernet/broadcom/bnxt/
Dbnxt.c871 struct iphdr *iph; in bnxt_gro_skb() local
876 iph = ip_hdr(skb); in bnxt_gro_skb()
880 th->check = ~tcp_v4_check(len, iph->saddr, iph->daddr, 0); in bnxt_gro_skb()
882 struct ipv6hdr *iph; in bnxt_gro_skb() local
887 iph = ipv6_hdr(skb); in bnxt_gro_skb()
891 th->check = ~tcp_v6_check(len, &iph->saddr, &iph->daddr, 0); in bnxt_gro_skb()
902 struct iphdr *iph = (struct iphdr *)skb->data; in bnxt_gro_skb() local
904 if (iph->protocol == IPPROTO_UDP) in bnxt_gro_skb()
905 uh = (struct udphdr *)(iph + 1); in bnxt_gro_skb()
907 struct ipv6hdr *iph = (struct ipv6hdr *)skb->data; in bnxt_gro_skb() local
[all …]
/linux-4.4.14/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.4.14/drivers/net/ethernet/intel/igbvf/
Dnetdev.c1935 struct iphdr *iph = ip_hdr(skb); in igbvf_tso() local
1937 iph->tot_len = 0; in igbvf_tso()
1938 iph->check = 0; in igbvf_tso()
1939 tcp_hdr(skb)->check = ~csum_tcpudp_magic(iph->saddr, in igbvf_tso()
1940 iph->daddr, 0, in igbvf_tso()
/linux-4.4.14/drivers/net/ethernet/chelsio/cxgb4/
Dsge.c1039 const struct iphdr *iph = ip_hdr(skb); in hwcsum() local
1041 if (iph->version == 4) { in hwcsum()
1042 if (iph->protocol == IPPROTO_TCP) in hwcsum()
1044 else if (iph->protocol == IPPROTO_UDP) in hwcsum()
1057 const struct ipv6hdr *ip6h = (const struct ipv6hdr *)iph; in hwcsum()

12