/linux-4.4.14/include/net/ |
H A D | dsfield.h | 15 static inline __u8 ipv4_get_dsfield(const struct iphdr *iph) ipv4_get_dsfield() argument 17 return iph->tos; ipv4_get_dsfield() 27 static inline void ipv4_change_dsfield(struct iphdr *iph,__u8 mask, ipv4_change_dsfield() argument 30 __u32 check = ntohs((__force __be16)iph->check); ipv4_change_dsfield() 33 dsfield = (iph->tos & mask) | value; ipv4_change_dsfield() 34 check += iph->tos; ipv4_change_dsfield() 38 iph->check = (__force __sum16)htons(check); ipv4_change_dsfield() 39 iph->tos = dsfield; ipv4_change_dsfield()
|
H A D | inet_ecn.h | 74 static inline int IP_ECN_set_ce(struct iphdr *iph) IP_ECN_set_ce() argument 76 u32 check = (__force u32)iph->check; IP_ECN_set_ce() 77 u32 ecn = (iph->tos + 1) & INET_ECN_MASK; IP_ECN_set_ce() 96 iph->check = (__force __sum16)(check + (check>=0xFFFF)); IP_ECN_set_ce() 97 iph->tos |= INET_ECN_CE; IP_ECN_set_ce() 101 static inline void IP_ECN_clear(struct iphdr *iph) IP_ECN_clear() argument 103 iph->tos &= ~INET_ECN_MASK; IP_ECN_clear() 120 static inline int IP6_ECN_set_ce(struct sk_buff *skb, struct ipv6hdr *iph) IP6_ECN_set_ce() argument 124 if (INET_ECN_is_not_ect(ipv6_get_dsfield(iph))) IP6_ECN_set_ce() 127 from = *(__be32 *)iph; IP6_ECN_set_ce() 129 *(__be32 *)iph = to; IP6_ECN_set_ce() 135 static inline void IP6_ECN_clear(struct ipv6hdr *iph) IP6_ECN_clear() argument 137 *(__be32*)iph &= ~htonl(INET_ECN_MASK << 20); IP6_ECN_clear()
|
H A D | dst_metadata.h | 119 const struct iphdr *iph = ip_hdr(skb); ip_tun_rx_dst() local 127 iph->saddr, iph->daddr, iph->tos, iph->ttl, ip_tun_rx_dst()
|
H A D | ip.h | 261 static inline bool ip_is_fragment(const struct iphdr *iph) ip_is_fragment() argument 263 return (iph->frag_off & htons(IP_MF | IP_OFFSET)) != 0; ip_is_fragment() 272 int ip_decrease_ttl(struct iphdr *iph) ip_decrease_ttl() argument 274 u32 check = (__force u32)iph->check; ip_decrease_ttl() 276 iph->check = (__force __sum16)(check + (check>=0xFFFF)); ip_decrease_ttl() 277 return --iph->ttl; ip_decrease_ttl() 334 void __ip_select_ident(struct net *net, struct iphdr *iph, int segs); 339 struct iphdr *iph = ip_hdr(skb); ip_select_ident_segs() local 341 if ((iph->frag_off & htons(IP_DF)) && !skb->ignore_df) { ip_select_ident_segs() 348 iph->id = htons(inet_sk(sk)->inet_id); ip_select_ident_segs() 351 iph->id = 0; ip_select_ident_segs() 354 __ip_select_ident(net, iph, segs); ip_select_ident_segs() 371 * Equivalent to : flow->v4addrs.src = iph->saddr; 372 * flow->v4addrs.dst = iph->daddr; 375 const struct iphdr *iph) iph_to_flow_copy_v4addrs() 380 memcpy(&flow->addrs.v4addrs, &iph->saddr, sizeof(flow->addrs.v4addrs)); iph_to_flow_copy_v4addrs() 386 const struct iphdr *iph = skb_gro_network_header(skb); inet_gro_compute_pseudo() local 388 return csum_tcpudp_nofold(iph->saddr, iph->daddr, inet_gro_compute_pseudo() 374 iph_to_flow_copy_v4addrs(struct flow_keys *flow, const struct iphdr *iph) iph_to_flow_copy_v4addrs() argument
|
H A D | ip_vs.h | 89 const struct ipv6hdr *iph = skb_header_pointer( ip_vs_fill_iph_skb_off() local 91 if (!iph) ip_vs_fill_iph_skb_off() 94 iphdr->saddr.in6 = iph->saddr; ip_vs_fill_iph_skb_off() 95 iphdr->daddr.in6 = iph->daddr; ip_vs_fill_iph_skb_off() 108 const struct iphdr *iph = skb_header_pointer( ip_vs_fill_iph_skb_off() local 110 if (!iph) ip_vs_fill_iph_skb_off() 113 iphdr->len = offset + iph->ihl * 4; ip_vs_fill_iph_skb_off() 115 iphdr->protocol = iph->protocol; ip_vs_fill_iph_skb_off() 116 iphdr->saddr.ip = iph->saddr; ip_vs_fill_iph_skb_off() 117 iphdr->daddr.ip = iph->daddr; ip_vs_fill_iph_skb_off() 149 ip_vs_iph_inverse(const struct ip_vs_iphdr *iph) ip_vs_iph_inverse() argument 151 return !!(iph->hdr_flags & IP_VS_HDR_INVERSE); ip_vs_iph_inverse() 155 ip_vs_iph_icmp(const struct ip_vs_iphdr *iph) ip_vs_iph_icmp() argument 157 return !!(iph->hdr_flags & IP_VS_HDR_ICMP); ip_vs_iph_icmp() 441 struct ip_vs_iphdr *iph); 447 const struct ip_vs_iphdr *iph); 453 const struct ip_vs_iphdr *iph); 456 struct ip_vs_conn *cp, struct ip_vs_iphdr *iph); 459 struct ip_vs_conn *cp, struct ip_vs_iphdr *iph); 554 struct ip_vs_protocol *pp, struct ip_vs_iphdr *iph); 717 struct ip_vs_iphdr *iph); 788 const struct iphdr *iph, int inverse); 792 const struct iphdr *iph, int inverse); 1187 const struct ip_vs_iphdr *iph); 1193 const struct ip_vs_iphdr *iph); 1364 struct ip_vs_iphdr *iph); 1366 struct ip_vs_proto_data *pd, struct ip_vs_iphdr *iph); 1427 struct ip_vs_protocol *pp, struct ip_vs_iphdr *iph); 1429 struct ip_vs_protocol *pp, struct ip_vs_iphdr *iph); 1431 struct ip_vs_protocol *pp, struct ip_vs_iphdr *iph); 1433 struct ip_vs_protocol *pp, struct ip_vs_iphdr *iph); 1435 struct ip_vs_protocol *pp, struct ip_vs_iphdr *iph); 1438 unsigned int hooknum, struct ip_vs_iphdr *iph); 1443 struct ip_vs_protocol *pp, struct ip_vs_iphdr *iph); 1445 struct ip_vs_protocol *pp, struct ip_vs_iphdr *iph); 1447 struct ip_vs_protocol *pp, struct ip_vs_iphdr *iph); 1449 struct ip_vs_protocol *pp, struct ip_vs_iphdr *iph); 1452 unsigned int hooknum, struct ip_vs_iphdr *iph);
|
H A D | ip6_checksum.h | 53 const struct ipv6hdr *iph = skb_gro_network_header(skb); ip6_gro_compute_pseudo() local 55 return ~csum_unfold(csum_ipv6_magic(&iph->saddr, &iph->daddr, ip6_gro_compute_pseudo()
|
H A D | ip_tunnels.h | 256 static inline u8 ip_tunnel_get_dsfield(const struct iphdr *iph, ip_tunnel_get_dsfield() argument 260 return iph->tos; ip_tunnel_get_dsfield() 262 return ipv6_get_dsfield((const struct ipv6hdr *)iph); ip_tunnel_get_dsfield() 268 static inline u8 ip_tunnel_ecn_encap(u8 tos, const struct iphdr *iph, ip_tunnel_ecn_encap() argument 271 u8 inner = ip_tunnel_get_dsfield(iph, skb); ip_tunnel_ecn_encap()
|
H A D | inet_hashtables.h | 335 const struct iphdr *iph = ip_hdr(skb); __inet_lookup_skb() local 341 iph->saddr, sport, __inet_lookup_skb() 342 iph->daddr, dport, inet_iif(skb)); __inet_lookup_skb()
|
H A D | ipv6.h | 716 * Equivalent to : flow->v6addrs.src = iph->saddr; 717 * flow->v6addrs.dst = iph->daddr; 720 const struct ipv6hdr *iph) iph_to_flow_copy_v6addrs() 725 memcpy(&flow->addrs.v6addrs, &iph->saddr, sizeof(flow->addrs.v6addrs)); iph_to_flow_copy_v6addrs() 719 iph_to_flow_copy_v6addrs(struct flow_keys *flow, const struct ipv6hdr *iph) iph_to_flow_copy_v6addrs() argument
|
H A D | tcp.h | 480 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,
|
/linux-4.4.14/net/ipv4/ |
H A D | inet_lro.c | 39 #define IP_HDR_LEN(iph) (iph->ihl << 2) 40 #define TCP_PAYLOAD_LENGTH(iph, tcph) \ 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, lro_tcp_ip_check() argument 59 if (ntohs(iph->tot_len) != len) lro_tcp_ip_check() 62 if (TCP_PAYLOAD_LENGTH(iph, tcph) == 0) lro_tcp_ip_check() 65 if (iph->ihl != IPH_LEN_WO_OPTIONS) lro_tcp_ip_check() 72 if (INET_ECN_is_ce(ipv4_get_dsfield(iph))) lro_tcp_ip_check() 105 struct iphdr *iph = lro_desc->iph; lro_update_tcp_ip_header() local 118 csum_replace2(&iph->check, iph->tot_len, htons(lro_desc->ip_tot_len)); lro_update_tcp_ip_header() 119 iph->tot_len = htons(lro_desc->ip_tot_len); lro_update_tcp_ip_header() 124 tcph->check = csum_tcpudp_magic(iph->saddr, iph->daddr, lro_update_tcp_ip_header() 126 IP_HDR_LEN(iph), IPPROTO_TCP, lro_update_tcp_ip_header() 130 static __wsum lro_tcp_data_csum(struct iphdr *iph, struct tcphdr *tcph, int len) lro_tcp_data_csum() argument 139 tcp_ps_hdr_csum = csum_tcpudp_nofold(iph->saddr, iph->daddr, lro_tcp_data_csum() 148 struct iphdr *iph, struct tcphdr *tcph) lro_init_desc() 152 u32 tcp_data_len = TCP_PAYLOAD_LENGTH(iph, tcph); lro_init_desc() 157 lro_desc->iph = iph; lro_init_desc() 164 lro_desc->ip_tot_len = ntohs(iph->tot_len); lro_init_desc() 176 lro_desc->data_csum = lro_tcp_data_csum(iph, tcph, lro_init_desc() 185 static void lro_add_common(struct net_lro_desc *lro_desc, struct iphdr *iph, lro_add_common() argument 204 lro_tcp_data_csum(iph, tcph, lro_add_common() 215 struct iphdr *iph, struct tcphdr *tcph) lro_add_packet() 218 int tcp_data_len = TCP_PAYLOAD_LENGTH(iph, tcph); lro_add_packet() 220 lro_add_common(lro_desc, iph, tcph, tcp_data_len); lro_add_packet() 235 struct iphdr *iph, lro_check_tcp_conn() 238 if ((lro_desc->iph->saddr != iph->saddr) || lro_check_tcp_conn() 239 (lro_desc->iph->daddr != iph->daddr) || lro_check_tcp_conn() 248 struct iphdr *iph, lro_get_desc() 259 if (!lro_check_tcp_conn(tmp, iph, tcph)) { lro_get_desc() 298 struct iphdr *iph; __lro_proc_skb() local 304 lro_mgr->get_skb_header(skb, (void *)&iph, (void *)&tcph, __lro_proc_skb() 311 lro_desc = lro_get_desc(lro_mgr, lro_mgr->lro_arr, iph, tcph); __lro_proc_skb() 320 if (lro_tcp_ip_check(iph, tcph, skb->len - vlan_hdr_len, NULL)) __lro_proc_skb() 324 lro_init_desc(lro_desc, skb, iph, tcph); __lro_proc_skb() 332 if (lro_tcp_ip_check(iph, tcph, skb->len, lro_desc)) __lro_proc_skb() 335 lro_add_packet(lro_desc, skb, iph, tcph); __lro_proc_skb() 147 lro_init_desc(struct net_lro_desc *lro_desc, struct sk_buff *skb, struct iphdr *iph, struct tcphdr *tcph) lro_init_desc() argument 214 lro_add_packet(struct net_lro_desc *lro_desc, struct sk_buff *skb, struct iphdr *iph, struct tcphdr *tcph) lro_add_packet() argument 234 lro_check_tcp_conn(struct net_lro_desc *lro_desc, struct iphdr *iph, struct tcphdr *tcph) lro_check_tcp_conn() argument 246 lro_get_desc(struct net_lro_mgr *lro_mgr, struct net_lro_desc *lro_arr, struct iphdr *iph, struct tcphdr *tcph) lro_get_desc() argument
|
H A D | xfrm4_mode_beet.c | 22 struct iphdr *iph = ip_hdr(skb); xfrm4_beet_make_header() local 24 iph->ihl = 5; xfrm4_beet_make_header() 25 iph->version = 4; xfrm4_beet_make_header() 27 iph->protocol = XFRM_MODE_SKB_CB(skb)->protocol; xfrm4_beet_make_header() 28 iph->tos = XFRM_MODE_SKB_CB(skb)->tos; xfrm4_beet_make_header() 30 iph->id = XFRM_MODE_SKB_CB(skb)->id; xfrm4_beet_make_header() 31 iph->frag_off = XFRM_MODE_SKB_CB(skb)->frag_off; xfrm4_beet_make_header() 32 iph->ttl = XFRM_MODE_SKB_CB(skb)->ttl; xfrm4_beet_make_header() 86 struct iphdr *iph; xfrm4_beet_input() local 111 skb_push(skb, sizeof(*iph)); xfrm4_beet_input() 117 iph = ip_hdr(skb); xfrm4_beet_input() 119 iph->ihl += optlen / 4; xfrm4_beet_input() 120 iph->tot_len = htons(skb->len); xfrm4_beet_input() 121 iph->daddr = x->sel.daddr.a4; xfrm4_beet_input() 122 iph->saddr = x->sel.saddr.a4; xfrm4_beet_input() 123 iph->check = 0; xfrm4_beet_input() 124 iph->check = ip_fast_csum(skb_network_header(skb), iph->ihl); xfrm4_beet_input()
|
H A D | xfrm4_state.c | 59 const struct iphdr *iph = ip_hdr(skb); xfrm4_extract_header() local 61 XFRM_MODE_SKB_CB(skb)->ihl = sizeof(*iph); xfrm4_extract_header() 62 XFRM_MODE_SKB_CB(skb)->id = iph->id; xfrm4_extract_header() 63 XFRM_MODE_SKB_CB(skb)->frag_off = iph->frag_off; xfrm4_extract_header() 64 XFRM_MODE_SKB_CB(skb)->tos = iph->tos; xfrm4_extract_header() 65 XFRM_MODE_SKB_CB(skb)->ttl = iph->ttl; xfrm4_extract_header() 66 XFRM_MODE_SKB_CB(skb)->optlen = iph->ihl * 4 - sizeof(*iph); xfrm4_extract_header()
|
H A D | netfilter.c | 22 const struct iphdr *iph = ip_hdr(skb); ip_route_me_harder() local 25 __be32 saddr = iph->saddr; ip_route_me_harder() 39 fl4.daddr = iph->daddr; ip_route_me_harder() 41 fl4.flowi4_tos = RT_TOS(iph->tos); ip_route_me_harder() 97 const struct iphdr *iph = ip_hdr(skb); nf_ip_saveroute() local 99 rt_info->tos = iph->tos; nf_ip_saveroute() 100 rt_info->daddr = iph->daddr; nf_ip_saveroute() 101 rt_info->saddr = iph->saddr; nf_ip_saveroute() 112 const struct iphdr *iph = ip_hdr(skb); nf_ip_reroute() local 114 if (!(iph->tos == rt_info->tos && nf_ip_reroute() 116 iph->daddr == rt_info->daddr && nf_ip_reroute() 117 iph->saddr == rt_info->saddr)) nf_ip_reroute() 126 const struct iphdr *iph = ip_hdr(skb); nf_ip_checksum() local 134 !csum_tcpudp_magic(iph->saddr, iph->daddr, nf_ip_checksum() 145 skb->csum = csum_tcpudp_nofold(iph->saddr, iph->daddr, nf_ip_checksum() 158 const struct iphdr *iph = ip_hdr(skb); nf_ip_checksum_partial() local 167 skb->csum = csum_tcpudp_nofold(iph->saddr, iph->daddr, protocol, nf_ip_checksum_partial()
|
H A D | ah4.c | 78 static int ip_clear_mutable_options(const struct iphdr *iph, __be32 *daddr) ip_clear_mutable_options() argument 80 unsigned char *optptr = (unsigned char *)(iph+1); ip_clear_mutable_options() 81 int l = iph->ihl*4 - sizeof(struct iphdr); ip_clear_mutable_options() 121 struct iphdr *iph; ah_output_done() local 129 iph = AH_SKB_CB(skb)->tmp; ah_output_done() 130 icv = ah_tmp_icv(ahp->ahash, iph, ihl); ah_output_done() 133 top_iph->tos = iph->tos; ah_output_done() 134 top_iph->ttl = iph->ttl; ah_output_done() 135 top_iph->frag_off = iph->frag_off; ah_output_done() 137 top_iph->daddr = iph->daddr; ah_output_done() 138 memcpy(top_iph+1, iph+1, top_iph->ihl*4 - sizeof(struct iphdr)); ah_output_done() 155 struct iphdr *iph, *top_iph; ah_output() local 179 iph = ah_alloc_tmp(ahash, nfrags + sglists, ihl + seqhi_len); ah_output() 180 if (!iph) ah_output() 182 seqhi = (__be32 *)((char *)iph + ihl); ah_output() 192 iph->tos = top_iph->tos; ah_output() 193 iph->ttl = top_iph->ttl; ah_output() 194 iph->frag_off = top_iph->frag_off; ah_output() 197 iph->daddr = top_iph->daddr; ah_output() 198 memcpy(iph+1, top_iph+1, top_iph->ihl*4 - sizeof(struct iphdr)); ah_output() 233 AH_SKB_CB(skb)->tmp = iph; ah_output() 247 top_iph->tos = iph->tos; ah_output() 248 top_iph->ttl = iph->ttl; ah_output() 249 top_iph->frag_off = iph->frag_off; ah_output() 251 top_iph->daddr = iph->daddr; ah_output() 252 memcpy(top_iph+1, iph+1, top_iph->ihl*4 - sizeof(struct iphdr)); ah_output() 256 kfree(iph); ah_output() 308 struct iphdr *iph, *work_iph; ah_input() local 353 iph = ip_hdr(skb); ah_input() 375 memcpy(work_iph, iph, ihl); ah_input() 379 iph->ttl = 0; ah_input() 380 iph->tos = 0; ah_input() 381 iph->frag_off = 0; ah_input() 382 iph->check = 0; ah_input() 383 if (ihl > sizeof(*iph)) { ah_input() 385 err = ip_clear_mutable_options(iph, &dummy); ah_input() 436 const struct iphdr *iph = (const struct iphdr *)skb->data; ah4_err() local 437 struct ip_auth_hdr *ah = (struct ip_auth_hdr *)(skb->data+(iph->ihl<<2)); ah4_err() 450 x = xfrm_state_lookup(net, skb->mark, (const xfrm_address_t *)&iph->daddr, ah4_err()
|
H A D | xfrm4_input.c | 29 const struct iphdr *iph = ip_hdr(skb); xfrm4_rcv_encap_finish() local 31 if (ip_route_input_noref(skb, iph->daddr, iph->saddr, xfrm4_rcv_encap_finish() 32 iph->tos, skb->dev)) xfrm4_rcv_encap_finish() 43 struct iphdr *iph = ip_hdr(skb); xfrm4_transport_finish() local 45 iph->protocol = XFRM_MODE_SKB_CB(skb)->protocol; xfrm4_transport_finish() 49 return -iph->protocol; xfrm4_transport_finish() 53 iph->tot_len = htons(skb->len); xfrm4_transport_finish() 54 ip_send_check(iph); xfrm4_transport_finish() 73 struct iphdr *iph; xfrm4_udp_encap_rcv() local 132 iph = ip_hdr(skb); xfrm4_udp_encap_rcv() 133 iphlen = iph->ihl << 2; xfrm4_udp_encap_rcv() 134 iph->tot_len = htons(ntohs(iph->tot_len) - len); xfrm4_udp_encap_rcv()
|
H A D | ipip.c | 10 * Alan Cox : Fixed bug with 1.3.18 and IPIP not working (now needs to set skb->h.iph) 138 const struct iphdr *iph = (const struct iphdr *)skb->data; ipip_err() local 146 iph->daddr, iph->saddr, 0); ipip_err() 164 if (t->parms.iph.daddr == 0) ipip_err() 168 if (t->parms.iph.ttl == 0 && type == ICMP_TIME_EXCEEDED) ipip_err() 191 const struct iphdr *iph; ipip_rcv() local 193 iph = ip_hdr(skb); ipip_rcv() 195 iph->saddr, iph->daddr, 0); ipip_rcv() 218 const struct iphdr *tiph = &tunnel->parms.iph; ipip_tunnel_xmit() 249 if (p.iph.version != 4 || p.iph.protocol != IPPROTO_IPIP || ipip_tunnel_ioctl() 250 p.iph.ihl != 5 || (p.iph.frag_off&htons(~IP_DF))) ipip_tunnel_ioctl() 301 memcpy(dev->dev_addr, &tunnel->parms.iph.saddr, 4); ipip_tunnel_init() 302 memcpy(dev->broadcast, &tunnel->parms.iph.daddr, 4); ipip_tunnel_init() 306 tunnel->parms.iph.protocol = IPPROTO_IPIP; ipip_tunnel_init() 315 parms->iph.version = 4; ipip_netlink_parms() 316 parms->iph.protocol = IPPROTO_IPIP; ipip_netlink_parms() 317 parms->iph.ihl = 5; ipip_netlink_parms() 326 parms->iph.saddr = nla_get_in_addr(data[IFLA_IPTUN_LOCAL]); ipip_netlink_parms() 329 parms->iph.daddr = nla_get_in_addr(data[IFLA_IPTUN_REMOTE]); ipip_netlink_parms() 332 parms->iph.ttl = nla_get_u8(data[IFLA_IPTUN_TTL]); ipip_netlink_parms() 333 if (parms->iph.ttl) ipip_netlink_parms() 334 parms->iph.frag_off = htons(IP_DF); ipip_netlink_parms() 338 parms->iph.tos = nla_get_u8(data[IFLA_IPTUN_TOS]); ipip_netlink_parms() 341 parms->iph.frag_off = htons(IP_DF); ipip_netlink_parms() 412 if (((dev->flags & IFF_POINTOPOINT) && !p.iph.daddr) || ipip_changelink() 413 (!(dev->flags & IFF_POINTOPOINT) && p.iph.daddr)) ipip_changelink() 451 nla_put_in_addr(skb, IFLA_IPTUN_LOCAL, parm->iph.saddr) || ipip_fill_info() 452 nla_put_in_addr(skb, IFLA_IPTUN_REMOTE, parm->iph.daddr) || ipip_fill_info() 453 nla_put_u8(skb, IFLA_IPTUN_TTL, parm->iph.ttl) || ipip_fill_info() 454 nla_put_u8(skb, IFLA_IPTUN_TOS, parm->iph.tos) || ipip_fill_info() 456 !!(parm->iph.frag_off & htons(IP_DF)))) ipip_fill_info()
|
H A D | ip_vti.c | 57 const struct iphdr *iph = ip_hdr(skb); vti_input() local 62 iph->saddr, iph->daddr, 0); vti_input() 173 if (!vti_state_check(dst->xfrm, parms->iph.daddr, parms->iph.saddr)) { vti_xmit() 255 const struct iphdr *iph = (const struct iphdr *)skb->data; vti4_err() local 256 int protocol = iph->protocol; vti4_err() 260 iph->daddr, iph->saddr, 0); vti4_err() 268 esph = (struct ip_esp_hdr *)(skb->data+(iph->ihl<<2)); vti4_err() 272 ah = (struct ip_auth_hdr *)(skb->data+(iph->ihl<<2)); vti4_err() 276 ipch = (struct ip_comp_hdr *)(skb->data+(iph->ihl<<2)); vti4_err() 293 x = xfrm_state_lookup(net, mark, (const xfrm_address_t *)&iph->daddr, vti4_err() 317 if (p.iph.version != 4 || p.iph.protocol != IPPROTO_IPIP || vti_tunnel_ioctl() 318 p.iph.ihl != 5) vti_tunnel_ioctl() 363 struct iphdr *iph = &tunnel->parms.iph; vti_tunnel_init() local 365 memcpy(dev->dev_addr, &iph->saddr, 4); vti_tunnel_init() 366 memcpy(dev->broadcast, &iph->daddr, 4); vti_tunnel_init() 381 struct iphdr *iph = &tunnel->parms.iph; vti_fb_tunnel_init() local 383 iph->version = 4; vti_fb_tunnel_init() 384 iph->protocol = IPPROTO_IPIP; vti_fb_tunnel_init() 385 iph->ihl = 5; vti_fb_tunnel_init() 448 parms->iph.protocol = IPPROTO_IPIP; vti_netlink_parms() 465 parms->iph.saddr = nla_get_in_addr(data[IFLA_VTI_LOCAL]); vti_netlink_parms() 468 parms->iph.daddr = nla_get_in_addr(data[IFLA_VTI_REMOTE]); vti_netlink_parms() 514 nla_put_in_addr(skb, IFLA_VTI_LOCAL, p->iph.saddr); vti_fill_info() 515 nla_put_in_addr(skb, IFLA_VTI_REMOTE, p->iph.daddr); vti_fill_info()
|
H A D | xfrm4_policy.c | 109 const struct iphdr *iph = ip_hdr(skb); _decode_session4() local 110 u8 *xprth = skb_network_header(skb) + iph->ihl * 4; _decode_session4() 121 if (!ip_is_fragment(iph)) { _decode_session4() 122 switch (iph->protocol) { _decode_session4() 132 xprth = skb_network_header(skb) + iph->ihl * 4; _decode_session4() 145 xprth = skb_network_header(skb) + iph->ihl * 4; _decode_session4() 158 xprth = skb_network_header(skb) + iph->ihl * 4; _decode_session4() 170 xprth = skb_network_header(skb) + iph->ihl * 4; _decode_session4() 182 xprth = skb_network_header(skb) + iph->ihl * 4; _decode_session4() 195 xprth = skb_network_header(skb) + iph->ihl * 4; _decode_session4() 212 fl4->flowi4_proto = iph->protocol; _decode_session4() 213 fl4->daddr = reverse ? iph->saddr : iph->daddr; _decode_session4() 214 fl4->saddr = reverse ? iph->daddr : iph->saddr; _decode_session4() 215 fl4->flowi4_tos = iph->tos; _decode_session4()
|
H A D | ip_fragment.c | 102 struct iphdr *iph; member in struct:ip4_create_arg 129 return qp->id == arg->iph->id && ip4_frag_match() 130 qp->saddr == arg->iph->saddr && ip4_frag_match() 131 qp->daddr == arg->iph->daddr && ip4_frag_match() 132 qp->protocol == arg->iph->protocol && ip4_frag_match() 146 qp->protocol = arg->iph->protocol; ip4_frag_init() 147 qp->id = arg->iph->id; ip4_frag_init() 148 qp->ecn = ip4_frag_ecn(arg->iph->tos); ip4_frag_init() 149 qp->saddr = arg->iph->saddr; ip4_frag_init() 150 qp->daddr = arg->iph->daddr; ip4_frag_init() 154 inet_getpeer_v4(net->ipv4.peers, arg->iph->saddr, arg->vif, 1) : ip4_frag_init() 213 const struct iphdr *iph; ip_expire() local 227 iph = ip_hdr(head); ip_expire() 228 err = ip_route_input_noref(head, iph->daddr, iph->saddr, ip_expire() 229 iph->tos, head->dev); ip_expire() 253 static struct ipq *ip_find(struct net *net, struct iphdr *iph, ip_find() argument 260 arg.iph = iph; ip_find() 264 hash = ipqhashfn(iph->id, iph->saddr, iph->daddr, iph->protocol); ip_find() 528 struct iphdr *iph; ip_frag_reasm() local 619 iph = ip_hdr(head); ip_frag_reasm() 620 iph->tot_len = htons(len); ip_frag_reasm() 621 iph->tos |= ecn; ip_frag_reasm() 633 iph->frag_off = htons(IP_DF); ip_frag_reasm() 635 iph->frag_off = 0; ip_frag_reasm() 638 ip_send_check(iph); ip_frag_reasm() 688 struct iphdr iph; ip_check_defrag() local 697 if (skb_copy_bits(skb, netoff, &iph, sizeof(iph)) < 0) ip_check_defrag() 700 if (iph.ihl < 5 || iph.version != 4) ip_check_defrag() 703 len = ntohs(iph.tot_len); ip_check_defrag() 704 if (skb->len < netoff + len || len < (iph.ihl * 4)) ip_check_defrag() 707 if (ip_is_fragment(&iph)) { ip_check_defrag() 710 if (!pskb_may_pull(skb, netoff + iph.ihl * 4)) ip_check_defrag()
|
H A D | ip_input.c | 265 const struct iphdr *iph; ip_rcv_options() local 280 iph = ip_hdr(skb); ip_rcv_options() 282 opt->optlen = iph->ihl*4 - sizeof(struct iphdr); ip_rcv_options() 296 &iph->saddr, ip_rcv_options() 297 &iph->daddr); ip_rcv_options() 316 const struct iphdr *iph = ip_hdr(skb); ip_rcv_finish() local 321 int protocol = iph->protocol; ip_rcv_finish() 326 /* must reload iph, skb->head might have changed */ ip_rcv_finish() 327 iph = ip_hdr(skb); ip_rcv_finish() 336 int err = ip_route_input_noref(skb, iph->daddr, iph->saddr, ip_rcv_finish() 337 iph->tos, skb->dev); ip_rcv_finish() 356 if (iph->ihl > 5 && ip_rcv_options(skb)) ip_rcv_finish() 377 const struct iphdr *iph; ip_rcv() local 400 iph = ip_hdr(skb); ip_rcv() 413 if (iph->ihl < 5 || iph->version != 4) ip_rcv() 420 IPSTATS_MIB_NOECTPKTS + (iph->tos & INET_ECN_MASK), ip_rcv() 423 if (!pskb_may_pull(skb, iph->ihl*4)) ip_rcv() 426 iph = ip_hdr(skb); ip_rcv() 428 if (unlikely(ip_fast_csum((u8 *)iph, iph->ihl))) ip_rcv() 431 len = ntohs(iph->tot_len); ip_rcv() 435 } else if (len < (iph->ihl*4)) ip_rcv() 440 * Note this now means skb->len holds ntohs(iph->tot_len). ip_rcv() 447 skb->transport_header = skb->network_header + iph->ihl*4; ip_rcv()
|
H A D | ip_options.c | 46 unsigned char *iph = skb_network_header(skb); ip_options_build() local 49 memcpy(iph+sizeof(struct iphdr), opt->__data, opt->optlen); ip_options_build() 53 memcpy(iph+opt->srr+iph[opt->srr+1]-4, &daddr, 4); ip_options_build() 57 ip_rt_get_source(iph+opt->rr+iph[opt->rr+2]-5, skb, rt); ip_options_build() 59 ip_rt_get_source(iph+opt->ts+iph[opt->ts+2]-9, skb, rt); ip_options_build() 65 memcpy(iph+opt->ts+iph[opt->ts+2]-5, &midtime, 4); ip_options_build() 70 memset(iph+opt->rr, IPOPT_NOP, iph[opt->rr+1]); ip_options_build() 75 memset(iph+opt->ts, IPOPT_NOP, iph[opt->ts+1]); ip_options_build() 264 unsigned char *iph; ip_options_compile() local 272 iph = optptr - sizeof(struct iphdr); ip_options_compile() 324 opt->srr = optptr - iph; ip_options_compile() 352 opt->rr = optptr - iph; ip_options_compile() 436 opt->ts = optptr - iph; ip_options_compile() 444 opt->router_alert = optptr - iph; ip_options_compile() 451 opt->cipso = optptr - iph; ip_options_compile() 476 icmp_send(skb, ICMP_PARAMETERPROB, 0, htonl((pp_ptr-iph)<<24)); ip_options_compile() 612 struct iphdr *iph = ip_hdr(skb); ip_options_rcv_srr() local 642 err = ip_route_input(skb, nexthop, iph->saddr, iph->tos, skb->dev); ip_options_rcv_srr() 653 iph->daddr = nexthop; ip_options_rcv_srr()
|
H A D | ip_gre.c | 265 const struct iphdr *iph; ipgre_err() local 304 iph = (const struct iphdr *)(icmp_hdr(skb) + 1); ipgre_err() 306 iph->daddr, iph->saddr, tpi->key); ipgre_err() 311 if (t->parms.iph.daddr == 0 || ipgre_err() 312 ipv4_is_multicast(t->parms.iph.daddr)) ipgre_err() 315 if (t->parms.iph.ttl == 0 && type == ICMP_TIME_EXCEEDED) ipgre_err() 389 const struct iphdr *iph; ipgre_rcv() local 397 iph = ip_hdr(skb); ipgre_rcv() 399 iph->saddr, iph->daddr, tpi->key); ipgre_rcv() 629 tnl_params = &tunnel->parms.iph; ipgre_xmit() 663 __gre_xmit(skb, dev, &tunnel->parms.iph, htons(ETH_P_TEB)); gre_tap_xmit() 682 if (p.iph.version != 4 || p.iph.protocol != IPPROTO_GRE || ipgre_tunnel_ioctl() 683 p.iph.ihl != 5 || (p.iph.frag_off&htons(~IP_DF)) || ipgre_tunnel_ioctl() 734 struct iphdr *iph; ipgre_header() local 737 iph = (struct iphdr *)skb_push(skb, t->hlen + sizeof(*iph)); ipgre_header() 738 greh = (struct gre_base_hdr *)(iph+1); ipgre_header() 742 memcpy(iph, &t->parms.iph, sizeof(struct iphdr)); ipgre_header() 746 memcpy(&iph->saddr, saddr, 4); ipgre_header() 748 memcpy(&iph->daddr, daddr, 4); ipgre_header() 749 if (iph->daddr) ipgre_header() 750 return t->hlen + sizeof(*iph); ipgre_header() 752 return -(t->hlen + sizeof(*iph)); ipgre_header() 757 const struct iphdr *iph = (const struct iphdr *) skb_mac_header(skb); ipgre_header_parse() local 758 memcpy(haddr, &iph->saddr, 4); ipgre_header_parse() 772 if (ipv4_is_multicast(t->parms.iph.daddr)) { ipgre_open() 777 t->parms.iph.daddr, ipgre_open() 778 t->parms.iph.saddr, ipgre_open() 780 RT_TOS(t->parms.iph.tos), ipgre_open() 789 ip_mc_inc_group(__in_dev_get_rtnl(dev), t->parms.iph.daddr); ipgre_open() 798 if (ipv4_is_multicast(t->parms.iph.daddr) && t->mlink) { ipgre_close() 802 ip_mc_dec_group(in_dev, t->parms.iph.daddr); ipgre_close() 841 tunnel->parms.iph.protocol = IPPROTO_GRE; __gre_tunnel_init() 867 struct iphdr *iph = &tunnel->parms.iph; ipgre_tunnel_init() local 871 memcpy(dev->dev_addr, &iph->saddr, 4); ipgre_tunnel_init() 872 memcpy(dev->broadcast, &iph->daddr, 4); ipgre_tunnel_init() 878 if (iph->daddr) { ipgre_tunnel_init() 880 if (ipv4_is_multicast(iph->daddr)) { ipgre_tunnel_init() 881 if (!iph->saddr) ipgre_tunnel_init() 965 parms->iph.protocol = IPPROTO_GRE; ipgre_netlink_parms() 986 parms->iph.saddr = nla_get_in_addr(data[IFLA_GRE_LOCAL]); ipgre_netlink_parms() 989 parms->iph.daddr = nla_get_in_addr(data[IFLA_GRE_REMOTE]); ipgre_netlink_parms() 992 parms->iph.ttl = nla_get_u8(data[IFLA_GRE_TTL]); ipgre_netlink_parms() 995 parms->iph.tos = nla_get_u8(data[IFLA_GRE_TOS]); ipgre_netlink_parms() 998 parms->iph.frag_off = htons(IP_DF); ipgre_netlink_parms() 1151 nla_put_in_addr(skb, IFLA_GRE_LOCAL, p->iph.saddr) || ipgre_fill_info() 1152 nla_put_in_addr(skb, IFLA_GRE_REMOTE, p->iph.daddr) || ipgre_fill_info() 1153 nla_put_u8(skb, IFLA_GRE_TTL, p->iph.ttl) || ipgre_fill_info() 1154 nla_put_u8(skb, IFLA_GRE_TOS, p->iph.tos) || ipgre_fill_info() 1156 !!(p->iph.frag_off & htons(IP_DF)))) ipgre_fill_info()
|
H A D | ip_tunnel.c | 164 if (local != t->parms.iph.saddr || hlist_for_each_entry_rcu() 165 remote != t->parms.iph.daddr || hlist_for_each_entry_rcu() 179 if (remote != t->parms.iph.daddr || hlist_for_each_entry_rcu() 180 t->parms.iph.saddr != 0 || hlist_for_each_entry_rcu() 197 if ((local != t->parms.iph.saddr || t->parms.iph.daddr != 0) && hlist_for_each_entry_rcu() 198 (local != t->parms.iph.daddr || !ipv4_is_multicast(local))) hlist_for_each_entry_rcu() 218 t->parms.iph.saddr != 0 || hlist_for_each_entry_rcu() 219 t->parms.iph.daddr != 0 || hlist_for_each_entry_rcu() 251 if (parms->iph.daddr && !ipv4_is_multicast(parms->iph.daddr)) ip_bucket() 252 remote = parms->iph.daddr; ip_bucket() 283 __be32 remote = parms->iph.daddr; ip_tunnel_find() 284 __be32 local = parms->iph.saddr; ip_tunnel_find() 292 if (local == t->parms.iph.saddr && hlist_for_each_entry_rcu() 293 remote == t->parms.iph.daddr && hlist_for_each_entry_rcu() 366 const struct iphdr *iph; ip_tunnel_bind_dev() local 371 iph = &tunnel->parms.iph; ip_tunnel_bind_dev() 374 if (iph->daddr) { ip_tunnel_bind_dev() 378 init_tunnel_flow(&fl4, iph->protocol, iph->daddr, ip_tunnel_bind_dev() 379 iph->saddr, tunnel->parms.o_key, ip_tunnel_bind_dev() 380 RT_TOS(iph->tos), tunnel->parms.link); ip_tunnel_bind_dev() 433 const struct iphdr *iph = ip_hdr(skb); ip_tunnel_rcv() local 437 if (ipv4_is_multicast(iph->daddr)) { ip_tunnel_rcv() 462 err = IP_ECN_decapsulate(iph, skb); ip_tunnel_rcv() 466 &iph->saddr, iph->tos); ip_tunnel_rcv() 631 if ((tunnel->parms.iph.daddr && tnl_update_pmtu() 632 !ipv4_is_multicast(tunnel->parms.iph.daddr)) || tnl_update_pmtu() 664 connected = (tunnel->parms.iph.daddr != 0); ip_tunnel_xmit() 822 t->parms.iph.saddr = p->iph.saddr; ip_tunnel_update() 823 t->parms.iph.daddr = p->iph.daddr; ip_tunnel_update() 827 memcpy(dev->dev_addr, &p->iph.saddr, 4); ip_tunnel_update() 828 memcpy(dev->broadcast, &p->iph.daddr, 4); ip_tunnel_update() 832 t->parms.iph.ttl = p->iph.ttl; ip_tunnel_update() 833 t->parms.iph.tos = p->iph.tos; ip_tunnel_update() 834 t->parms.iph.frag_off = p->iph.frag_off; ip_tunnel_update() 871 if (p->iph.ttl) ip_tunnel_ioctl() 872 p->iph.frag_off |= htons(IP_DF); ip_tunnel_ioctl() 901 if (ipv4_is_multicast(p->iph.daddr)) ip_tunnel_ioctl() 903 else if (p->iph.daddr) ip_tunnel_ioctl() 1150 if (ipv4_is_multicast(p->iph.daddr)) ip_tunnel_changelink() 1152 else if (p->iph.daddr) ip_tunnel_changelink() 1169 struct iphdr *iph = &tunnel->parms.iph; ip_tunnel_init() local 1193 iph->version = 4; ip_tunnel_init() 1194 iph->ihl = 5; ip_tunnel_init()
|
H A D | ip_output.c | 92 void ip_send_check(struct iphdr *iph) ip_send_check() argument 94 iph->check = 0; ip_send_check() 95 iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl); ip_send_check() 101 struct iphdr *iph = ip_hdr(skb); __ip_local_out() local 103 iph->tot_len = htons(skb->len); __ip_local_out() 104 ip_send_check(iph); __ip_local_out() 141 struct iphdr *iph; ip_build_and_send_pkt() local 146 iph = ip_hdr(skb); ip_build_and_send_pkt() 147 iph->version = 4; ip_build_and_send_pkt() 148 iph->ihl = 5; ip_build_and_send_pkt() 149 iph->tos = inet->tos; ip_build_and_send_pkt() 150 iph->ttl = ip_select_ttl(inet, &rt->dst); ip_build_and_send_pkt() 151 iph->daddr = (opt && opt->opt.srr ? opt->opt.faddr : daddr); ip_build_and_send_pkt() 152 iph->saddr = saddr; ip_build_and_send_pkt() 153 iph->protocol = sk->sk_protocol; ip_build_and_send_pkt() 155 iph->frag_off = htons(IP_DF); ip_build_and_send_pkt() 156 iph->id = 0; ip_build_and_send_pkt() 158 iph->frag_off = 0; ip_build_and_send_pkt() 159 __ip_select_ident(net, iph, 1); ip_build_and_send_pkt() 163 iph->ihl += opt->opt.optlen>>2; ip_build_and_send_pkt() 368 * iph->saddr = fl4->saddr; 369 * iph->daddr = fl4->daddr; 371 static void ip_copy_addrs(struct iphdr *iph, const struct flowi4 *fl4) ip_copy_addrs() argument 375 memcpy(&iph->saddr, &fl4->saddr, ip_copy_addrs() 387 struct iphdr *iph; ip_queue_xmit() local 434 iph = ip_hdr(skb); ip_queue_xmit() 435 *((__be16 *)iph) = htons((4 << 12) | (5 << 8) | (inet->tos & 0xff)); ip_queue_xmit() 437 iph->frag_off = htons(IP_DF); ip_queue_xmit() 439 iph->frag_off = 0; ip_queue_xmit() 440 iph->ttl = ip_select_ttl(inet, &rt->dst); ip_queue_xmit() 441 iph->protocol = sk->sk_protocol; ip_queue_xmit() 442 ip_copy_addrs(iph, fl4); ip_queue_xmit() 447 iph->ihl += inet_opt->opt.optlen >> 2; ip_queue_xmit() 497 struct iphdr *iph = ip_hdr(skb); ip_fragment() local 499 if ((iph->frag_off & htons(IP_DF)) == 0) ip_fragment() 525 struct iphdr *iph; ip_do_fragment() local 546 iph = ip_hdr(skb); ip_do_fragment() 556 hlen = iph->ihl * 4; ip_do_fragment() 573 ip_is_fragment(iph) || ip_do_fragment() 604 iph->tot_len = htons(first_len); 605 iph->frag_off = htons(IP_MF); 606 ip_send_check(iph); 616 memcpy(skb_network_header(frag), iph, hlen); local 617 iph = ip_hdr(frag); 618 iph->tot_len = htons(frag->len); 623 iph->frag_off = htons(offset>>3); 625 iph->frag_off |= htons(IP_MF); 627 ip_send_check(iph); 666 iph = ip_hdr(skb); 677 offset = (ntohs(iph->frag_off) & IP_OFFSET) << 3; 678 not_last_frag = iph->frag_off & htons(IP_MF); 736 iph = ip_hdr(skb2); 737 iph->frag_off = htons((offset >> 3)); 740 iph->frag_off |= htons(IP_DF); 756 iph->frag_off |= htons(IP_MF); 763 iph->tot_len = htons(len + hlen); 765 ip_send_check(iph); 1359 struct iphdr *iph; __ip_make_skb() local 1407 iph = ip_hdr(skb); __ip_make_skb() 1408 iph->version = 4; __ip_make_skb() 1409 iph->ihl = 5; __ip_make_skb() 1410 iph->tos = (cork->tos != -1) ? cork->tos : inet->tos; __ip_make_skb() 1411 iph->frag_off = df; __ip_make_skb() 1412 iph->ttl = ttl; __ip_make_skb() 1413 iph->protocol = sk->sk_protocol; __ip_make_skb() 1414 ip_copy_addrs(iph, fl4); __ip_make_skb() 1418 iph->ihl += opt->optlen>>2; __ip_make_skb() 1431 if (iph->protocol == IPPROTO_ICMP) __ip_make_skb()
|
H A D | xfrm4_mode_transport.c | 23 struct iphdr *iph = ip_hdr(skb); xfrm4_transport_output() local 24 int ihl = iph->ihl * 4; xfrm4_transport_output() 31 memmove(skb_network_header(skb), iph, ihl); xfrm4_transport_output() local
|
H A D | ip_tunnel_core.c | 57 struct iphdr *iph; iptunnel_xmit() local 70 iph = ip_hdr(skb); iptunnel_xmit() 72 iph->version = 4; iptunnel_xmit() 73 iph->ihl = sizeof(struct iphdr) >> 2; iptunnel_xmit() 74 iph->frag_off = df; iptunnel_xmit() 75 iph->protocol = proto; iptunnel_xmit() 76 iph->tos = tos; iptunnel_xmit() 77 iph->daddr = dst; iptunnel_xmit() 78 iph->saddr = src; iptunnel_xmit() 79 iph->ttl = ttl; iptunnel_xmit() 80 __ip_select_ident(net, iph, skb_shinfo(skb)->gso_segs ?: 1); iptunnel_xmit()
|
H A D | raw.c | 168 static int raw_v4_input(struct sk_buff *skb, const struct iphdr *iph, int hash) raw_v4_input() argument 181 sk = __raw_v4_lookup(net, __sk_head(head), iph->protocol, raw_v4_input() 182 iph->saddr, iph->daddr, raw_v4_input() 187 if ((iph->protocol != IPPROTO_ICMP || !icmp_filter(sk, skb)) && raw_v4_input() 188 ip_mc_sf_allow(sk, iph->daddr, iph->saddr, raw_v4_input() 196 sk = __raw_v4_lookup(net, sk_next(sk), iph->protocol, raw_v4_input() 197 iph->saddr, iph->daddr, raw_v4_input() 270 const struct iphdr *iph = (const struct iphdr *)skb->data; raw_err() local 271 u8 *payload = skb->data + (iph->ihl << 2); raw_err() 288 const struct iphdr *iph; raw_icmp_error() local 296 iph = (const struct iphdr *)skb->data; raw_icmp_error() 300 iph->daddr, iph->saddr, raw_icmp_error() 304 iph = (const struct iphdr *)skb->data; raw_icmp_error() 345 struct iphdr *iph; raw_send_hdrinc() local 375 iph = ip_hdr(skb); raw_send_hdrinc() 384 if (memcpy_from_msg(iph, msg, length)) raw_send_hdrinc() 387 iphlen = iph->ihl * 4; raw_send_hdrinc() 392 * stack. Specifically we want to make sure that iph->ihl is a raw_send_hdrinc() 400 if (iphlen >= sizeof(*iph)) { raw_send_hdrinc() 401 if (!iph->saddr) raw_send_hdrinc() 402 iph->saddr = fl4->saddr; raw_send_hdrinc() 403 iph->check = 0; raw_send_hdrinc() 404 iph->tot_len = htons(length); raw_send_hdrinc() 405 if (!iph->id) raw_send_hdrinc() 408 iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl); raw_send_hdrinc() 410 if (iph->protocol == IPPROTO_ICMP && raw_send_hdrinc()
|
H A D | af_inet.c | 1204 struct iphdr *iph; inet_gso_segment() local 1228 if (unlikely(!pskb_may_pull(skb, sizeof(*iph)))) inet_gso_segment() 1231 iph = ip_hdr(skb); inet_gso_segment() 1232 ihl = iph->ihl * 4; inet_gso_segment() 1233 if (ihl < sizeof(*iph)) inet_gso_segment() 1236 id = ntohs(iph->id); inet_gso_segment() 1237 proto = iph->protocol; inet_gso_segment() 1239 /* Warning: after this point, iph might be no longer valid */ inet_gso_segment() 1268 iph = (struct iphdr *)(skb_mac_header(skb) + nhoff); inet_gso_segment() 1270 iph->id = htons(id); inet_gso_segment() 1271 iph->frag_off = htons(offset >> 3); inet_gso_segment() 1273 iph->frag_off |= htons(IP_MF); inet_gso_segment() 1276 iph->id = htons(id++); inet_gso_segment() 1278 iph->tot_len = htons(skb->len - nhoff); inet_gso_segment() 1279 ip_send_check(iph); inet_gso_segment() 1282 skb->network_header = (u8 *)iph - skb->head; inet_gso_segment() 1295 const struct iphdr *iph; inet_gro_receive() local 1303 hlen = off + sizeof(*iph); inet_gro_receive() 1304 iph = skb_gro_header_fast(skb, off); inet_gro_receive() 1306 iph = skb_gro_header_slow(skb, hlen, off); inet_gro_receive() 1307 if (unlikely(!iph)) inet_gro_receive() 1311 proto = iph->protocol; inet_gro_receive() 1318 if (*(u8 *)iph != 0x45) inet_gro_receive() 1321 if (unlikely(ip_fast_csum((u8 *)iph, 5))) inet_gro_receive() 1324 id = ntohl(*(__be32 *)&iph->id); inet_gro_receive() 1325 flush = (u16)((ntohl(*(__be32 *)iph) ^ skb_gro_len(skb)) | (id & ~IP_DF)); inet_gro_receive() 1340 if ((iph->protocol ^ iph2->protocol) | inet_gro_receive() 1341 ((__force u32)iph->saddr ^ (__force u32)iph2->saddr) | inet_gro_receive() 1342 ((__force u32)iph->daddr ^ (__force u32)iph2->daddr)) { inet_gro_receive() 1349 (iph->ttl ^ iph2->ttl) | inet_gro_receive() 1350 (iph->tos ^ iph2->tos) | inet_gro_receive() 1351 ((iph->frag_off ^ iph2->frag_off) & htons(IP_DF)); inet_gro_receive() 1372 skb_gro_pull(skb, sizeof(*iph)); inet_gro_receive() 1400 struct iphdr *iph = (struct iphdr *)(skb->data + nhoff); inet_gro_complete() local 1402 int proto = iph->protocol; inet_gro_complete() 1408 csum_replace2(&iph->check, iph->tot_len, newlen); inet_gro_complete() 1409 iph->tot_len = newlen; inet_gro_complete() 1416 /* Only need to add sizeof(*iph) to get to the next hdr below inet_gro_complete() 1420 err = ops->callbacks.gro_complete(skb, nhoff + sizeof(*iph)); inet_gro_complete()
|
H A D | icmp.c | 448 const struct iphdr *iph = ip_hdr(skb); icmp_multipath_hash_skb() local 450 return fib_multipath_hash(iph->daddr, iph->saddr); icmp_multipath_hash_skb() 462 const struct iphdr *iph, icmp_route_lookup() 473 param->replyopts.opt.opt.faddr : iph->saddr); icmp_route_lookup() 570 struct iphdr *iph; icmp_send() local 591 iph = ip_hdr(skb_in); icmp_send() 593 if ((u8 *)iph < skb_in->head || icmp_send() 594 (skb_network_header(skb_in) + sizeof(*iph)) > icmp_send() 614 if (iph->frag_off & htons(IP_OFFSET)) icmp_send() 625 if (iph->protocol == IPPROTO_ICMP) { icmp_send() 630 (iph->ihl << 2) + icmp_send() 661 saddr = iph->daddr; icmp_send() 677 tos = icmp_pointers[type].error ? ((iph->tos & IPTOS_TOS_MASK) | icmp_send() 679 iph->tos; icmp_send() 698 ipc.addr = iph->saddr; icmp_send() 704 rt = icmp_route_lookup(net, &fl4, skb_in, iph, saddr, tos, mark, icmp_send() 739 const struct iphdr *iph = (const struct iphdr *) skb->data; icmp_socket_deliver() local 741 int protocol = iph->protocol; icmp_socket_deliver() 746 if (!pskb_may_pull(skb, iph->ihl * 4 + 8)) { icmp_socket_deliver() 775 const struct iphdr *iph; icmp_unreach() local 792 iph = (const struct iphdr *)skb->data; icmp_unreach() 794 if (iph->ihl < 5) /* Mangled header, drop. */ icmp_unreach() 812 &iph->daddr); icmp_unreach() 817 if (!icmp_tag_validation(iph->protocol)) icmp_unreach() 826 &iph->daddr); icmp_unreach() 855 inet_addr_type_dev_table(net, skb->dev, iph->daddr) == RTN_BROADCAST) { icmp_unreach() 859 &iph->daddr, skb->dev->name); icmp_unreach() 1066 struct iphdr *iph = (struct iphdr *)skb->data; icmp_err() local 1067 int offset = iph->ihl<<2; icmp_err() 459 icmp_route_lookup(struct net *net, struct flowi4 *fl4, struct sk_buff *skb_in, const struct iphdr *iph, __be32 saddr, u8 tos, u32 mark, int type, int code, struct icmp_bxm *param) icmp_route_lookup() argument
|
H A D | ip_forward.c | 81 struct iphdr *iph; /* Our header */ ip_forward() local 133 iph = ip_hdr(skb); ip_forward() 136 ip_decrease_ttl(iph); ip_forward() 146 skb->priority = rt_tos2priority(iph->tos); ip_forward()
|
H A D | gre_demux.c | 94 const struct iphdr *iph = (const struct iphdr *)skb->data; gre_err() local 95 u8 ver = skb->data[(iph->ihl<<2) + 1]&0x7f; gre_err()
|
H A D | tcp_offload.c | 39 const struct iphdr *iph = ip_hdr(skb); tcp4_gso_segment() local 48 __tcp_v4_send_check(skb, iph->saddr, iph->daddr); tcp4_gso_segment() 306 const struct iphdr *iph = ip_hdr(skb); tcp4_gro_complete() local 309 th->check = ~tcp_v4_check(skb->len - thoff, iph->saddr, tcp4_gro_complete() 310 iph->daddr, 0); tcp4_gro_complete()
|
H A D | ipmr.c | 372 p.iph.daddr = v->vifc_rmt_addr.s_addr; ipmr_del_tunnel() 373 p.iph.saddr = v->vifc_lcl_addr.s_addr; ipmr_del_tunnel() 374 p.iph.version = 4; ipmr_del_tunnel() 375 p.iph.ihl = 5; ipmr_del_tunnel() 376 p.iph.protocol = IPPROTO_IPIP; ipmr_del_tunnel() 405 p.iph.daddr = v->vifc_rmt_addr.s_addr; ipmr_new_tunnel() 406 p.iph.saddr = v->vifc_lcl_addr.s_addr; ipmr_new_tunnel() 407 p.iph.version = 4; ipmr_new_tunnel() 408 p.iph.ihl = 5; ipmr_new_tunnel() 409 p.iph.protocol = IPPROTO_IPIP; ipmr_new_tunnel() 1035 const struct iphdr *iph = ip_hdr(skb); ipmr_cache_unresolved() local 1039 if (c->mfc_mcastgrp == iph->daddr && ipmr_cache_unresolved() 1040 c->mfc_origin == iph->saddr) { ipmr_cache_unresolved() 1060 c->mfc_origin = iph->saddr; ipmr_cache_unresolved() 1061 c->mfc_mcastgrp = iph->daddr; ipmr_cache_unresolved() 1650 struct iphdr *iph; ip_encap() local 1656 iph = ip_hdr(skb); ip_encap() 1658 iph->version = 4; ip_encap() 1659 iph->tos = old_iph->tos; ip_encap() 1660 iph->ttl = old_iph->ttl; ip_encap() 1661 iph->frag_off = 0; ip_encap() 1662 iph->daddr = daddr; ip_encap() 1663 iph->saddr = saddr; ip_encap() 1664 iph->protocol = IPPROTO_IPIP; ip_encap() 1665 iph->ihl = 5; ip_encap() 1666 iph->tot_len = htons(skb->len); ip_encap() 1668 ip_send_check(iph); ip_encap() 1695 const struct iphdr *iph = ip_hdr(skb); ipmr_queue_xmit() local 1721 RT_TOS(iph->tos), vif->link); ipmr_queue_xmit() 1726 rt = ip_route_output_ports(net, &fl4, NULL, iph->daddr, 0, ipmr_queue_xmit() 1729 RT_TOS(iph->tos), vif->link); ipmr_queue_xmit() 1736 if (skb->len+encap > dst_mtu(&rt->dst) && (ntohs(iph->frag_off) & IP_DF)) { ipmr_queue_xmit() 1926 struct iphdr *iph = ip_hdr(skb); ipmr_rt_fib_lookup() local 1928 .daddr = iph->daddr, ipmr_rt_fib_lookup() 1929 .saddr = iph->saddr, ipmr_rt_fib_lookup() 1930 .flowi4_tos = RT_TOS(iph->tos), ipmr_rt_fib_lookup() 2213 struct iphdr *iph; ipmr_get_route() local 2240 iph = ip_hdr(skb2); ipmr_get_route() 2241 iph->ihl = sizeof(struct iphdr) >> 2; ipmr_get_route() 2242 iph->saddr = saddr; ipmr_get_route() 2243 iph->daddr = daddr; ipmr_get_route() 2244 iph->version = 0; ipmr_get_route()
|
H A D | udp_offload.c | 185 struct iphdr *iph; udp4_ufo_fragment() local 226 iph = ip_hdr(skb); udp4_ufo_fragment() 230 uh->check = udp_v4_check(skb->len, iph->saddr, iph->daddr, csum); udp4_ufo_fragment() 417 const struct iphdr *iph = ip_hdr(skb); udp4_gro_complete() local 422 uh->check = ~udp_v4_check(skb->len - nhoff, iph->saddr, udp4_gro_complete() 423 iph->daddr, 0); udp4_gro_complete()
|
H A D | ipcomp.c | 30 const struct iphdr *iph = (const struct iphdr *)skb->data; ipcomp4_err() local 31 struct ip_comp_hdr *ipch = (struct ip_comp_hdr *)(skb->data+(iph->ihl<<2)); ipcomp4_err() 45 x = xfrm_state_lookup(net, skb->mark, (const xfrm_address_t *)&iph->daddr, ipcomp4_err()
|
H A D | syncookies.c | 178 u32 __cookie_v4_init_sequence(const struct iphdr *iph, const struct tcphdr *th, __cookie_v4_init_sequence() argument 189 return secure_tcp_syn_cookie(iph->saddr, iph->daddr, __cookie_v4_init_sequence() 197 const struct iphdr *iph = ip_hdr(skb); cookie_v4_init_sequence() local 200 return __cookie_v4_init_sequence(iph, th, mssp); cookie_v4_init_sequence() 207 int __cookie_v4_check(const struct iphdr *iph, const struct tcphdr *th, __cookie_v4_check() argument 211 __u32 mssind = check_tcp_syn_cookie(cookie, iph->saddr, iph->daddr, __cookie_v4_check()
|
H A D | route.c | 488 void __ip_select_ident(struct net *net, struct iphdr *iph, int segs) __ip_select_ident() argument 495 hash = jhash_3words((__force u32)iph->daddr, __ip_select_ident() 496 (__force u32)iph->saddr, __ip_select_ident() 497 iph->protocol ^ net_hash_mix(net), __ip_select_ident() 500 iph->id = htons(id); __ip_select_ident() 505 const struct iphdr *iph, __build_flow_key() 520 iph->daddr, iph->saddr, 0, 0); __build_flow_key() 526 const struct iphdr *iph = ip_hdr(skb); build_skb_flow_key() local 528 u8 tos = RT_TOS(iph->tos); build_skb_flow_key() 529 u8 prot = iph->protocol; build_skb_flow_key() 532 __build_flow_key(fl4, sk, iph, oif, tos, prot, mark, 0); build_skb_flow_key() 772 const struct iphdr *iph = (const struct iphdr *) skb->data; __ip_do_redirect() local 773 __be32 daddr = iph->daddr; __ip_do_redirect() 774 __be32 saddr = iph->saddr; __ip_do_redirect() 789 const struct iphdr *iph = (const struct iphdr *) skb->data; ip_do_redirect() local 791 u8 tos = RT_TOS(iph->tos); ip_do_redirect() 792 u8 prot = iph->protocol; ip_do_redirect() 797 __build_flow_key(&fl4, sk, iph, oif, tos, prot, mark, 0); ip_do_redirect() 1008 const struct iphdr *iph = (const struct iphdr *) skb->data; ipv4_update_pmtu() local 1015 __build_flow_key(&fl4, NULL, iph, oif, ipv4_update_pmtu() 1016 RT_TOS(iph->tos), protocol, mark, flow_flags); ipv4_update_pmtu() 1027 const struct iphdr *iph = (const struct iphdr *) skb->data; __ipv4_sk_update_pmtu() local 1031 __build_flow_key(&fl4, sk, iph, 0, 0, 0, 0, 0); __ipv4_sk_update_pmtu() 1045 const struct iphdr *iph = (const struct iphdr *) skb->data; ipv4_sk_update_pmtu() local 1063 __build_flow_key(&fl4, sk, iph, 0, 0, 0, 0, 0); ipv4_sk_update_pmtu() 1099 const struct iphdr *iph = (const struct iphdr *) skb->data; ipv4_redirect() local 1103 __build_flow_key(&fl4, NULL, iph, oif, ipv4_redirect() 1104 RT_TOS(iph->tos), protocol, mark, flow_flags); ipv4_redirect() 1115 const struct iphdr *iph = (const struct iphdr *) skb->data; ipv4_sk_redirect() local 1119 __build_flow_key(&fl4, sk, iph, 0, 0, 0, 0, 0); ipv4_sk_redirect() 1184 struct iphdr *iph; ip_rt_get_source() local 1186 iph = ip_hdr(skb); ip_rt_get_source() 1189 fl4.daddr = iph->daddr; ip_rt_get_source() 1190 fl4.saddr = iph->saddr; ip_rt_get_source() 1191 fl4.flowi4_tos = RT_TOS(iph->tos); ip_rt_get_source() 1201 rt_nexthop(rt, iph->daddr), ip_rt_get_source() 504 __build_flow_key(struct flowi4 *fl4, const struct sock *sk, const struct iphdr *iph, int oif, u8 tos, u8 prot, u32 mark, int flow_flags) __build_flow_key() argument
|
H A D | esp4.c | 297 const struct iphdr *iph; esp_input_done2() local 322 iph = ip_hdr(skb); esp_input_done2() 323 ihl = iph->ihl * 4; esp_input_done2() 335 if (iph->saddr != x->props.saddr.a4 || esp_input_done2() 339 ipaddr.a4 = iph->saddr; esp_input_done2() 515 const struct iphdr *iph = (const struct iphdr *)skb->data; esp4_err() local 516 struct ip_esp_hdr *esph = (struct ip_esp_hdr *)(skb->data+(iph->ihl<<2)); esp4_err() 529 x = xfrm_state_lookup(net, skb->mark, (const xfrm_address_t *)&iph->daddr, esp4_err()
|
H A D | tcp_ipv4.c | 357 const struct iphdr *iph = (const struct iphdr *)icmp_skb->data; tcp_v4_err() local 358 struct tcphdr *th = (struct tcphdr *)(icmp_skb->data + (iph->ihl << 2)); tcp_v4_err() 372 sk = __inet_lookup_established(net, &tcp_hashinfo, iph->daddr, tcp_v4_err() 373 th->dest, iph->saddr, ntohs(th->source), tcp_v4_err() 405 if (unlikely(iph->ttl < inet_sk(sk)->min_ttl)) { tcp_v4_err() 1086 const struct iphdr *iph = ip_hdr(skb); tcp_v4_md5_hash_skb() local 1087 saddr = iph->saddr; tcp_v4_md5_hash_skb() 1088 daddr = iph->daddr; tcp_v4_md5_hash_skb() 1138 const struct iphdr *iph = ip_hdr(skb); tcp_v4_inbound_md5_hash() local 1143 hash_expected = tcp_md5_do_lookup(sk, (union tcp_md5_addr *)&iph->saddr, tcp_v4_inbound_md5_hash() 1170 &iph->saddr, ntohs(th->source), tcp_v4_inbound_md5_hash() 1171 &iph->daddr, ntohs(th->dest), tcp_v4_inbound_md5_hash() 1440 const struct iphdr *iph; tcp_v4_early_demux() local 1450 iph = ip_hdr(skb); tcp_v4_early_demux() 1457 iph->saddr, th->source, tcp_v4_early_demux() 1458 iph->daddr, ntohs(th->dest), tcp_v4_early_demux() 1536 const struct iphdr *iph; tcp_v4_rcv() local 1567 iph = ip_hdr(skb); tcp_v4_rcv() 1581 TCP_SKB_CB(skb)->ip_dsfield = ipv4_get_dsfield(iph); tcp_v4_rcv() 1622 if (unlikely(iph->ttl < inet_sk(sk)->min_ttl)) { tcp_v4_rcv() 1702 iph->saddr, th->source, tcp_v4_rcv() 1703 iph->daddr, th->dest, tcp_v4_rcv()
|
H A D | tcp_fastopen.c | 103 const struct iphdr *iph = ip_hdr(syn); tcp_fastopen_cookie_gen() local 105 __be32 path[4] = { iph->saddr, iph->daddr, 0, 0 }; tcp_fastopen_cookie_gen()
|
H A D | cipso_ipv4.c | 1590 const struct iphdr *iph = ip_hdr(skb); cipso_v4_optptr() local 1595 for (optlen = iph->ihl*4 - sizeof(struct iphdr); optlen > 0; ) { cipso_v4_optptr() 2230 struct iphdr *iph; cipso_v4_skbuff_setattr() local 2260 iph = ip_hdr(skb); cipso_v4_skbuff_setattr() 2262 memmove((char *)iph - len_delta, iph, iph->ihl << 2); cipso_v4_skbuff_setattr() 2264 iph = ip_hdr(skb); cipso_v4_skbuff_setattr() 2266 iph = ip_hdr(skb); cipso_v4_skbuff_setattr() 2267 memset(iph + 1, IPOPT_NOP, opt->optlen); cipso_v4_skbuff_setattr() 2269 iph = ip_hdr(skb); cipso_v4_skbuff_setattr() 2282 memcpy(iph + 1, buf, buf_len); cipso_v4_skbuff_setattr() 2284 memset((char *)(iph + 1) + buf_len, 0, opt_len - buf_len); cipso_v4_skbuff_setattr() 2286 iph->ihl = 5 + (opt_len >> 2); cipso_v4_skbuff_setattr() 2287 iph->tot_len = htons(skb->len); cipso_v4_skbuff_setattr() 2289 ip_send_check(iph); cipso_v4_skbuff_setattr() 2306 struct iphdr *iph; cipso_v4_skbuff_delattr() local 2322 iph = ip_hdr(skb); cipso_v4_skbuff_delattr() 2323 cipso_ptr = (unsigned char *)iph + opt->cipso; cipso_v4_skbuff_delattr() 2328 ip_send_check(iph); cipso_v4_skbuff_delattr()
|
H A D | igmp.c | 676 struct iphdr *iph; igmp_send_report() local 717 iph = ip_hdr(skb); igmp_send_report() 720 iph->version = 4; igmp_send_report() 721 iph->ihl = (sizeof(struct iphdr)+4)>>2; igmp_send_report() 722 iph->tos = 0xc0; igmp_send_report() 723 iph->frag_off = htons(IP_DF); igmp_send_report() 724 iph->ttl = 1; igmp_send_report() 725 iph->daddr = dst; igmp_send_report() 726 iph->saddr = fl4.saddr; igmp_send_report() 727 iph->protocol = IPPROTO_IGMP; igmp_send_report() 729 ((u8 *)&iph[1])[0] = IPOPT_RA; igmp_send_report() 730 ((u8 *)&iph[1])[1] = 4; igmp_send_report() 731 ((u8 *)&iph[1])[2] = 0; igmp_send_report() 732 ((u8 *)&iph[1])[3] = 0; igmp_send_report() 1364 const struct iphdr *iph; ip_mc_check_iphdr() local 1366 unsigned int offset = skb_network_offset(skb) + sizeof(*iph); ip_mc_check_iphdr() 1371 iph = ip_hdr(skb); ip_mc_check_iphdr() 1373 if (iph->version != 4 || ip_hdrlen(skb) < sizeof(*iph)) ip_mc_check_iphdr() 1376 offset += ip_hdrlen(skb) - sizeof(*iph); ip_mc_check_iphdr() 1381 iph = ip_hdr(skb); ip_mc_check_iphdr() 1383 if (unlikely(ip_fast_csum((u8 *)iph, iph->ihl))) ip_mc_check_iphdr() 1386 len = skb_network_offset(skb) + ntohs(iph->tot_len); ip_mc_check_iphdr()
|
H A D | udp.c | 580 const struct iphdr *iph = ip_hdr(skb); __udp4_lib_lookup_skb() local 582 return __udp4_lib_lookup(dev_net(skb_dst(skb)->dev), iph->saddr, sport, __udp4_lib_lookup_skb() 583 iph->daddr, dport, inet_iif(skb), __udp4_lib_lookup_skb() 628 const struct iphdr *iph = (const struct iphdr *)skb->data; __udp4_lib_err() local 629 struct udphdr *uh = (struct udphdr *)(skb->data+(iph->ihl<<2)); __udp4_lib_err() 637 sk = __udp4_lib_lookup(net, iph->daddr, uh->dest, __udp4_lib_err() 638 iph->saddr, uh->source, skb->dev->ifindex, udptable); __udp4_lib_err() 1972 const struct iphdr *iph; udp_v4_early_demux() local 1983 iph = ip_hdr(skb); udp_v4_early_demux() 1995 ours = ip_check_mc_rcu(in_dev, iph->daddr, iph->saddr, udp_v4_early_demux() 1996 iph->protocol); udp_v4_early_demux() 2001 sk = __udp4_lib_mcast_demux_lookup(net, uh->dest, iph->daddr, udp_v4_early_demux() 2002 uh->source, iph->saddr, dif); udp_v4_early_demux() 2004 sk = __udp4_lib_demux_lookup(net, uh->dest, iph->daddr, udp_v4_early_demux() 2005 uh->source, iph->saddr, dif); udp_v4_early_demux()
|
H A D | ip_sockglue.c | 135 const struct iphdr *iph = ip_hdr(skb); ip_cmsg_recv_dstaddr() local 147 sin.sin_addr.s_addr = iph->daddr; ip_cmsg_recv_dstaddr() 404 struct iphdr *iph; ip_local_error() local 416 iph = ip_hdr(skb); ip_local_error() 417 iph->daddr = daddr; ip_local_error() 427 serr->addr_offset = (u8 *)&iph->daddr - skb_network_header(skb); ip_local_error()
|
H A D | fou.c | 53 struct iphdr *iph = ip_hdr(skb); fou_recv_pull() local 58 iph->tot_len = htons(ntohs(iph->tot_len) - len); fou_recv_pull()
|
H A D | ipconfig.c | 620 struct iphdr iph; /* IP header */ member in struct:bootp_pkt 986 h = &b->iph; ic_bootp_recv() 1022 h = &b->iph; ic_bootp_recv() 1055 u8 *end = (u8 *) b + ntohs(b->iph.tot_len); ic_bootp_recv() 1100 &ic_myaddr, &b->iph.saddr); ic_bootp_recv() 1145 ic_addrservaddr = b->iph.saddr; ic_bootp_recv()
|
H A D | inet_fragment.c | 36 * 0 or INET_ECN_CE value, to be ORed in to final iph->tos field
|
/linux-4.4.14/net/netfilter/ipvs/ |
H A D | ip_vs_proto_ah_esp.c | 45 const struct ip_vs_iphdr *iph, ah_esp_conn_fill_param_proto() 48 if (likely(!ip_vs_iph_inverse(iph))) ah_esp_conn_fill_param_proto() 50 &iph->saddr, htons(PORT_ISAKMP), ah_esp_conn_fill_param_proto() 51 &iph->daddr, htons(PORT_ISAKMP), p); ah_esp_conn_fill_param_proto() 54 &iph->daddr, htons(PORT_ISAKMP), ah_esp_conn_fill_param_proto() 55 &iph->saddr, htons(PORT_ISAKMP), p); ah_esp_conn_fill_param_proto() 60 const struct ip_vs_iphdr *iph) ah_esp_conn_in_get() 65 ah_esp_conn_fill_param_proto(ipvs, af, iph, &p); ah_esp_conn_in_get() 74 ip_vs_iph_icmp(iph) ? "ICMP+" : "", ah_esp_conn_in_get() 75 ip_vs_proto_get(iph->protocol)->name, ah_esp_conn_in_get() 76 IP_VS_DBG_ADDR(af, &iph->saddr), ah_esp_conn_in_get() 77 IP_VS_DBG_ADDR(af, &iph->daddr)); ah_esp_conn_in_get() 86 const struct ip_vs_iphdr *iph) ah_esp_conn_out_get() 91 ah_esp_conn_fill_param_proto(ipvs, af, iph, &p); ah_esp_conn_out_get() 96 ip_vs_iph_icmp(iph) ? "ICMP+" : "", ah_esp_conn_out_get() 97 ip_vs_proto_get(iph->protocol)->name, ah_esp_conn_out_get() 98 IP_VS_DBG_ADDR(af, &iph->saddr), ah_esp_conn_out_get() 99 IP_VS_DBG_ADDR(af, &iph->daddr)); ah_esp_conn_out_get() 110 struct ip_vs_iphdr *iph) ah_esp_conn_schedule() 44 ah_esp_conn_fill_param_proto(struct netns_ipvs *ipvs, int af, const struct ip_vs_iphdr *iph, struct ip_vs_conn_param *p) ah_esp_conn_fill_param_proto() argument 59 ah_esp_conn_in_get(struct netns_ipvs *ipvs, int af, const struct sk_buff *skb, const struct ip_vs_iphdr *iph) ah_esp_conn_in_get() argument 85 ah_esp_conn_out_get(struct netns_ipvs *ipvs, int af, const struct sk_buff *skb, const struct ip_vs_iphdr *iph) ah_esp_conn_out_get() argument 107 ah_esp_conn_schedule(struct netns_ipvs *ipvs, int af, struct sk_buff *skb, struct ip_vs_proto_data *pd, int *verdict, struct ip_vs_conn **cpp, struct ip_vs_iphdr *iph) ah_esp_conn_schedule() argument
|
H A D | ip_vs_core.c | 237 int *ignored, struct ip_vs_iphdr *iph) ip_vs_sched_persist() 250 if (likely(!ip_vs_iph_inverse(iph))) { ip_vs_sched_persist() 251 src_addr = &iph->saddr; ip_vs_sched_persist() 252 dst_addr = &iph->daddr; ip_vs_sched_persist() 254 src_addr = &iph->daddr; ip_vs_sched_persist() 255 dst_addr = &iph->saddr; ip_vs_sched_persist() 288 int protocol = iph->protocol; ip_vs_sched_persist() 335 dest = sched->schedule(svc, skb, iph); ip_vs_sched_persist() 373 && iph->protocol == IPPROTO_UDP) ? ip_vs_sched_persist() 379 ip_vs_conn_fill_param(svc->ipvs, svc->af, iph->protocol, src_addr, ip_vs_sched_persist() 425 struct ip_vs_iphdr *iph) ip_vs_schedule() 439 pptr = frag_safe_skb_hp(skb, iph->len, sizeof(_ports), _ports, iph); ip_vs_schedule() 443 if (likely(!ip_vs_iph_inverse(iph))) { ip_vs_schedule() 445 caddr = &iph->saddr; ip_vs_schedule() 447 vaddr = &iph->daddr; ip_vs_schedule() 450 caddr = &iph->daddr; ip_vs_schedule() 452 vaddr = &iph->saddr; ip_vs_schedule() 462 IP_VS_DBG_PKT(12, svc->af, pp, skb, iph->off, ip_vs_schedule() 471 iph->hdr_flags ^= IP_VS_HDR_INVERSE; ip_vs_schedule() 472 cp = pp->conn_in_get(svc->ipvs, svc->af, skb, iph); ip_vs_schedule() 473 iph->hdr_flags ^= IP_VS_HDR_INVERSE; ip_vs_schedule() 476 IP_VS_DBG_PKT(12, svc->af, pp, skb, iph->off, ip_vs_schedule() 489 iph); ip_vs_schedule() 508 dest = sched->schedule(svc, skb, iph); ip_vs_schedule() 518 && iph->protocol == IPPROTO_UDP) ? ip_vs_schedule() 527 ip_vs_conn_fill_param(svc->ipvs, svc->af, iph->protocol, ip_vs_schedule() 566 struct ip_vs_proto_data *pd, struct ip_vs_iphdr *iph) ip_vs_leave() 572 pptr = frag_safe_skb_hp(skb, iph->len, sizeof(_ports), _ports, iph); ip_vs_leave() 575 dport = likely(!ip_vs_iph_inverse(iph)) ? pptr[1] : pptr[0]; ip_vs_leave() 581 !(iph->hdr_flags & (IP_VS_HDR_INVERSE | IP_VS_HDR_ICMP)) && ip_vs_leave() 582 ip_vs_addr_is_unicast(net, svc->af, &iph->daddr)) { ip_vs_leave() 586 iph->protocol == IPPROTO_UDP) ? ip_vs_leave() 594 ip_vs_conn_fill_param(svc->ipvs, svc->af, iph->protocol, ip_vs_leave() 595 &iph->saddr, pptr[0], ip_vs_leave() 596 &iph->daddr, pptr[1], &p); ip_vs_leave() 611 ret = cp->packet_xmit(skb, cp, pd->pp, iph); ip_vs_leave() 628 if (unlikely(ip_vs_iph_icmp(iph))) ip_vs_leave() 734 struct iphdr *iph = ip_hdr(skb); ip_vs_nat_icmp() local 735 unsigned int icmp_offset = iph->ihl*4; ip_vs_nat_icmp() 741 iph->saddr = cp->vaddr.ip; ip_vs_nat_icmp() 742 ip_send_check(iph); ip_vs_nat_icmp() 746 iph->daddr = cp->daddr.ip; ip_vs_nat_icmp() 747 ip_send_check(iph); ip_vs_nat_icmp() 769 IP_VS_DBG_PKT(11, AF_INET, pp, skb, (void *)ciph - (void *)iph, ip_vs_nat_icmp() 772 IP_VS_DBG_PKT(11, AF_INET, pp, skb, (void *)ciph - (void *)iph, ip_vs_nat_icmp() 780 struct ipv6hdr *iph = ipv6_hdr(skb); ip_vs_nat_icmp_v6() local 796 iph->saddr = cp->vaddr.in6; ip_vs_nat_icmp_v6() 799 iph->daddr = cp->daddr.in6; ip_vs_nat_icmp_v6() 818 icmph->icmp6_cksum = ~csum_ipv6_magic(&iph->saddr, &iph->daddr, ip_vs_nat_icmp_v6() 827 (void *)ciph - (void *)iph, ip_vs_nat_icmp_v6() 831 (void *)ciph - (void *)iph, ip_vs_nat_icmp_v6() 901 struct iphdr *iph; ip_vs_out_icmp() local 918 iph = ip_hdr(skb); ip_vs_out_icmp() 919 offset = ihl = iph->ihl * 4; ip_vs_out_icmp() 926 &iph->saddr, &iph->daddr); ip_vs_out_icmp() 967 snet.ip = iph->saddr; ip_vs_out_icmp() 1057 struct ip_vs_iphdr *iph) is_new_conn() 1059 switch (iph->protocol) { is_new_conn() 1063 th = skb_header_pointer(skb, iph->len, sizeof(_tcph), &_tcph); is_new_conn() 1071 sch = skb_header_pointer(skb, iph->len + sizeof(sctp_sctphdr_t), is_new_conn() 1106 struct ip_vs_conn *cp, struct ip_vs_iphdr *iph, handle_response() 1111 IP_VS_DBG_PKT(11, af, pp, skb, iph->off, "Outgoing packet"); handle_response() 1113 if (!skb_make_writable(skb, iph->len)) handle_response() 1117 if (pp->snat_handler && !pp->snat_handler(skb, pp, cp, iph)) handle_response() 1148 IP_VS_DBG_PKT(10, af, pp, skb, iph->off, "After SNAT"); handle_response() 1175 struct ip_vs_iphdr iph; ip_vs_out() local 1202 ip_vs_fill_iph_skb(af, skb, false, &iph); ip_vs_out() 1205 if (unlikely(iph.protocol == IPPROTO_ICMPV6)) { ip_vs_out() 1208 hooknum, &iph); ip_vs_out() 1215 if (unlikely(iph.protocol == IPPROTO_ICMP)) { ip_vs_out() 1223 pd = ip_vs_proto_data_get(ipvs, iph.protocol); ip_vs_out() 1237 ip_vs_fill_iph_skb(AF_INET, skb, false, &iph); ip_vs_out() 1243 cp = pp->conn_out_get(ipvs, af, skb, &iph); ip_vs_out() 1246 return handle_response(af, skb, pd, cp, &iph, hooknum); ip_vs_out() 1253 pptr = frag_safe_skb_hp(skb, iph.len, ip_vs_out() 1254 sizeof(_ports), _ports, &iph); ip_vs_out() 1257 if (ip_vs_has_real_service(ipvs, af, iph.protocol, &iph.saddr, ip_vs_out() 1264 if ((iph.protocol != IPPROTO_TCP && ip_vs_out() 1265 iph.protocol != IPPROTO_SCTP) ip_vs_out() 1266 || ((iph.protocol == IPPROTO_TCP ip_vs_out() 1267 && !is_tcp_reset(skb, iph.len)) ip_vs_out() 1268 || (iph.protocol == IPPROTO_SCTP ip_vs_out() 1270 iph.len)))) { ip_vs_out() 1288 IP_VS_DBG_PKT(12, af, pp, skb, iph.off, ip_vs_out() 1347 struct ip_vs_iphdr *iph) ip_vs_try_to_schedule() 1351 if (!iph->fragoffs) { ip_vs_try_to_schedule() 1357 if (!pp->conn_schedule(ipvs, af, skb, pd, verdict, cpp, iph)) ip_vs_try_to_schedule() 1363 IP_VS_DBG_PKT(12, af, pp, skb, iph->off, ip_vs_try_to_schedule() 1365 if (iph->fragoffs) { ip_vs_try_to_schedule() 1370 IP_VS_DBG_PKT(7, af, pp, skb, iph->off, ip_vs_try_to_schedule() 1390 struct iphdr *iph; ip_vs_in_icmp() local 1408 iph = ip_hdr(skb); ip_vs_in_icmp() 1409 offset = ihl = iph->ihl * 4; ip_vs_in_icmp() 1416 &iph->saddr, &iph->daddr); ip_vs_in_icmp() 1492 &iph->saddr); ip_vs_in_icmp() 1572 struct ip_vs_iphdr *iph) ip_vs_in_icmp_v6() 1584 ic = frag_safe_skb_hp(skb, iph->len, sizeof(_icmph), &_icmph, iph); ip_vs_in_icmp_v6() 1602 if (iph->flags & IP6_FH_F_FRAG) ip_vs_in_icmp_v6() 1607 &iph->saddr, &iph->daddr); ip_vs_in_icmp_v6() 1609 offset = iph->len + sizeof(_icmph); ip_vs_in_icmp_v6() 1678 struct ip_vs_iphdr iph; ip_vs_in() local 1698 ip_vs_fill_iph_skb(af, skb, false, &iph); ip_vs_in() 1701 skb->pkt_type, iph.protocol, ip_vs_in() 1702 IP_VS_DBG_ADDR(af, &iph.daddr), hooknum); ip_vs_in() 1709 ip_vs_fill_iph_skb(af, skb, false, &iph); ip_vs_in() 1722 if (unlikely(iph.protocol == IPPROTO_ICMPV6)) { ip_vs_in() 1725 hooknum, &iph); ip_vs_in() 1732 if (unlikely(iph.protocol == IPPROTO_ICMP)) { ip_vs_in() 1742 pd = ip_vs_proto_data_get(ipvs, iph.protocol); ip_vs_in() 1757 cp = pp->conn_in_get(ipvs, af, skb, &iph); ip_vs_in() 1760 if (conn_reuse_mode && !iph.fragoffs && is_new_conn(skb, &iph) && cp) { ip_vs_in() 1793 if (!ip_vs_try_to_schedule(ipvs, af, skb, pd, &v, &cp, &iph)) ip_vs_in() 1797 IP_VS_DBG_PKT(11, af, pp, skb, iph.off, "Incoming packet"); ip_vs_in() 1816 ret = cp->packet_xmit(skb, cp, pp, &iph); ip_vs_in() 235 ip_vs_sched_persist(struct ip_vs_service *svc, struct sk_buff *skb, __be16 src_port, __be16 dst_port, int *ignored, struct ip_vs_iphdr *iph) ip_vs_sched_persist() argument 423 ip_vs_schedule(struct ip_vs_service *svc, struct sk_buff *skb, struct ip_vs_proto_data *pd, int *ignored, struct ip_vs_iphdr *iph) ip_vs_schedule() argument 565 ip_vs_leave(struct ip_vs_service *svc, struct sk_buff *skb, struct ip_vs_proto_data *pd, struct ip_vs_iphdr *iph) ip_vs_leave() argument 1056 is_new_conn(const struct sk_buff *skb, struct ip_vs_iphdr *iph) is_new_conn() argument 1105 handle_response(int af, struct sk_buff *skb, struct ip_vs_proto_data *pd, struct ip_vs_conn *cp, struct ip_vs_iphdr *iph, unsigned int hooknum) handle_response() argument 1344 ip_vs_try_to_schedule(struct netns_ipvs *ipvs, int af, struct sk_buff *skb, struct ip_vs_proto_data *pd, int *verdict, struct ip_vs_conn **cpp, struct ip_vs_iphdr *iph) ip_vs_try_to_schedule() argument 1570 ip_vs_in_icmp_v6(struct netns_ipvs *ipvs, struct sk_buff *skb, int *related, unsigned int hooknum, struct ip_vs_iphdr *iph) ip_vs_in_icmp_v6() argument
|
H A D | ip_vs_proto_udp.c | 35 struct ip_vs_iphdr *iph) udp_conn_schedule() 41 if (likely(!ip_vs_iph_icmp(iph))) { udp_conn_schedule() 43 uh = skb_header_pointer(skb, iph->len, sizeof(_udph), &_udph); udp_conn_schedule() 48 skb, iph->len, sizeof(_ports), &_ports); udp_conn_schedule() 57 if (likely(!ip_vs_iph_inverse(iph))) udp_conn_schedule() 58 svc = ip_vs_service_find(ipvs, af, skb->mark, iph->protocol, udp_conn_schedule() 59 &iph->daddr, ports[1]); udp_conn_schedule() 61 svc = ip_vs_service_find(ipvs, af, skb->mark, iph->protocol, udp_conn_schedule() 62 &iph->saddr, ports[0]); udp_conn_schedule() 81 *cpp = ip_vs_schedule(svc, skb, pd, &ignored, iph); udp_conn_schedule() 84 *verdict = ip_vs_leave(svc, skb, pd, iph); udp_conn_schedule() 142 struct ip_vs_conn *cp, struct ip_vs_iphdr *iph) udp_snat_handler() 145 unsigned int udphoff = iph->len; udp_snat_handler() 150 if (cp->af == AF_INET6 && iph->fragoffs) udp_snat_handler() 225 struct ip_vs_conn *cp, struct ip_vs_iphdr *iph) udp_dnat_handler() 228 unsigned int udphoff = iph->len; udp_dnat_handler() 233 if (cp->af == AF_INET6 && iph->fragoffs) udp_dnat_handler() 32 udp_conn_schedule(struct netns_ipvs *ipvs, int af, struct sk_buff *skb, struct ip_vs_proto_data *pd, int *verdict, struct ip_vs_conn **cpp, struct ip_vs_iphdr *iph) udp_conn_schedule() argument 141 udp_snat_handler(struct sk_buff *skb, struct ip_vs_protocol *pp, struct ip_vs_conn *cp, struct ip_vs_iphdr *iph) udp_snat_handler() argument 224 udp_dnat_handler(struct sk_buff *skb, struct ip_vs_protocol *pp, struct ip_vs_conn *cp, struct ip_vs_iphdr *iph) udp_dnat_handler() argument
|
H A D | ip_vs_pe_sip.c | 68 struct ip_vs_iphdr iph; ip_vs_sip_fill_param() local 73 retc = ip_vs_fill_iph_skb(p->af, skb, false, &iph); ip_vs_sip_fill_param() 76 if (!retc || iph.protocol != IPPROTO_UDP) ip_vs_sip_fill_param() 81 dataoff = iph.len + sizeof(struct udphdr); ip_vs_sip_fill_param()
|
H A D | ip_vs_proto_sctp.c | 15 struct ip_vs_iphdr *iph) sctp_conn_schedule() 22 if (likely(!ip_vs_iph_icmp(iph))) { sctp_conn_schedule() 23 sh = skb_header_pointer(skb, iph->len, sizeof(_sctph), &_sctph); sctp_conn_schedule() 26 skb, iph->len + sizeof(sctp_sctphdr_t), sctp_conn_schedule() 34 skb, iph->len, sizeof(_ports), &_ports); sctp_conn_schedule() 43 if (likely(!ip_vs_iph_inverse(iph))) sctp_conn_schedule() 44 svc = ip_vs_service_find(ipvs, af, skb->mark, iph->protocol, sctp_conn_schedule() 45 &iph->daddr, ports[1]); sctp_conn_schedule() 47 svc = ip_vs_service_find(ipvs, af, skb->mark, iph->protocol, sctp_conn_schedule() 48 &iph->saddr, ports[0]); sctp_conn_schedule() 65 *cpp = ip_vs_schedule(svc, skb, pd, &ignored, iph); sctp_conn_schedule() 68 *verdict = ip_vs_leave(svc, skb, pd, iph); sctp_conn_schedule() 89 struct ip_vs_conn *cp, struct ip_vs_iphdr *iph) sctp_snat_handler() 92 unsigned int sctphoff = iph->len; sctp_snat_handler() 96 if (cp->af == AF_INET6 && iph->fragoffs) sctp_snat_handler() 136 struct ip_vs_conn *cp, struct ip_vs_iphdr *iph) sctp_dnat_handler() 139 unsigned int sctphoff = iph->len; sctp_dnat_handler() 143 if (cp->af == AF_INET6 && iph->fragoffs) sctp_dnat_handler() 12 sctp_conn_schedule(struct netns_ipvs *ipvs, int af, struct sk_buff *skb, struct ip_vs_proto_data *pd, int *verdict, struct ip_vs_conn **cpp, struct ip_vs_iphdr *iph) sctp_conn_schedule() argument 88 sctp_snat_handler(struct sk_buff *skb, struct ip_vs_protocol *pp, struct ip_vs_conn *cp, struct ip_vs_iphdr *iph) sctp_snat_handler() argument 135 sctp_dnat_handler(struct sk_buff *skb, struct ip_vs_protocol *pp, struct ip_vs_conn *cp, struct ip_vs_iphdr *iph) sctp_dnat_handler() argument
|
H A D | ip_vs_proto_tcp.c | 38 struct ip_vs_iphdr *iph) tcp_conn_schedule() 48 if (likely(!ip_vs_iph_icmp(iph))) { tcp_conn_schedule() 49 th = skb_header_pointer(skb, iph->len, sizeof(_tcph), &_tcph); tcp_conn_schedule() 57 skb, iph->len, sizeof(_ports), &_ports); tcp_conn_schedule() 68 if (likely(!ip_vs_iph_inverse(iph))) tcp_conn_schedule() 69 svc = ip_vs_service_find(ipvs, af, skb->mark, iph->protocol, tcp_conn_schedule() 70 &iph->daddr, ports[1]); tcp_conn_schedule() 72 svc = ip_vs_service_find(ipvs, af, skb->mark, iph->protocol, tcp_conn_schedule() 73 &iph->saddr, ports[0]); tcp_conn_schedule() 92 *cpp = ip_vs_schedule(svc, skb, pd, &ignored, iph); tcp_conn_schedule() 95 *verdict = ip_vs_leave(svc, skb, pd, iph); tcp_conn_schedule() 152 struct ip_vs_conn *cp, struct ip_vs_iphdr *iph) tcp_snat_handler() 155 unsigned int tcphoff = iph->len; tcp_snat_handler() 160 if (cp->af == AF_INET6 && iph->fragoffs) tcp_snat_handler() 230 struct ip_vs_conn *cp, struct ip_vs_iphdr *iph) tcp_dnat_handler() 233 unsigned int tcphoff = iph->len; tcp_dnat_handler() 238 if (cp->af == AF_INET6 && iph->fragoffs) tcp_dnat_handler() 256 * It will fix ip_vs_conn and iph ack_seq stuff tcp_dnat_handler() 35 tcp_conn_schedule(struct netns_ipvs *ipvs, int af, struct sk_buff *skb, struct ip_vs_proto_data *pd, int *verdict, struct ip_vs_conn **cpp, struct ip_vs_iphdr *iph) tcp_conn_schedule() argument 151 tcp_snat_handler(struct sk_buff *skb, struct ip_vs_protocol *pp, struct ip_vs_conn *cp, struct ip_vs_iphdr *iph) tcp_snat_handler() argument 229 tcp_dnat_handler(struct sk_buff *skb, struct ip_vs_protocol *pp, struct ip_vs_conn *cp, struct ip_vs_iphdr *iph) tcp_dnat_handler() argument
|
H A D | ip_vs_sh.c | 281 ip_vs_sh_get_port(const struct sk_buff *skb, struct ip_vs_iphdr *iph) ip_vs_sh_get_port() argument 290 switch (iph->protocol) { ip_vs_sh_get_port() 294 ports = skb_header_pointer(skb, iph->len, sizeof(_ports), ip_vs_sh_get_port() 299 if (likely(!ip_vs_iph_inverse(iph))) ip_vs_sh_get_port() 314 struct ip_vs_iphdr *iph) ip_vs_sh_schedule() 321 hash_addr = ip_vs_iph_inverse(iph) ? &iph->daddr : &iph->saddr; ip_vs_sh_schedule() 326 port = ip_vs_sh_get_port(skb, iph); ip_vs_sh_schedule() 313 ip_vs_sh_schedule(struct ip_vs_service *svc, const struct sk_buff *skb, struct ip_vs_iphdr *iph) ip_vs_sh_schedule() argument
|
H A D | ip_vs_ftp.c | 172 struct iphdr *iph; ip_vs_ftp_out() local 204 iph = ip_hdr(skb); ip_vs_ftp_out() 205 th = (struct tcphdr *)&(((char *)iph)[iph->ihl*4]); ip_vs_ftp_out() 226 iph->protocol, &from, port, ip_vs_ftp_out() 272 iph->ihl * 4, ip_vs_ftp_out() 314 struct iphdr *iph; ip_vs_ftp_in() local 344 iph = ip_hdr(skb); ip_vs_ftp_in() 345 th = (struct tcphdr *)&(((char *)iph)[iph->ihl*4]); ip_vs_ftp_in() 387 ip_vs_proto_name(iph->protocol), ip_vs_ftp_in() 393 iph->protocol, &to, port, &cp->vaddr, ip_vs_ftp_in()
|
H A D | ip_vs_xmit.c | 629 struct iphdr *iph = ip_hdr(skb); ip_vs_bypass_xmit() local 634 if (__ip_vs_get_out_rt(cp->ipvs, cp->af, skb, NULL, iph->daddr, ip_vs_bypass_xmit() 638 ip_send_check(iph); ip_vs_bypass_xmit() 661 struct ipv6hdr *iph = ipv6_hdr(skb); ip_vs_bypass_xmit_v6() local 667 &iph->daddr, NULL, ip_vs_bypass_xmit_v6() 987 struct iphdr *iph; /* Our new IP header */ ip_vs_tunnel_xmit() local 1036 iph = ip_hdr(skb); ip_vs_tunnel_xmit() 1037 iph->version = 4; ip_vs_tunnel_xmit() 1038 iph->ihl = sizeof(struct iphdr)>>2; ip_vs_tunnel_xmit() 1039 iph->frag_off = df; ip_vs_tunnel_xmit() 1040 iph->protocol = next_protocol; ip_vs_tunnel_xmit() 1041 iph->tos = dsfield; ip_vs_tunnel_xmit() 1042 iph->daddr = cp->daddr.ip; ip_vs_tunnel_xmit() 1043 iph->saddr = saddr; ip_vs_tunnel_xmit() 1044 iph->ttl = ttl; ip_vs_tunnel_xmit() 1081 struct ipv6hdr *iph; /* Our new IP header */ ip_vs_tunnel_xmit_v6() local 1129 iph = ipv6_hdr(skb); ip_vs_tunnel_xmit_v6() 1130 iph->version = 6; ip_vs_tunnel_xmit_v6() 1131 iph->nexthdr = next_protocol; ip_vs_tunnel_xmit_v6() 1132 iph->payload_len = htons(payload_len); ip_vs_tunnel_xmit_v6() 1133 memset(&iph->flow_lbl, 0, sizeof(iph->flow_lbl)); ip_vs_tunnel_xmit_v6() 1134 ipv6_change_dsfield(iph, 0, dsfield); ip_vs_tunnel_xmit_v6() 1135 iph->daddr = cp->daddr.in6; ip_vs_tunnel_xmit_v6() 1136 iph->saddr = saddr; ip_vs_tunnel_xmit_v6() 1137 iph->hop_limit = ttl; ip_vs_tunnel_xmit_v6() 1253 struct ip_vs_iphdr *iph) ip_vs_icmp_xmit() 1267 rc = cp->packet_xmit(skb, cp, pp, iph); ip_vs_icmp_xmit() 1286 NULL, iph); ip_vs_icmp_xmit() 1251 ip_vs_icmp_xmit(struct sk_buff *skb, struct ip_vs_conn *cp, struct ip_vs_protocol *pp, int offset, unsigned int hooknum, struct ip_vs_iphdr *iph) ip_vs_icmp_xmit() argument
|
H A D | ip_vs_fo.c | 27 struct ip_vs_iphdr *iph) ip_vs_fo_schedule() 26 ip_vs_fo_schedule(struct ip_vs_service *svc, const struct sk_buff *skb, struct ip_vs_iphdr *iph) ip_vs_fo_schedule() argument
|
H A D | ip_vs_lc.c | 30 struct ip_vs_iphdr *iph) ip_vs_lc_schedule() 29 ip_vs_lc_schedule(struct ip_vs_service *svc, const struct sk_buff *skb, struct ip_vs_iphdr *iph) ip_vs_lc_schedule() argument
|
H A D | ip_vs_ovf.c | 31 struct ip_vs_iphdr *iph) ip_vs_ovf_schedule() 30 ip_vs_ovf_schedule(struct ip_vs_service *svc, const struct sk_buff *skb, struct ip_vs_iphdr *iph) ip_vs_ovf_schedule() argument
|
H A D | ip_vs_conn.c | 319 const struct ip_vs_iphdr *iph, ip_vs_conn_fill_param_proto() 324 pptr = frag_safe_skb_hp(skb, iph->len, sizeof(_ports), _ports, iph); ip_vs_conn_fill_param_proto() 328 if (likely(!ip_vs_iph_inverse(iph))) ip_vs_conn_fill_param_proto() 329 ip_vs_conn_fill_param(ipvs, af, iph->protocol, &iph->saddr, ip_vs_conn_fill_param_proto() 330 pptr[0], &iph->daddr, pptr[1], p); ip_vs_conn_fill_param_proto() 332 ip_vs_conn_fill_param(ipvs, af, iph->protocol, &iph->daddr, ip_vs_conn_fill_param_proto() 333 pptr[1], &iph->saddr, pptr[0], p); ip_vs_conn_fill_param_proto() 340 const struct ip_vs_iphdr *iph) ip_vs_conn_in_get_proto() 344 if (ip_vs_conn_fill_param_proto(ipvs, af, skb, iph, &p)) ip_vs_conn_in_get_proto() 445 const struct ip_vs_iphdr *iph) ip_vs_conn_out_get_proto() 449 if (ip_vs_conn_fill_param_proto(ipvs, af, skb, iph, &p)) ip_vs_conn_out_get_proto() 317 ip_vs_conn_fill_param_proto(struct netns_ipvs *ipvs, int af, const struct sk_buff *skb, const struct ip_vs_iphdr *iph, struct ip_vs_conn_param *p) ip_vs_conn_fill_param_proto() argument 338 ip_vs_conn_in_get_proto(struct netns_ipvs *ipvs, int af, const struct sk_buff *skb, const struct ip_vs_iphdr *iph) ip_vs_conn_in_get_proto() argument 443 ip_vs_conn_out_get_proto(struct netns_ipvs *ipvs, int af, const struct sk_buff *skb, const struct ip_vs_iphdr *iph) ip_vs_conn_out_get_proto() argument
|
H A D | ip_vs_dh.c | 218 struct ip_vs_iphdr *iph) ip_vs_dh_schedule() 226 dest = ip_vs_dh_get(svc->af, s, &iph->daddr); ip_vs_dh_schedule() 236 IP_VS_DBG_ADDR(svc->af, &iph->daddr), ip_vs_dh_schedule() 217 ip_vs_dh_schedule(struct ip_vs_service *svc, const struct sk_buff *skb, struct ip_vs_iphdr *iph) ip_vs_dh_schedule() argument
|
H A D | ip_vs_lblc.c | 484 struct ip_vs_iphdr *iph) ip_vs_lblc_schedule() 493 en = ip_vs_lblc_get(svc->af, tbl, &iph->daddr); ip_vs_lblc_schedule() 523 ip_vs_lblc_new(tbl, &iph->daddr, svc->af, dest); ip_vs_lblc_schedule() 528 IP_VS_DBG_ADDR(svc->af, &iph->daddr), ip_vs_lblc_schedule() 483 ip_vs_lblc_schedule(struct ip_vs_service *svc, const struct sk_buff *skb, struct ip_vs_iphdr *iph) ip_vs_lblc_schedule() argument
|
H A D | ip_vs_nq.c | 59 struct ip_vs_iphdr *iph) ip_vs_nq_schedule() 58 ip_vs_nq_schedule(struct ip_vs_service *svc, const struct sk_buff *skb, struct ip_vs_iphdr *iph) ip_vs_nq_schedule() argument
|
H A D | ip_vs_rr.c | 59 struct ip_vs_iphdr *iph) ip_vs_rr_schedule() 58 ip_vs_rr_schedule(struct ip_vs_service *svc, const struct sk_buff *skb, struct ip_vs_iphdr *iph) ip_vs_rr_schedule() argument
|
H A D | ip_vs_wlc.c | 35 struct ip_vs_iphdr *iph) ip_vs_wlc_schedule() 34 ip_vs_wlc_schedule(struct ip_vs_service *svc, const struct sk_buff *skb, struct ip_vs_iphdr *iph) ip_vs_wlc_schedule() argument
|
H A D | ip_vs_lblcr.c | 648 struct ip_vs_iphdr *iph) ip_vs_lblcr_schedule() 657 en = ip_vs_lblcr_get(svc->af, tbl, &iph->daddr); ip_vs_lblcr_schedule() 708 ip_vs_lblcr_new(tbl, &iph->daddr, svc->af, dest); ip_vs_lblcr_schedule() 713 IP_VS_DBG_ADDR(svc->af, &iph->daddr), ip_vs_lblcr_schedule() 647 ip_vs_lblcr_schedule(struct ip_vs_service *svc, const struct sk_buff *skb, struct ip_vs_iphdr *iph) ip_vs_lblcr_schedule() argument
|
H A D | ip_vs_sed.c | 63 struct ip_vs_iphdr *iph) ip_vs_sed_schedule() 62 ip_vs_sed_schedule(struct ip_vs_service *svc, const struct sk_buff *skb, struct ip_vs_iphdr *iph) ip_vs_sed_schedule() argument
|
H A D | ip_vs_wrr.c | 166 struct ip_vs_iphdr *iph) ip_vs_wrr_schedule() 165 ip_vs_wrr_schedule(struct ip_vs_service *svc, const struct sk_buff *skb, struct ip_vs_iphdr *iph) ip_vs_wrr_schedule() argument
|
/linux-4.4.14/net/ipv4/netfilter/ |
H A D | nft_chain_route_ipv4.c | 33 const struct iphdr *iph; nf_route_table_hook() local 43 iph = ip_hdr(skb); nf_route_table_hook() 44 saddr = iph->saddr; nf_route_table_hook() 45 daddr = iph->daddr; nf_route_table_hook() 46 tos = iph->tos; nf_route_table_hook() 50 iph = ip_hdr(skb); nf_route_table_hook() 52 if (iph->saddr != saddr || nf_route_table_hook() 53 iph->daddr != daddr || nf_route_table_hook() 55 iph->tos != tos) nf_route_table_hook()
|
H A D | iptable_mangle.c | 43 const struct iphdr *iph; ipt_mangle_out() local 56 iph = ip_hdr(skb); ipt_mangle_out() 57 saddr = iph->saddr; ipt_mangle_out() 58 daddr = iph->daddr; ipt_mangle_out() 59 tos = iph->tos; ipt_mangle_out() 64 iph = ip_hdr(skb); ipt_mangle_out() 66 if (iph->saddr != saddr || ipt_mangle_out() 67 iph->daddr != daddr || ipt_mangle_out() 69 iph->tos != tos) { ipt_mangle_out()
|
H A D | ipt_ECN.c | 31 struct iphdr *iph = ip_hdr(skb); set_ect_ip() local 33 if ((iph->tos & IPT_ECN_IP_MASK) != (einfo->ip_ect & IPT_ECN_IP_MASK)) { set_ect_ip() 37 iph = ip_hdr(skb); set_ect_ip() 38 oldtos = iph->tos; set_ect_ip() 39 iph->tos &= ~IPT_ECN_IP_MASK; set_ect_ip() 40 iph->tos |= (einfo->ip_ect & IPT_ECN_IP_MASK); set_ect_ip() 41 csum_replace2(&iph->check, htons(oldtos), htons(iph->tos)); set_ect_ip()
|
H A D | ipt_SYNPROXY.c | 23 struct iphdr *iph; synproxy_build_ip() local 26 iph = (struct iphdr *)skb_put(skb, sizeof(*iph)); synproxy_build_ip() 27 iph->version = 4; synproxy_build_ip() 28 iph->ihl = sizeof(*iph) / 4; synproxy_build_ip() 29 iph->tos = 0; synproxy_build_ip() 30 iph->id = 0; synproxy_build_ip() 31 iph->frag_off = htons(IP_DF); synproxy_build_ip() 32 iph->ttl = sysctl_ip_default_ttl; synproxy_build_ip() 33 iph->protocol = IPPROTO_TCP; synproxy_build_ip() 34 iph->check = 0; synproxy_build_ip() 35 iph->saddr = saddr; synproxy_build_ip() 36 iph->daddr = daddr; synproxy_build_ip() 38 return iph; synproxy_build_ip() 79 struct iphdr *iph, *niph; synproxy_send_client_synack() local 84 iph = ip_hdr(skb); synproxy_send_client_synack() 93 niph = synproxy_build_ip(nskb, iph->daddr, iph->saddr); synproxy_send_client_synack() 99 nth->seq = htonl(__cookie_v4_init_sequence(iph, th, &mss)); synproxy_send_client_synack() 121 struct iphdr *iph, *niph; synproxy_send_server_syn() local 125 iph = ip_hdr(skb); synproxy_send_server_syn() 134 niph = synproxy_build_ip(nskb, iph->saddr, iph->daddr); synproxy_send_server_syn() 166 struct iphdr *iph, *niph; synproxy_send_server_ack() local 170 iph = ip_hdr(skb); synproxy_send_server_ack() 179 niph = synproxy_build_ip(nskb, iph->daddr, iph->saddr); synproxy_send_server_ack() 204 struct iphdr *iph, *niph; synproxy_send_client_ack() local 208 iph = ip_hdr(skb); synproxy_send_client_ack() 217 niph = synproxy_build_ip(nskb, iph->saddr, iph->daddr); synproxy_send_client_ack()
|
H A D | ipt_rpfilter.c | 75 const struct iphdr *iph; rpfilter_mt() local 85 iph = ip_hdr(skb); rpfilter_mt() 86 if (ipv4_is_multicast(iph->daddr)) { rpfilter_mt() 87 if (ipv4_is_zeronet(iph->saddr)) rpfilter_mt() 88 return ipv4_is_local_multicast(iph->daddr) ^ invert; rpfilter_mt() 91 flow.daddr = iph->saddr; rpfilter_mt() 92 flow.saddr = rpfilter_get_saddr(iph->daddr); rpfilter_mt() 95 flow.flowi4_tos = RT_TOS(iph->tos); rpfilter_mt()
|
H A D | nf_dup_ipv4.c | 29 const struct iphdr *iph = ip_hdr(skb); nf_dup_ipv4_route() local 38 fl4.flowi4_tos = RT_TOS(iph->tos); nf_dup_ipv4_route() 56 struct iphdr *iph; nf_dup_ipv4() local 86 iph = ip_hdr(skb); nf_dup_ipv4() 87 iph->frag_off |= htons(IP_DF); nf_dup_ipv4() 90 --iph->ttl; nf_dup_ipv4() 91 ip_send_check(iph); nf_dup_ipv4()
|
H A D | nf_nat_l3proto_ipv4.c | 84 struct iphdr *iph; nf_nat_ipv4_manip_pkt() local 87 if (!skb_make_writable(skb, iphdroff + sizeof(*iph))) nf_nat_ipv4_manip_pkt() 90 iph = (void *)skb->data + iphdroff; nf_nat_ipv4_manip_pkt() 91 hdroff = iphdroff + iph->ihl * 4; nf_nat_ipv4_manip_pkt() 96 iph = (void *)skb->data + iphdroff; nf_nat_ipv4_manip_pkt() 99 csum_replace4(&iph->check, iph->saddr, target->src.u3.ip); nf_nat_ipv4_manip_pkt() 100 iph->saddr = target->src.u3.ip; nf_nat_ipv4_manip_pkt() 102 csum_replace4(&iph->check, iph->daddr, target->dst.u3.ip); nf_nat_ipv4_manip_pkt() 103 iph->daddr = target->dst.u3.ip; nf_nat_ipv4_manip_pkt() 113 struct iphdr *iph = (struct iphdr *)(skb->data + iphdroff); nf_nat_ipv4_csum_update() local 117 oldip = iph->saddr; nf_nat_ipv4_csum_update() 120 oldip = iph->daddr; nf_nat_ipv4_csum_update() 130 const struct iphdr *iph = ip_hdr(skb); nf_nat_ipv4_csum_recalc() local 141 *check = ~csum_tcpudp_magic(iph->saddr, iph->daddr, nf_nat_ipv4_csum_recalc() 145 *check = csum_tcpudp_magic(iph->saddr, iph->daddr, nf_nat_ipv4_csum_recalc()
|
H A D | nf_reject_ipv4.c | 171 struct iphdr *iph = ip_hdr(skb_in); nf_send_unreach() local 174 if (skb_in->csum_bad || iph->frag_off & htons(IP_OFFSET)) nf_send_unreach() 182 if (iph->protocol == IPPROTO_TCP || iph->protocol == IPPROTO_UDP) nf_send_unreach() 183 proto = iph->protocol; nf_send_unreach()
|
H A D | nf_conntrack_l3proto_ipv4.c | 69 const struct iphdr *iph; ipv4_get_l4proto() local 72 iph = skb_header_pointer(skb, nhoff, sizeof(_iph), &_iph); ipv4_get_l4proto() 73 if (iph == NULL) ipv4_get_l4proto() 78 if (iph->frag_off & htons(IP_OFFSET)) ipv4_get_l4proto() 81 *dataoff = nhoff + (iph->ihl << 2); ipv4_get_l4proto() 82 *protonum = iph->protocol; ipv4_get_l4proto() 88 nhoff, iph->ihl << 2, skb->len); ipv4_get_l4proto()
|
H A D | ipt_CLUSTERIP.c | 245 const struct iphdr *iph = ip_hdr(skb); clusterip_hashfn() local 250 poff = proto_ports_offset(iph->protocol); clusterip_hashfn() 255 ports = skb_header_pointer(skb, iph->ihl * 4 + poff, 4, _ports); clusterip_hashfn() 261 net_info_ratelimited("unknown protocol %u\n", iph->protocol); clusterip_hashfn() 266 hashval = jhash_1word(ntohl(iph->saddr), clusterip_hashfn() 270 hashval = jhash_2words(ntohl(iph->saddr), sport, clusterip_hashfn() 274 hashval = jhash_3words(ntohl(iph->saddr), sport, dport, clusterip_hashfn()
|
H A D | nf_nat_snmp_basic.c | 1184 struct iphdr *iph = ip_hdr(skb); snmp_translate() local 1185 struct udphdr *udph = (struct udphdr *)((__be32 *)iph + iph->ihl); snmp_translate() 1224 const struct iphdr *iph = ip_hdr(skb); help() local 1225 const struct udphdr *udph = (struct udphdr *)((__be32 *)iph + iph->ihl); help() 1243 if (ntohs(udph->len) != skb->len - (iph->ihl << 2)) { help() 1245 &iph->saddr, &iph->daddr); help()
|
/linux-4.4.14/net/netfilter/ |
H A D | xt_iprange.c | 23 const struct iphdr *iph = ip_hdr(skb); iprange_mt4() local 27 m = ntohl(iph->saddr) < ntohl(info->src_min.ip); iprange_mt4() 28 m |= ntohl(iph->saddr) > ntohl(info->src_max.ip); iprange_mt4() 32 &iph->saddr, iprange_mt4() 40 m = ntohl(iph->daddr) < ntohl(info->dst_min.ip); iprange_mt4() 41 m |= ntohl(iph->daddr) > ntohl(info->dst_max.ip); iprange_mt4() 45 &iph->daddr, iprange_mt4() 72 const struct ipv6hdr *iph = ipv6_hdr(skb); iprange_mt6() local 76 m = iprange_ipv6_lt(&iph->saddr, &info->src_min.in6); iprange_mt6() 77 m |= iprange_ipv6_lt(&info->src_max.in6, &iph->saddr); iprange_mt6() 81 &iph->saddr, iprange_mt6() 89 m = iprange_ipv6_lt(&iph->daddr, &info->dst_min.in6); iprange_mt6() 90 m |= iprange_ipv6_lt(&info->dst_max.in6, &iph->daddr); iprange_mt6() 94 &iph->daddr, iprange_mt6()
|
H A D | xt_HL.c | 31 struct iphdr *iph; ttl_tg() local 38 iph = ip_hdr(skb); ttl_tg() 45 new_ttl = iph->ttl + info->ttl; ttl_tg() 50 new_ttl = iph->ttl - info->ttl; ttl_tg() 55 new_ttl = iph->ttl; ttl_tg() 59 if (new_ttl != iph->ttl) { ttl_tg() 60 csum_replace2(&iph->check, htons(iph->ttl << 8), ttl_tg() 62 iph->ttl = new_ttl; ttl_tg()
|
H A D | xt_DSCP.c | 80 struct iphdr *iph = ip_hdr(skb); tos_tg() local 83 orig = ipv4_get_dsfield(iph); tos_tg() 89 iph = ip_hdr(skb); tos_tg() 90 ipv4_change_dsfield(iph, 0, nv); tos_tg() 100 struct ipv6hdr *iph = ipv6_hdr(skb); tos_tg6() local 103 orig = ipv6_get_dsfield(iph); tos_tg6() 109 iph = ipv6_hdr(skb); tos_tg6() 110 ipv6_change_dsfield(iph, 0, nv); tos_tg6()
|
H A D | nf_tables_netdev.c | 23 struct iphdr *iph, _iph; nft_netdev_set_pktinfo_ipv4() local 28 iph = skb_header_pointer(skb, skb_network_offset(skb), sizeof(*iph), nft_netdev_set_pktinfo_ipv4() 30 if (!iph) nft_netdev_set_pktinfo_ipv4() 33 iph = ip_hdr(skb); nft_netdev_set_pktinfo_ipv4() 34 if (iph->ihl < 5 || iph->version != 4) nft_netdev_set_pktinfo_ipv4() 37 len = ntohs(iph->tot_len); nft_netdev_set_pktinfo_ipv4() 38 thoff = iph->ihl * 4; nft_netdev_set_pktinfo_ipv4() 44 pkt->tprot = iph->protocol; nft_netdev_set_pktinfo_ipv4() 46 pkt->xt.fragoff = ntohs(iph->frag_off) & IP_OFFSET; nft_netdev_set_pktinfo_ipv4()
|
H A D | xt_ipvs.c | 54 struct ip_vs_iphdr iph; ipvs_mt() local 71 ip_vs_fill_iph_skb(family, skb, true, &iph); ipvs_mt() 74 if ((iph.protocol == data->l4proto) ^ ipvs_mt() 80 pp = ip_vs_proto_get(iph.protocol); ipvs_mt() 89 cp = pp->conn_out_get(ipvs, family, skb, &iph); ipvs_mt()
|
H A D | xt_TPROXY.c | 256 const struct iphdr *iph = ip_hdr(skb); tproxy_handle_time_wait4() local 270 sk2 = nf_tproxy_get_sock_v4(net, iph->protocol, tproxy_handle_time_wait4() 271 iph->saddr, laddr ? laddr : iph->daddr, tproxy_handle_time_wait4() 296 const struct iphdr *iph = ip_hdr(skb); tproxy_tg4() local 308 sk = nf_tproxy_get_sock_v4(net, iph->protocol, tproxy_tg4() 309 iph->saddr, iph->daddr, tproxy_tg4() 313 laddr = tproxy_laddr4(skb, laddr, iph->daddr); tproxy_tg4() 324 sk = nf_tproxy_get_sock_v4(net, iph->protocol, tproxy_tg4() 325 iph->saddr, laddr, tproxy_tg4() 336 iph->protocol, &iph->daddr, ntohs(hp->dest), tproxy_tg4() 344 iph->protocol, &iph->saddr, ntohs(hp->source), tproxy_tg4() 345 &iph->daddr, ntohs(hp->dest), skb->mark); tproxy_tg4() 417 const struct ipv6hdr *iph = ipv6_hdr(skb); tproxy_handle_time_wait6() local 433 &iph->saddr, tproxy_handle_time_wait6() 434 tproxy_laddr6(skb, &tgi->laddr.in6, &iph->daddr), tproxy_handle_time_wait6() 450 const struct ipv6hdr *iph = ipv6_hdr(skb); tproxy_tg6_v1() local 476 &iph->saddr, &iph->daddr, tproxy_tg6_v1() 480 laddr = tproxy_laddr6(skb, &tgi->laddr.in6, &iph->daddr); tproxy_tg6_v1() 491 &iph->saddr, laddr, tproxy_tg6_v1() 502 tproto, &iph->saddr, ntohs(hp->source), tproxy_tg6_v1() 510 tproto, &iph->saddr, ntohs(hp->source), tproxy_tg6_v1() 511 &iph->daddr, ntohs(hp->dest), skb->mark); tproxy_tg6_v1()
|
H A D | xt_addrtype.c | 106 const struct ipv6hdr *iph = ipv6_hdr(skb); addrtype_mt6() local 110 ret &= match_type6(net, dev, &iph->saddr, info->source) ^ addrtype_mt6() 113 ret &= match_type6(net, dev, &iph->daddr, info->dest) ^ addrtype_mt6() 130 const struct iphdr *iph = ip_hdr(skb); addrtype_mt_v0() local 134 ret &= match_type(net, NULL, iph->saddr, info->source) ^ addrtype_mt_v0() 137 ret &= match_type(net, NULL, iph->daddr, info->dest) ^ addrtype_mt_v0() 148 const struct iphdr *iph; addrtype_mt_v1() local 161 iph = ip_hdr(skb); addrtype_mt_v1() 163 ret &= match_type(net, dev, iph->saddr, info->source) ^ addrtype_mt_v1() 166 ret &= match_type(net, dev, iph->daddr, info->dest) ^ addrtype_mt_v1()
|
H A D | nf_conntrack_broadcast.c | 29 struct iphdr *iph = ip_hdr(skb); nf_conntrack_broadcast_help() local 47 if (ifa->ifa_broadcast == iph->daddr) { for_primary_ifa()
|
H A D | xt_TCPMSS.c | 206 struct iphdr *iph = ip_hdr(skb); tcpmss_tg4() local 212 iph->ihl * 4, tcpmss_tg4() 213 sizeof(*iph) + sizeof(struct tcphdr)); tcpmss_tg4() 217 iph = ip_hdr(skb); tcpmss_tg4() 218 newlen = htons(ntohs(iph->tot_len) + ret); tcpmss_tg4() 219 csum_replace2(&iph->check, iph->tot_len, newlen); tcpmss_tg4() 220 iph->tot_len = newlen; tcpmss_tg4()
|
H A D | xt_socket.c | 150 const struct iphdr *iph = ip_hdr(skb); xt_socket_lookup_slow_v4() local 159 if (iph->protocol == IPPROTO_UDP || iph->protocol == IPPROTO_TCP) { xt_socket_lookup_slow_v4() 167 protocol = iph->protocol; xt_socket_lookup_slow_v4() 168 saddr = iph->saddr; xt_socket_lookup_slow_v4() 170 daddr = iph->daddr; xt_socket_lookup_slow_v4() 173 } else if (iph->protocol == IPPROTO_ICMP) { xt_socket_lookup_slow_v4() 188 ((iph->protocol != IPPROTO_ICMP && xt_socket_lookup_slow_v4() 190 (iph->protocol == IPPROTO_ICMP && xt_socket_lookup_slow_v4() 195 dport = (iph->protocol == IPPROTO_TCP) ? xt_socket_lookup_slow_v4() 345 struct ipv6hdr *iph = ipv6_hdr(skb); xt_socket_lookup_slow_v6() local 361 saddr = &iph->saddr; xt_socket_lookup_slow_v6() 363 daddr = &iph->daddr; xt_socket_lookup_slow_v6()
|
H A D | xt_connlimit.c | 340 const struct ipv6hdr *iph = ipv6_hdr(skb); connlimit_mt() local 342 &iph->daddr : &iph->saddr, sizeof(addr.ip6)); connlimit_mt() 344 const struct iphdr *iph = ip_hdr(skb); connlimit_mt() local 346 iph->daddr : iph->saddr; connlimit_mt()
|
H A D | nf_conntrack_irc.c | 110 const struct iphdr *iph; help() local 161 iph = ip_hdr(skb); help() 163 &iph->saddr, ntohs(th->source), help() 164 &iph->daddr, ntohs(th->dest)); help()
|
H A D | xt_recent.c | 250 const struct iphdr *iph = ip_hdr(skb); recent_mt() local 253 addr.ip = iph->daddr; recent_mt() 255 addr.ip = iph->saddr; recent_mt() 257 ttl = iph->ttl; recent_mt() 259 const struct ipv6hdr *iph = ipv6_hdr(skb); recent_mt() local 262 memcpy(&addr.in6, &iph->daddr, sizeof(addr.in6)); recent_mt() 264 memcpy(&addr.in6, &iph->saddr, sizeof(addr.in6)); recent_mt() 266 ttl = iph->hop_limit; recent_mt()
|
H A D | xt_l2tp.c | 175 struct iphdr *iph = ip_hdr(skb); l2tp_mt4() local 176 u8 ipproto = iph->protocol; l2tp_mt4()
|
/linux-4.4.14/include/net/netfilter/ |
H A D | nf_queue.h | 46 const struct iphdr *iph = ip_hdr(skb); hash_v4() local 49 if ((__force u32)iph->saddr < (__force u32)iph->daddr) hash_v4() 50 return jhash_3words((__force u32)iph->saddr, hash_v4() 51 (__force u32)iph->daddr, iph->protocol, jhash_initval); hash_v4() 53 return jhash_3words((__force u32)iph->daddr, hash_v4() 54 (__force u32)iph->saddr, iph->protocol, jhash_initval); hash_v4()
|
/linux-4.4.14/net/sched/ |
H A D | act_nat.c | 91 struct iphdr *iph; tcf_nat() local 118 if (!pskb_may_pull(skb, sizeof(*iph) + noff)) tcf_nat() 121 iph = ip_hdr(skb); tcf_nat() 124 addr = iph->saddr; tcf_nat() 126 addr = iph->daddr; tcf_nat() 130 !skb_clone_writable(skb, sizeof(*iph) + noff) && tcf_nat() 138 iph = ip_hdr(skb); tcf_nat() 140 iph->saddr = new_addr; tcf_nat() 142 iph->daddr = new_addr; tcf_nat() 144 csum_replace4(&iph->check, addr, new_addr); tcf_nat() 145 } else if ((iph->frag_off & htons(IP_OFFSET)) || tcf_nat() 146 iph->protocol != IPPROTO_ICMP) { tcf_nat() 150 ihl = iph->ihl * 4; tcf_nat() 153 switch (iph->frag_off & htons(IP_OFFSET) ? 0 : iph->protocol) { tcf_nat() 202 if (!pskb_may_pull(skb, ihl + sizeof(*icmph) + sizeof(*iph) + tcf_nat() 207 iph = (void *)(icmph + 1); tcf_nat() 209 addr = iph->daddr; tcf_nat() 211 addr = iph->saddr; tcf_nat() 218 sizeof(*iph) + noff) && tcf_nat() 223 iph = (void *)(icmph + 1); tcf_nat() 230 iph->daddr = new_addr; tcf_nat() 232 iph->saddr = new_addr; tcf_nat()
|
H A D | act_csum.c | 178 const struct iphdr *iph; tcf_csum_ipv4_tcp() local 184 iph = ip_hdr(skb); tcf_csum_ipv4_tcp() 188 iph->saddr, iph->daddr, skb->csum); tcf_csum_ipv4_tcp() 221 const struct iphdr *iph; tcf_csum_ipv4_udp() local 228 * Use iph->tot_len, or just ipl. tcf_csum_ipv4_udp() 235 iph = ip_hdr(skb); tcf_csum_ipv4_udp() 256 udph->check = csum_tcpudp_magic(iph->saddr, iph->daddr, tcf_csum_ipv4_udp() 257 ul, iph->protocol, tcf_csum_ipv4_udp() 324 const struct iphdr *iph; tcf_csum_ipv4() local 329 if (!pskb_may_pull(skb, sizeof(*iph) + ntkoff)) tcf_csum_ipv4() 332 iph = ip_hdr(skb); tcf_csum_ipv4() 334 switch (iph->frag_off & htons(IP_OFFSET) ? 0 : iph->protocol) { tcf_csum_ipv4() 337 if (!tcf_csum_ipv4_icmp(skb, iph->ihl * 4, tcf_csum_ipv4() 338 ntohs(iph->tot_len))) tcf_csum_ipv4() 343 if (!tcf_csum_ipv4_igmp(skb, iph->ihl * 4, tcf_csum_ipv4() 344 ntohs(iph->tot_len))) tcf_csum_ipv4() 349 if (!tcf_csum_ipv4_tcp(skb, iph->ihl * 4, tcf_csum_ipv4() 350 ntohs(iph->tot_len))) tcf_csum_ipv4() 355 if (!tcf_csum_ipv4_udp(skb, iph->ihl * 4, tcf_csum_ipv4() 356 ntohs(iph->tot_len), 0)) tcf_csum_ipv4() 361 if (!tcf_csum_ipv4_udp(skb, iph->ihl * 4, tcf_csum_ipv4() 362 ntohs(iph->tot_len), 1)) tcf_csum_ipv4() 369 !skb_clone_writable(skb, sizeof(*iph) + ntkoff) && tcf_csum_ipv4()
|
/linux-4.4.14/net/ipv6/ |
H A D | ip6_offload.c | 143 static int ipv6_exthdrs_len(struct ipv6hdr *iph, ipv6_exthdrs_len() argument 146 struct ipv6_opt_hdr *opth = (void *)iph; ipv6_exthdrs_len() 147 int len = 0, proto, optlen = sizeof(*iph); ipv6_exthdrs_len() 149 proto = iph->nexthdr; ipv6_exthdrs_len() 172 struct ipv6hdr *iph; ipv6_gro_receive() local 180 hlen = off + sizeof(*iph); ipv6_gro_receive() 181 iph = skb_gro_header_fast(skb, off); ipv6_gro_receive() 183 iph = skb_gro_header_slow(skb, hlen, off); ipv6_gro_receive() 184 if (unlikely(!iph)) ipv6_gro_receive() 189 skb_gro_pull(skb, sizeof(*iph)); ipv6_gro_receive() 192 flush += ntohs(iph->payload_len) != skb_gro_len(skb); ipv6_gro_receive() 195 proto = iph->nexthdr; ipv6_gro_receive() 208 iph = ipv6_hdr(skb); ipv6_gro_receive() 224 first_word = *(__be32 *)iph ^ *(__be32 *)iph2; ipv6_gro_receive() 233 memcmp(&iph->nexthdr, &iph2->nexthdr, ipv6_gro_receive() 248 skb_gro_postpull_rcsum(skb, iph, nlen); ipv6_gro_receive() 264 struct ipv6hdr *iph = (struct ipv6hdr *)(skb->data + nhoff); ipv6_gro_complete() local 270 iph->payload_len = htons(skb->len - nhoff - sizeof(*iph)); ipv6_gro_complete() 274 nhoff += sizeof(*iph) + ipv6_exthdrs_len(iph, &ops); ipv6_gro_complete()
|
H A D | sit.c | 102 if (local == t->parms.iph.saddr && ipip6_tunnel_lookup() 103 remote == t->parms.iph.daddr && ipip6_tunnel_lookup() 109 if (remote == t->parms.iph.daddr && ipip6_tunnel_lookup() 115 if (local == t->parms.iph.saddr && ipip6_tunnel_lookup() 129 __be32 remote = parms->iph.daddr; __ipip6_bucket() 130 __be32 local = parms->iph.saddr; __ipip6_bucket() 198 memcpy(dev->dev_addr, &t->parms.iph.saddr, 4); ipip6_tunnel_create() 199 memcpy(dev->broadcast, &t->parms.iph.daddr, 4); ipip6_tunnel_create() 224 __be32 remote = parms->iph.daddr; ipip6_tunnel_locate() 225 __be32 local = parms->iph.saddr; ipip6_tunnel_locate() 235 if (local == t->parms.iph.saddr && ipip6_tunnel_locate() 236 remote == t->parms.iph.daddr && ipip6_tunnel_locate() 441 isatap_chksrc(struct sk_buff *skb, const struct iphdr *iph, struct ip_tunnel *t) isatap_chksrc() argument 447 p = __ipip6_tunnel_locate_prl(t, iph->saddr); isatap_chksrc() 457 (addr6->s6_addr32[3] == iph->saddr) && isatap_chksrc() 520 const struct iphdr *iph = (const struct iphdr *)skb->data; ipip6_err() local 556 iph->daddr, ipip6_err() 557 iph->saddr); ipip6_err() 574 if (t->parms.iph.daddr == 0) ipip6_err() 581 if (t->parms.iph.ttl == 0 && type == ICMP_TIME_EXCEEDED) ipip6_err() 630 const struct iphdr *iph, packet_is_spoofed() 636 if (!isatap_chksrc(skb, iph, tunnel)) packet_is_spoofed() 647 if (unlikely(is_spoofed_6rd(tunnel, iph->saddr, &ipv6h->saddr))) { packet_is_spoofed() 649 &iph->saddr, &ipv6h->saddr, packet_is_spoofed() 650 &iph->daddr, &ipv6h->daddr); packet_is_spoofed() 654 if (likely(!is_spoofed_6rd(tunnel, iph->daddr, &ipv6h->daddr))) packet_is_spoofed() 661 &iph->saddr, &ipv6h->saddr, packet_is_spoofed() 662 &iph->daddr, &ipv6h->daddr); packet_is_spoofed() 668 const struct iphdr *iph = ip_hdr(skb); ipip6_rcv() local 673 iph->saddr, iph->daddr); ipip6_rcv() 677 if (tunnel->parms.iph.protocol != IPPROTO_IPV6 && ipip6_rcv() 678 tunnel->parms.iph.protocol != 0) ipip6_rcv() 686 if (packet_is_spoofed(skb, iph, tunnel)) { ipip6_rcv() 693 err = IP_ECN_decapsulate(iph, skb); ipip6_rcv() 697 &iph->saddr, iph->tos); ipip6_rcv() 730 const struct iphdr *iph; ipip_rcv() local 733 iph = ip_hdr(skb); ipip_rcv() 735 iph->saddr, iph->daddr); ipip_rcv() 737 if (tunnel->parms.iph.protocol != IPPROTO_IPIP && ipip_rcv() 738 tunnel->parms.iph.protocol != 0) ipip_rcv() 810 const struct iphdr *tiph = &tunnel->parms.iph; ipip6_tunnel_xmit() 812 u8 tos = tunnel->parms.iph.tos; ipip6_tunnel_xmit() 935 if (tunnel->parms.iph.daddr && skb_dst(skb)) ipip6_tunnel_xmit() 1004 const struct iphdr *tiph = &tunnel->parms.iph; ipip_tunnel_xmit() 1046 const struct iphdr *iph; ipip6_tunnel_bind_dev() local 1050 iph = &tunnel->parms.iph; ipip6_tunnel_bind_dev() 1052 if (iph->daddr) { ipip6_tunnel_bind_dev() 1055 iph->daddr, iph->saddr, ipip6_tunnel_bind_dev() 1058 RT_TOS(iph->tos), ipip6_tunnel_bind_dev() 1088 t->parms.iph.saddr = p->iph.saddr; ipip6_tunnel_update() 1089 t->parms.iph.daddr = p->iph.daddr; ipip6_tunnel_update() 1090 memcpy(t->dev->dev_addr, &p->iph.saddr, 4); ipip6_tunnel_update() 1091 memcpy(t->dev->broadcast, &p->iph.daddr, 4); ipip6_tunnel_update() 1093 t->parms.iph.ttl = p->iph.ttl; ipip6_tunnel_update() 1094 t->parms.iph.tos = p->iph.tos; ipip6_tunnel_update() 1195 if (p.iph.protocol != IPPROTO_IPV6 && ipip6_tunnel_ioctl() 1196 p.iph.protocol != IPPROTO_IPIP && ipip6_tunnel_ioctl() 1197 p.iph.protocol != 0) ipip6_tunnel_ioctl() 1199 if (p.iph.version != 4 || ipip6_tunnel_ioctl() 1200 p.iph.ihl != 5 || (p.iph.frag_off&htons(~IP_DF))) ipip6_tunnel_ioctl() 1202 if (p.iph.ttl) ipip6_tunnel_ioctl() 1203 p.iph.frag_off |= htons(IP_DF); ipip6_tunnel_ioctl() 1214 if (((dev->flags&IFF_POINTOPOINT) && !p.iph.daddr) || ipip6_tunnel_ioctl() 1215 (!(dev->flags&IFF_POINTOPOINT) && p.iph.daddr)) { ipip6_tunnel_ioctl() 1400 struct iphdr *iph = &tunnel->parms.iph; ipip6_fb_tunnel_init() local 1404 iph->version = 4; ipip6_fb_tunnel_init() 1405 iph->protocol = IPPROTO_IPV6; ipip6_fb_tunnel_init() 1406 iph->ihl = 5; ipip6_fb_tunnel_init() 1407 iph->ttl = 64; ipip6_fb_tunnel_init() 1434 parms->iph.version = 4; ipip6_netlink_parms() 1435 parms->iph.protocol = IPPROTO_IPV6; ipip6_netlink_parms() 1436 parms->iph.ihl = 5; ipip6_netlink_parms() 1437 parms->iph.ttl = 64; ipip6_netlink_parms() 1446 parms->iph.saddr = nla_get_be32(data[IFLA_IPTUN_LOCAL]); ipip6_netlink_parms() 1449 parms->iph.daddr = nla_get_be32(data[IFLA_IPTUN_REMOTE]); ipip6_netlink_parms() 1452 parms->iph.ttl = nla_get_u8(data[IFLA_IPTUN_TTL]); ipip6_netlink_parms() 1453 if (parms->iph.ttl) ipip6_netlink_parms() 1454 parms->iph.frag_off = htons(IP_DF); ipip6_netlink_parms() 1458 parms->iph.tos = nla_get_u8(data[IFLA_IPTUN_TOS]); ipip6_netlink_parms() 1461 parms->iph.frag_off = htons(IP_DF); ipip6_netlink_parms() 1467 parms->iph.protocol = nla_get_u8(data[IFLA_IPTUN_PROTO]); ipip6_netlink_parms() 1602 if (((dev->flags & IFF_POINTOPOINT) && !p.iph.daddr) || ipip6_changelink() 1603 (!(dev->flags & IFF_POINTOPOINT) && p.iph.daddr)) ipip6_changelink() 1670 nla_put_in_addr(skb, IFLA_IPTUN_LOCAL, parm->iph.saddr) || ipip6_fill_info() 1671 nla_put_in_addr(skb, IFLA_IPTUN_REMOTE, parm->iph.daddr) || ipip6_fill_info() 1672 nla_put_u8(skb, IFLA_IPTUN_TTL, parm->iph.ttl) || ipip6_fill_info() 1673 nla_put_u8(skb, IFLA_IPTUN_TOS, parm->iph.tos) || ipip6_fill_info() 1675 !!(parm->iph.frag_off & htons(IP_DF))) || ipip6_fill_info() 1676 nla_put_u8(skb, IFLA_IPTUN_PROTO, parm->iph.protocol) || ipip6_fill_info() 629 packet_is_spoofed(struct sk_buff *skb, const struct iphdr *iph, struct ip_tunnel *tunnel) packet_is_spoofed() argument
|
H A D | xfrm6_mode_beet.c | 24 struct ipv6hdr *iph = ipv6_hdr(skb); xfrm6_beet_make_header() local 26 iph->version = 6; xfrm6_beet_make_header() 28 memcpy(iph->flow_lbl, XFRM_MODE_SKB_CB(skb)->flow_lbl, xfrm6_beet_make_header() 29 sizeof(iph->flow_lbl)); xfrm6_beet_make_header() 30 iph->nexthdr = XFRM_MODE_SKB_CB(skb)->protocol; xfrm6_beet_make_header() 32 ipv6_change_dsfield(iph, 0, XFRM_MODE_SKB_CB(skb)->tos); xfrm6_beet_make_header() 33 iph->hop_limit = XFRM_MODE_SKB_CB(skb)->ttl; xfrm6_beet_make_header()
|
H A D | netfilter.c | 23 const struct ipv6hdr *iph = ipv6_hdr(skb); ip6_route_me_harder() local 29 .daddr = iph->daddr, ip6_route_me_harder() 30 .saddr = iph->saddr, ip6_route_me_harder() 87 const struct ipv6hdr *iph = ipv6_hdr(skb); nf_ip6_saveroute() local 89 rt_info->daddr = iph->daddr; nf_ip6_saveroute() 90 rt_info->saddr = iph->saddr; nf_ip6_saveroute() 101 const struct ipv6hdr *iph = ipv6_hdr(skb); nf_ip6_reroute() local 102 if (!ipv6_addr_equal(&iph->daddr, &rt_info->daddr) || nf_ip6_reroute() 103 !ipv6_addr_equal(&iph->saddr, &rt_info->saddr) || nf_ip6_reroute()
|
H A D | tcpv6_offload.c | 34 const struct ipv6hdr *iph = ipv6_hdr(skb); tcp6_gro_complete() local 37 th->check = ~tcp_v6_check(skb->len - thoff, &iph->saddr, tcp6_gro_complete() 38 &iph->daddr, 0); tcp6_gro_complete()
|
H A D | xfrm6_mode_transport.c | 24 struct ipv6hdr *iph; xfrm6_transport_output() local 28 iph = ipv6_hdr(skb); xfrm6_transport_output() 35 memmove(ipv6_hdr(skb), iph, hdr_len); xfrm6_transport_output() local
|
H A D | xfrm6_mode_ro.c | 43 struct ipv6hdr *iph; xfrm6_ro_output() local 47 iph = ipv6_hdr(skb); xfrm6_ro_output() 54 memmove(ipv6_hdr(skb), iph, hdr_len); xfrm6_ro_output() local
|
H A D | ah6.c | 157 * @iph: IPv6 header 160 static void ipv6_rearrange_destopt(struct ipv6hdr *iph, struct ipv6_opt_hdr *destopt) ipv6_rearrange_destopt() argument 184 /* Rearrange the source address in @iph and the ipv6_rearrange_destopt() 199 hao->addr = iph->saddr; ipv6_rearrange_destopt() 200 iph->saddr = final_addr; ipv6_rearrange_destopt() 213 static void ipv6_rearrange_destopt(struct ipv6hdr *iph, struct ipv6_opt_hdr *destopt) {} ipv6_rearrange_destopt() argument 218 * @iph: IPv6 header ipv6_rearrange_destopt() 221 * Rearrange the destination address in @iph and the addresses in @rthdr ipv6_rearrange_destopt() 225 static void ipv6_rearrange_rthdr(struct ipv6hdr *iph, struct ipv6_rt_hdr *rthdr) ipv6_rearrange_rthdr() argument 251 addrs[0] = iph->daddr; ipv6_rearrange_rthdr() 252 iph->daddr = final_addr; ipv6_rearrange_rthdr() 255 static int ipv6_clear_mutable_options(struct ipv6hdr *iph, int len, int dir) ipv6_clear_mutable_options() argument 258 struct ipv6hdr *iph; ipv6_clear_mutable_options() member in union:__anon14966 262 } exthdr = { .iph = iph }; ipv6_clear_mutable_options() 264 int nexthdr = iph->nexthdr; ipv6_clear_mutable_options() 266 exthdr.iph++; ipv6_clear_mutable_options() 272 ipv6_rearrange_destopt(iph, exthdr.opth); ipv6_clear_mutable_options() 283 ipv6_rearrange_rthdr(iph, exthdr.rth); ipv6_clear_mutable_options() 652 struct ipv6hdr *iph = (struct ipv6hdr *)skb->data; ah6_err() local 660 x = xfrm_state_lookup(net, skb->mark, (xfrm_address_t *)&iph->daddr, ah->spi, IPPROTO_AH, AF_INET6); ah6_err()
|
H A D | syncookies.c | 100 u32 __cookie_v6_init_sequence(const struct ipv6hdr *iph, __cookie_v6_init_sequence() argument 112 return secure_tcp_syn_cookie(&iph->saddr, &iph->daddr, th->source, __cookie_v6_init_sequence() 119 const struct ipv6hdr *iph = ipv6_hdr(skb); cookie_v6_init_sequence() local 122 return __cookie_v6_init_sequence(iph, th, mssp); cookie_v6_init_sequence() 125 int __cookie_v6_check(const struct ipv6hdr *iph, const struct tcphdr *th, __cookie_v6_check() argument 129 __u32 mssind = check_tcp_syn_cookie(cookie, &iph->saddr, &iph->daddr, __cookie_v6_check()
|
H A D | mip6.c | 133 const struct ipv6hdr *iph = ipv6_hdr(skb); mip6_destopt_input() local 138 if (!ipv6_addr_equal(&iph->saddr, (struct in6_addr *)x->coaddr) && mip6_destopt_input() 152 struct ipv6hdr *iph; mip6_destopt_output() local 159 iph = ipv6_hdr(skb); mip6_destopt_output() 176 memcpy(&hao->addr, &iph->saddr, sizeof(hao->addr)); mip6_destopt_output() 178 memcpy(&iph->saddr, x->coaddr, sizeof(iph->saddr)); mip6_destopt_output() 353 const struct ipv6hdr *iph = ipv6_hdr(skb); mip6_rthdr_input() local 358 if (!ipv6_addr_equal(&iph->daddr, (struct in6_addr *)x->coaddr) && mip6_rthdr_input() 371 struct ipv6hdr *iph; mip6_rthdr_output() local 376 iph = ipv6_hdr(skb); mip6_rthdr_output() 390 memcpy(&rt2->addr, &iph->daddr, sizeof(rt2->addr)); mip6_rthdr_output() 392 memcpy(&iph->daddr, x->coaddr, sizeof(iph->daddr)); mip6_rthdr_output()
|
H A D | xfrm6_state.c | 158 struct ipv6hdr *iph = ipv6_hdr(skb); xfrm6_extract_header() local 160 XFRM_MODE_SKB_CB(skb)->ihl = sizeof(*iph); xfrm6_extract_header() 163 XFRM_MODE_SKB_CB(skb)->tos = ipv6_get_dsfield(iph); xfrm6_extract_header() 164 XFRM_MODE_SKB_CB(skb)->ttl = iph->hop_limit; xfrm6_extract_header() 166 memcpy(XFRM_MODE_SKB_CB(skb)->flow_lbl, iph->flow_lbl, xfrm6_extract_header()
|
H A D | ipcomp6.c | 61 const struct ipv6hdr *iph = (const struct ipv6hdr *)skb->data; ipcomp6_err() local 71 x = xfrm_state_lookup(net, skb->mark, (const xfrm_address_t *)&iph->daddr, ipcomp6_err()
|
H A D | datagram.c | 273 struct ipv6hdr *iph; ipv6_local_error() local 287 iph = ipv6_hdr(skb); ipv6_local_error() 288 iph->daddr = fl6->daddr; ipv6_local_error() 298 serr->addr_offset = (u8 *)&iph->daddr - skb_network_header(skb); ipv6_local_error() 311 struct ipv6hdr *iph; ipv6_local_rxpmtu() local 324 iph = ipv6_hdr(skb); ipv6_local_rxpmtu() 325 iph->daddr = fl6->daddr; ipv6_local_rxpmtu()
|
H A D | route.c | 1151 const struct ipv6hdr *iph = ipv6_hdr(skb); ip6_route_input() local 1157 .daddr = iph->daddr, ip6_route_input() 1158 .saddr = iph->saddr, ip6_route_input() 1159 .flowlabel = ip6_flowinfo(iph), ip6_route_input() 1161 .flowi6_proto = iph->nexthdr, ip6_route_input() 1341 const struct ipv6hdr *iph, u32 mtu) __ip6_rt_update_pmtu() 1359 if (iph) { __ip6_rt_update_pmtu() 1360 daddr = &iph->daddr; __ip6_rt_update_pmtu() 1361 saddr = &iph->saddr; __ip6_rt_update_pmtu() 1391 const struct ipv6hdr *iph = (struct ipv6hdr *) skb->data; ip6_update_pmtu() local 1398 fl6.daddr = iph->daddr; ip6_update_pmtu() 1399 fl6.saddr = iph->saddr; ip6_update_pmtu() 1400 fl6.flowlabel = ip6_flowinfo(iph); ip6_update_pmtu() 1404 __ip6_rt_update_pmtu(dst, NULL, iph, ntohl(mtu)); ip6_update_pmtu() 1495 const struct ipv6hdr *iph = (struct ipv6hdr *) skb->data; ip6_redirect() local 1503 fl6.daddr = iph->daddr; ip6_redirect() 1504 fl6.saddr = iph->saddr; ip6_redirect() 1505 fl6.flowlabel = ip6_flowinfo(iph); ip6_redirect() 1516 const struct ipv6hdr *iph = ipv6_hdr(skb); ip6_redirect_no_header() local 1526 fl6.saddr = iph->daddr; ip6_redirect_no_header() 1528 dst = ip6_route_redirect(net, &fl6, &iph->saddr); ip6_redirect_no_header() 1340 __ip6_rt_update_pmtu(struct dst_entry *dst, const struct sock *sk, const struct ipv6hdr *iph, u32 mtu) __ip6_rt_update_pmtu() argument
|
H A D | xfrm6_tunnel.c | 235 const struct ipv6hdr *iph = ipv6_hdr(skb); xfrm6_tunnel_rcv() local 238 spi = xfrm6_tunnel_spi_lookup(net, (const xfrm_address_t *)&iph->saddr); xfrm6_tunnel_rcv()
|
H A D | ip6mr.c | 2302 struct ipv6hdr *iph; ip6mr_get_route() local 2329 iph = ipv6_hdr(skb2); ip6mr_get_route() 2330 iph->version = 0; ip6mr_get_route() 2331 iph->priority = 0; ip6mr_get_route() 2332 iph->flow_lbl[0] = 0; ip6mr_get_route() 2333 iph->flow_lbl[1] = 0; ip6mr_get_route() 2334 iph->flow_lbl[2] = 0; ip6mr_get_route() 2335 iph->payload_len = 0; ip6mr_get_route() 2336 iph->nexthdr = IPPROTO_NONE; ip6mr_get_route() 2337 iph->hop_limit = 0; ip6mr_get_route() 2338 iph->saddr = rt->rt6i_src.addr; ip6mr_get_route() 2339 iph->daddr = rt->rt6i_dst.addr; ip6mr_get_route()
|
H A D | ip6_vti.c | 564 const struct ipv6hdr *iph = (const struct ipv6hdr *)skb->data; vti6_err() local 565 int protocol = iph->nexthdr; vti6_err() 567 t = vti6_tnl_lookup(dev_net(skb->dev), &iph->daddr, &iph->saddr); vti6_err() 594 x = xfrm_state_lookup(net, mark, (const xfrm_address_t *)&iph->daddr, vti6_err()
|
H A D | icmp.c | 303 struct ipv6hdr *iph = ipv6_hdr(skb); mip6_addr_swap() local 314 tmp = iph->saddr; mip6_addr_swap() 315 iph->saddr = hao->addr; mip6_addr_swap()
|
H A D | esp6.c | 463 const struct ipv6hdr *iph = (const struct ipv6hdr *)skb->data; esp6_err() local 471 x = xfrm_state_lookup(net, skb->mark, (const xfrm_address_t *)&iph->daddr, esp6_err()
|
H A D | raw.c | 618 struct ipv6hdr *iph; rawv6_send_hdrinc() local 647 iph = ipv6_hdr(skb); rawv6_send_hdrinc() 652 err = memcpy_from_msg(iph, msg, length); rawv6_send_hdrinc()
|
H A D | ip6_gre.c | 774 const struct iphdr *iph = ip_hdr(skb); ip6gre_xmit_ipv4() local 789 dsfield = ipv4_get_dsfield(iph); ip6gre_xmit_ipv4() 792 fl6.flowlabel |= htonl((__u32)iph->tos << IPV6_TCLASS_SHIFT) ip6gre_xmit_ipv4()
|
H A D | ip6_tunnel.c | 1175 const struct iphdr *iph = ip_hdr(skb); ip4ip6_tnl_xmit() local 1195 dsfield = ipv4_get_dsfield(iph); ip4ip6_tnl_xmit() 1198 fl6.flowlabel |= htonl((__u32)iph->tos << IPV6_TCLASS_SHIFT) ip4ip6_tnl_xmit()
|
H A D | udp.c | 373 const struct ipv6hdr *iph = ipv6_hdr(skb); __udp6_lib_lookup_skb() local 378 return __udp6_lib_lookup(dev_net(skb_dst(skb)->dev), &iph->saddr, sport, __udp6_lib_lookup_skb() 379 &iph->daddr, dport, inet6_iif(skb), __udp6_lib_lookup_skb()
|
/linux-4.4.14/net/ipv6/netfilter/ |
H A D | ip6t_rpfilter.c | 33 struct ipv6hdr *iph = ipv6_hdr(skb); rpfilter_lookup_reverse6() local 37 .flowlabel = (* (__be32 *) iph) & IPV6_FLOWINFO_MASK, rpfilter_lookup_reverse6() 38 .flowi6_proto = iph->nexthdr, rpfilter_lookup_reverse6() 39 .daddr = iph->saddr, rpfilter_lookup_reverse6() 43 if (rpfilter_addr_unicast(&iph->daddr)) { rpfilter_lookup_reverse6() 44 memcpy(&fl6.saddr, &iph->daddr, sizeof(struct in6_addr)); rpfilter_lookup_reverse6() 85 struct ipv6hdr *iph; rpfilter_mt() local 91 iph = ipv6_hdr(skb); rpfilter_mt() 92 saddrtype = ipv6_addr_type(&iph->saddr); rpfilter_mt()
|
H A D | nf_dup_ipv6.c | 25 const struct ipv6hdr *iph = ipv6_hdr(skb); nf_dup_ipv6_route() local 34 fl6.flowlabel = (__force __be32)(((iph->flow_lbl[0] & 0xF) << 16) | nf_dup_ipv6_route() 35 (iph->flow_lbl[1] << 8) | iph->flow_lbl[2]); nf_dup_ipv6_route() 66 struct ipv6hdr *iph = ipv6_hdr(skb); nf_dup_ipv6() local 67 --iph->hop_limit; nf_dup_ipv6()
|
H A D | ip6t_SYNPROXY.c | 26 struct ipv6hdr *iph; synproxy_build_ip() local 29 iph = (struct ipv6hdr *)skb_put(skb, sizeof(*iph)); synproxy_build_ip() 30 ip6_flow_hdr(iph, 0, 0); synproxy_build_ip() 31 iph->hop_limit = 64; //XXX synproxy_build_ip() 32 iph->nexthdr = IPPROTO_TCP; synproxy_build_ip() 33 iph->saddr = *saddr; synproxy_build_ip() 34 iph->daddr = *daddr; synproxy_build_ip() 36 return iph; synproxy_build_ip() 92 struct ipv6hdr *iph, *niph; synproxy_send_client_synack() local 97 iph = ipv6_hdr(skb); synproxy_send_client_synack() 106 niph = synproxy_build_ip(nskb, &iph->daddr, &iph->saddr); synproxy_send_client_synack() 112 nth->seq = htonl(__cookie_v6_init_sequence(iph, th, &mss)); synproxy_send_client_synack() 134 struct ipv6hdr *iph, *niph; synproxy_send_server_syn() local 138 iph = ipv6_hdr(skb); synproxy_send_server_syn() 147 niph = synproxy_build_ip(nskb, &iph->saddr, &iph->daddr); synproxy_send_server_syn() 179 struct ipv6hdr *iph, *niph; synproxy_send_server_ack() local 183 iph = ipv6_hdr(skb); synproxy_send_server_ack() 192 niph = synproxy_build_ip(nskb, &iph->daddr, &iph->saddr); synproxy_send_server_ack() 217 struct ipv6hdr *iph, *niph; synproxy_send_client_ack() local 221 iph = ipv6_hdr(skb); synproxy_send_client_ack() 230 niph = synproxy_build_ip(nskb, &iph->saddr, &iph->daddr); synproxy_send_client_ack()
|
H A D | nf_log_ipv6.c | 334 const struct iphdr *iph = dump_ipv6_mac_header() local 336 nf_log_buf_add(m, "TUNNEL=%pI4->%pI4 ", &iph->saddr, dump_ipv6_mac_header() 337 &iph->daddr); dump_ipv6_mac_header()
|
/linux-4.4.14/net/bridge/netfilter/ |
H A D | nf_tables_bridge.c | 24 struct iphdr *iph; nft_bridge_iphdr_validate() local 30 iph = ip_hdr(skb); nft_bridge_iphdr_validate() 31 if (iph->ihl < 5 || iph->version != 4) nft_bridge_iphdr_validate() 34 len = ntohs(iph->tot_len); nft_bridge_iphdr_validate() 37 else if (len < (iph->ihl*4)) nft_bridge_iphdr_validate() 40 if (!pskb_may_pull(skb, iph->ihl*4)) nft_bridge_iphdr_validate()
|
/linux-4.4.14/net/core/ |
H A D | tso.c | 24 struct iphdr *iph = (void *)(hdr + mac_hdr_len); tso_build_hdr() local 26 iph->id = htons(tso->ip_id); tso_build_hdr() 27 iph->tot_len = htons(size + hdr_len - mac_hdr_len); tso_build_hdr() 30 struct ipv6hdr *iph = (void *)(hdr + mac_hdr_len); tso_build_hdr() local 32 iph->payload_len = htons(size + tcp_hdrlen(skb)); tso_build_hdr()
|
H A D | netpoll.c | 383 struct iphdr *iph; netpoll_send_udp() local 394 ip_len = udp_len + sizeof(*iph); netpoll_send_udp() 450 skb_push(skb, sizeof(*iph)); netpoll_send_udp() 452 iph = ip_hdr(skb); netpoll_send_udp() 454 /* iph->version = 4; iph->ihl = 5; */ netpoll_send_udp() 455 put_unaligned(0x45, (unsigned char *)iph); netpoll_send_udp() 456 iph->tos = 0; netpoll_send_udp() 457 put_unaligned(htons(ip_len), &(iph->tot_len)); netpoll_send_udp() 458 iph->id = htons(atomic_inc_return(&ip_ident)); netpoll_send_udp() 459 iph->frag_off = 0; netpoll_send_udp() 460 iph->ttl = 64; netpoll_send_udp() 461 iph->protocol = IPPROTO_UDP; netpoll_send_udp() 462 iph->check = 0; netpoll_send_udp() 463 put_unaligned(np->local_ip.ip, &(iph->saddr)); netpoll_send_udp() 464 put_unaligned(np->remote_ip.ip, &(iph->daddr)); netpoll_send_udp() 465 iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl); netpoll_send_udp()
|
H A D | flow_dissector.c | 171 const struct iphdr *iph; htons() local 174 iph = __skb_header_pointer(skb, nhoff, sizeof(_iph), data, hlen, &_iph); htons() 175 if (!iph || iph->ihl < 5) htons() 177 nhoff += iph->ihl * 4; htons() 179 ip_proto = iph->protocol; htons() 187 memcpy(&key_addrs->v4addrs, &iph->saddr, htons() 191 if (ip_is_fragment(iph)) { htons() 194 if (iph->frag_off & htons(IP_OFFSET)) { htons() 209 const struct ipv6hdr *iph; htons() local 213 iph = __skb_header_pointer(skb, nhoff, sizeof(_iph), data, hlen, &_iph); htons() 214 if (!iph) htons() 217 ip_proto = iph->nexthdr; htons() 228 memcpy(key_ipv6_addrs, &iph->saddr, sizeof(*key_ipv6_addrs)); htons() 235 ip6_flowlabel(iph)) { htons() 236 __be32 flow_label = ip6_flowlabel(iph); htons()
|
H A D | pktgen.c | 2646 struct iphdr *iph; process_ipsec() local 2672 iph = ip_hdr(skb); process_ipsec() 2673 iph->tot_len = htons(skb->len - ETH_HLEN); process_ipsec() 2674 ip_send_check(iph); process_ipsec() 2804 struct iphdr *iph; fill_packet_ipv4() local 2861 iph = (struct iphdr *) skb_put(skb, sizeof(struct iphdr)); fill_packet_ipv4() 2882 iph->ihl = 5; fill_packet_ipv4() 2883 iph->version = 4; fill_packet_ipv4() 2884 iph->ttl = 32; fill_packet_ipv4() 2885 iph->tos = pkt_dev->tos; fill_packet_ipv4() 2886 iph->protocol = IPPROTO_UDP; /* UDP */ fill_packet_ipv4() 2887 iph->saddr = pkt_dev->cur_saddr; fill_packet_ipv4() 2888 iph->daddr = pkt_dev->cur_daddr; fill_packet_ipv4() 2889 iph->id = htons(pkt_dev->ip_id); fill_packet_ipv4() 2891 iph->frag_off = 0; fill_packet_ipv4() 2893 iph->tot_len = htons(iplen); fill_packet_ipv4() 2894 ip_send_check(iph); fill_packet_ipv4() 2906 udp4_hwcsum(skb, iph->saddr, iph->daddr); fill_packet_ipv4() 2911 udph->check = csum_tcpudp_magic(iph->saddr, iph->daddr, fill_packet_ipv4() 2933 struct ipv6hdr *iph; fill_packet_ipv6() local 2988 iph = (struct ipv6hdr *) skb_put(skb, sizeof(struct ipv6hdr)); fill_packet_ipv6() 3014 *(__be32 *) iph = htonl(0x60000000); /* Version + flow */ fill_packet_ipv6() 3018 *(__be32 *)iph |= htonl(0x60000000 | (pkt_dev->traffic_class << 20)); fill_packet_ipv6() 3021 iph->hop_limit = 32; fill_packet_ipv6() 3023 iph->payload_len = htons(udplen); fill_packet_ipv6() 3024 iph->nexthdr = IPPROTO_UDP; fill_packet_ipv6() 3026 iph->daddr = pkt_dev->cur_in6_daddr; fill_packet_ipv6() 3027 iph->saddr = pkt_dev->cur_in6_saddr; fill_packet_ipv6() 3041 udph->check = ~csum_ipv6_magic(&iph->saddr, &iph->daddr, udplen, IPPROTO_UDP, 0); fill_packet_ipv6() 3046 udph->check = csum_ipv6_magic(&iph->saddr, &iph->daddr, udplen, IPPROTO_UDP, csum); fill_packet_ipv6()
|
/linux-4.4.14/arch/metag/lib/ |
H A D | ip_fast_csum.S | 7 * extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl);
|
/linux-4.4.14/arch/arc/include/asm/ |
H A D | checksum.h | 41 ip_fast_csum(const void *iph, unsigned int ihl) ip_fast_csum() argument 43 const void *ptr = iph; ip_fast_csum()
|
/linux-4.4.14/arch/x86/include/asm/ |
H A D | checksum_64.h | 42 * iph: ipv4 header 45 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) ip_fast_csum() argument 66 /* Since the input registers which are loaded with iph and ihl ip_fast_csum() 69 : "=r" (sum), "=r" (iph), "=r" (ihl) ip_fast_csum() 70 : "1" (iph), "2" (ihl) ip_fast_csum()
|
H A D | checksum_32.h | 70 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) ip_fast_csum() argument 91 /* Since the input registers which are loaded with iph and ihl ip_fast_csum() 94 : "=r" (sum), "=r" (iph), "=r" (ihl) ip_fast_csum() 95 : "1" (iph), "2" (ihl) ip_fast_csum()
|
/linux-4.4.14/arch/x86/um/asm/ |
H A D | checksum.h | 116 * iph: ipv4 header 119 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) ip_fast_csum() argument 140 /* Since the input registers which are loaded with iph and ipl ip_fast_csum() 143 : "=r" (sum), "=r" (iph), "=r" (ihl) ip_fast_csum() 144 : "1" (iph), "2" (ihl) ip_fast_csum()
|
/linux-4.4.14/drivers/net/ppp/ |
H A D | pptp.c | 188 struct iphdr *iph; pptp_xmit() local 204 max_headroom = LL_RESERVED_SPACE(tdev) + sizeof(*iph) + sizeof(*hdr) + 2; pptp_xmit() 261 skb_push(skb, sizeof(*iph)); pptp_xmit() 266 iph = ip_hdr(skb); pptp_xmit() 267 iph->version = 4; pptp_xmit() 268 iph->ihl = sizeof(struct iphdr) >> 2; pptp_xmit() 270 iph->frag_off = htons(IP_DF); pptp_xmit() 272 iph->frag_off = 0; pptp_xmit() 273 iph->protocol = IPPROTO_GRE; pptp_xmit() 274 iph->tos = 0; pptp_xmit() 275 iph->daddr = fl4.daddr; pptp_xmit() 276 iph->saddr = fl4.saddr; pptp_xmit() 277 iph->ttl = ip4_dst_hoplimit(&rt->dst); pptp_xmit() 278 iph->tot_len = htons(skb->len); pptp_xmit() 287 ip_send_check(iph); pptp_xmit() 385 struct iphdr *iph; pptp_rcv() local 393 iph = ip_hdr(skb); pptp_rcv() 405 po = lookup_chan(htons(header->call_id), iph->saddr); pptp_rcv()
|
/linux-4.4.14/arch/m68k/include/asm/ |
H A D | checksum.h | 45 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) ip_fast_csum() argument 60 : "=d" (sum), "=&a" (iph), "=&d" (ihl), "=&d" (tmp) ip_fast_csum() 61 : "0" (sum), "1" (iph), "2" (ihl) ip_fast_csum()
|
/linux-4.4.14/arch/avr32/include/asm/ |
H A D | checksum.h | 62 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) ip_fast_csum() argument 88 : "=r"(sum), "=r"(iph), "=r"(ihl), "=r"(tmp) ip_fast_csum() 89 : "1"(iph), "2"(ihl) ip_fast_csum()
|
/linux-4.4.14/arch/arm/include/asm/ |
H A D | checksum.h | 60 ip_fast_csum(const void *iph, unsigned int ihl) ip_fast_csum() argument 80 : "=r" (sum), "=r" (iph), "=r" (ihl), "=r" (tmp1) ip_fast_csum() 81 : "1" (iph), "2" (ihl) ip_fast_csum()
|
/linux-4.4.14/net/netfilter/ipset/ |
H A D | ip_set_getport.c | 100 const struct iphdr *iph = ip_hdr(skb); ip_set_get_ip4_port() local 102 int protocol = iph->protocol; ip_set_get_ip4_port() 108 if (ntohs(iph->frag_off) & IP_OFFSET) ip_set_get_ip4_port()
|
/linux-4.4.14/arch/xtensa/include/asm/ |
H A D | checksum.h | 90 static __inline__ __sum16 ip_fast_csum(const void *iph, unsigned int ihl) ip_fast_csum() argument 114 /* Since the input registers which are loaded with iph and ihl ip_fast_csum() 117 : "=r" (sum), "=r" (iph), "=r" (ihl), "=&r" (tmp), ip_fast_csum() 119 : "1" (iph), "2" (ihl) ip_fast_csum()
|
/linux-4.4.14/arch/sh/include/asm/ |
H A D | checksum_32.h | 89 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) ip_fast_csum() argument 107 /* Since the input registers which are loaded with iph and ihl ip_fast_csum() 110 : "=r" (sum), "=r" (iph), "=r" (ihl), "=&r" (__dummy0), "=&z" (__dummy1) ip_fast_csum() 111 : "1" (iph), "2" (ihl) ip_fast_csum()
|
/linux-4.4.14/arch/frv/include/asm/ |
H A D | checksum.h | 55 __sum16 ip_fast_csum(const void *iph, unsigned int ihl) ip_fast_csum() argument 75 : "=r" (sum), "=r" (iph), "=r" (ihl), "=r" (inc), "=&r"(tmp) ip_fast_csum() 76 : "0" (sum), "1" (iph), "2" (ihl), "3" (4), ip_fast_csum() 77 "m"(*(volatile struct { int _[100]; } *)iph) ip_fast_csum()
|
/linux-4.4.14/arch/m32r/include/asm/ |
H A D | checksum.h | 79 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) ip_fast_csum() argument 106 /* Since the input registers which are loaded with iph and ihl ip_fast_csum() 109 : "=&r" (sum), "=r" (iph), "=r" (ihl), "=&r" (tmpreg0), "=&r" (tmpreg1) ip_fast_csum() 110 : "1" (iph), "2" (ihl) ip_fast_csum()
|
/linux-4.4.14/drivers/staging/gdm72xx/ |
H A D | gdm_qos.c | 188 static int get_qos_index(struct nic *nic, u8 *iph, u8 *tcpudph) get_qos_index() argument 193 if (!iph || !tcpudph) get_qos_index() 196 ip_ver = (iph[0]>>4)&0xf; get_qos_index() 206 if (chk_ipv4_rule(&qcb->csr[i], iph, tcpudph) == 0) get_qos_index() 258 struct iphdr *iph = (struct iphdr *)((char *)ethh + ETH_HLEN); gdm_qos_send_hci_pkt() local 264 tcph = (struct tcphdr *)iph + iph->ihl*4; gdm_qos_send_hci_pkt() 277 index = get_qos_index(nic, (u8 *)iph, (u8 *)tcph); gdm_qos_send_hci_pkt()
|
/linux-4.4.14/arch/mn10300/lib/ |
H A D | checksum.c | 30 __sum16 ip_fast_csum(const void *iph, unsigned int ihl) ip_fast_csum() argument 32 return ~do_csum(iph, ihl * 4); ip_fast_csum()
|
/linux-4.4.14/arch/cris/include/asm/ |
H A D | checksum.h | 55 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) ip_fast_csum() argument 57 return csum_fold(csum_partial(iph, ihl * 4, 0)); ip_fast_csum()
|
/linux-4.4.14/Documentation/networking/timestamping/ |
H A D | txtimestamp.c | 341 struct iphdr *iph = (void *) buf; do_test() local 343 memset(iph, 0, sizeof(*iph)); do_test() 344 iph->ihl = 5; do_test() 345 iph->version = 4; do_test() 346 iph->ttl = 2; do_test() 347 iph->daddr = daddr.sin_addr.s_addr; do_test() 348 iph->protocol = IPPROTO_UDP; do_test() 351 off = sizeof(*iph); do_test()
|
/linux-4.4.14/drivers/infiniband/hw/nes/ |
H A D | nes_mgt.c | 177 struct iphdr *iph = (struct iphdr *)(cb->data_start + ETH_HLEN); nes_get_seq() local 178 struct tcphdr *tcph = (struct tcphdr *)(((char *)iph) + (4 * iph->ihl)); nes_get_seq() 245 struct iphdr *iph; get_fpdu_info() local 337 iph = (struct iphdr *)(cb->data_start + ETH_HLEN); get_fpdu_info() 338 tcph = (struct tcphdr *)(((char *)iph) + (4 * iph->ihl)); get_fpdu_info() 357 iph = (struct iphdr *)(fpdu_info->hdr_vbase + ETH_HLEN); get_fpdu_info() 358 tcph = (struct tcphdr *)(((char *)iph) + (4 * iph->ihl)); get_fpdu_info() 361 iph->tot_len = cpu_to_be16(tot_len); get_fpdu_info() 362 iph->saddr = cpu_to_be32(0x7f000001); get_fpdu_info() 386 iph = (struct iphdr *)(cb->data_start + ETH_HLEN); get_fpdu_info() 387 tcph = (struct tcphdr *)(((char *)iph) + (4 * iph->ihl)); get_fpdu_info() 511 struct iphdr *iph; queue_fpdus() local 522 iph = (struct iphdr *)skb->data; queue_fpdus() 523 tcph = (struct tcphdr *)(((char *)iph) + (4 * iph->ihl)); queue_fpdus() 527 len = be16_to_cpu(iph->tot_len); queue_fpdus()
|
H A D | nes_cm.c | 440 struct iphdr *iph; form_cm_frame() local 443 u16 packetsize = sizeof(*iph); form_cm_frame() 449 memset(skb->data, 0x00, ETH_HLEN + sizeof(*iph) + sizeof(*tcph)); form_cm_frame() 456 iph = (struct iphdr *)buf; form_cm_frame() 457 buf += sizeof(*iph); form_cm_frame() 461 skb_set_transport_header(skb, ETH_HLEN + sizeof(*iph)); form_cm_frame() 475 iph->version = IPVERSION; form_cm_frame() 476 iph->ihl = 5; /* 5 * 4Byte words, IP headr len */ form_cm_frame() 477 iph->tos = 0; form_cm_frame() 478 iph->tot_len = htons(packetsize); form_cm_frame() 479 iph->id = htons(++cm_node->tcp_cntxt.loc_id); form_cm_frame() 481 iph->frag_off = htons(0x4000); form_cm_frame() 482 iph->ttl = 0x40; form_cm_frame() 483 iph->protocol = 0x06; /* IPPROTO_TCP */ form_cm_frame() 485 iph->saddr = htonl(cm_node->mapped_loc_addr); form_cm_frame() 486 iph->daddr = htonl(cm_node->mapped_rem_addr); form_cm_frame() 2731 struct iphdr *iph; mini_cm_recv_pkt() local 2742 iph = (struct iphdr *)skb->data; mini_cm_recv_pkt() 2745 nfo.loc_addr = ntohl(iph->daddr); mini_cm_recv_pkt() 2747 nfo.rem_addr = ntohl(iph->saddr); mini_cm_recv_pkt() 2751 nfo.mapped_loc_addr = ntohl(iph->daddr); mini_cm_recv_pkt() 2753 nfo.mapped_rem_addr = ntohl(iph->saddr); mini_cm_recv_pkt() 2756 tmp_daddr = cpu_to_be32(iph->daddr); mini_cm_recv_pkt() 2757 tmp_saddr = cpu_to_be32(iph->saddr); mini_cm_recv_pkt() 2817 skb->len = ntohs(iph->tot_len); mini_cm_recv_pkt()
|
H A D | nes_nic.c | 483 struct iphdr *iph; nes_netdev_start_xmit() local 604 iph = (struct iphdr *) nes_netdev_start_xmit() 655 iph->tot_len = htons(tso_wqe_length + original_first_length - nhoffset); nes_netdev_start_xmit()
|
/linux-4.4.14/arch/score/include/asm/ |
H A D | checksum.h | 83 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) ip_fast_csum() argument 123 : "=&r" (sum), "=&r" (iph), "=&r" (ihl), "=&r" (dummy) ip_fast_csum() 124 : "1" (iph), "2" (ihl)); ip_fast_csum()
|
/linux-4.4.14/arch/s390/include/asm/ |
H A D | checksum.h | 84 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) ip_fast_csum() argument 86 return csum_fold(csum_partial(iph, ihl*4, 0)); ip_fast_csum()
|
/linux-4.4.14/net/bridge/ |
H A D | br_netfilter_hooks.c | 192 const struct iphdr *iph; br_validate_ipv4() local 198 iph = ip_hdr(skb); br_validate_ipv4() 201 if (iph->ihl < 5 || iph->version != 4) br_validate_ipv4() 204 if (!pskb_may_pull(skb, iph->ihl*4)) br_validate_ipv4() 207 iph = ip_hdr(skb); br_validate_ipv4() 208 if (unlikely(ip_fast_csum((u8 *)iph, iph->ihl))) br_validate_ipv4() 211 len = ntohs(iph->tot_len); br_validate_ipv4() 215 } else if (len < (iph->ihl*4)) br_validate_ipv4() 345 struct iphdr *iph = ip_hdr(skb); br_nf_pre_routing_finish() local 358 if ((err = ip_route_input(skb, iph->daddr, iph->saddr, iph->tos, dev))) { br_nf_pre_routing_finish() 371 rt = ip_route_output(net, iph->daddr, 0, br_nf_pre_routing_finish() 372 RT_TOS(iph->tos), 0); br_nf_pre_routing_finish() 697 struct iphdr *iph = ip_hdr(skb); br_nf_ip_fragment() local 699 if (unlikely(((iph->frag_off & htons(IP_DF)) && !skb->ignore_df) || br_nf_ip_fragment()
|
H A D | br_multicast.c | 369 struct iphdr *iph; br_ip4_multicast_alloc_query() local 371 skb = netdev_alloc_skb_ip_align(br->dev, sizeof(*eth) + sizeof(*iph) + br_ip4_multicast_alloc_query() 392 iph = ip_hdr(skb); br_ip4_multicast_alloc_query() 394 iph->version = 4; br_ip4_multicast_alloc_query() 395 iph->ihl = 6; br_ip4_multicast_alloc_query() 396 iph->tos = 0xc0; br_ip4_multicast_alloc_query() 397 iph->tot_len = htons(sizeof(*iph) + sizeof(*ih) + 4); br_ip4_multicast_alloc_query() 398 iph->id = 0; br_ip4_multicast_alloc_query() 399 iph->frag_off = htons(IP_DF); br_ip4_multicast_alloc_query() 400 iph->ttl = 1; br_ip4_multicast_alloc_query() 401 iph->protocol = IPPROTO_IGMP; br_ip4_multicast_alloc_query() 402 iph->saddr = br->multicast_query_use_ifaddr ? br_ip4_multicast_alloc_query() 404 iph->daddr = htonl(INADDR_ALLHOSTS_GROUP); br_ip4_multicast_alloc_query() 405 ((u8 *)&iph[1])[0] = IPOPT_RA; br_ip4_multicast_alloc_query() 406 ((u8 *)&iph[1])[1] = 4; br_ip4_multicast_alloc_query() 407 ((u8 *)&iph[1])[2] = 0; br_ip4_multicast_alloc_query() 408 ((u8 *)&iph[1])[3] = 0; br_ip4_multicast_alloc_query() 409 ip_send_check(iph); br_ip4_multicast_alloc_query() 1264 const struct iphdr *iph = ip_hdr(skb); br_ip4_multicast_query() local 1304 saddr.u.ip4 = iph->saddr; br_ip4_multicast_query()
|
/linux-4.4.14/include/uapi/linux/ |
H A D | if_tunnel.h | 37 struct iphdr iph; member in struct:ip_tunnel_parm
|
/linux-4.4.14/arch/sparc/include/asm/ |
H A D | checksum_32.h | 118 /* ihl is always 5 or greater, almost always is 5, and iph is word aligned 121 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) ip_fast_csum() argument 151 : "=r" (sum), "=&r" (iph) ip_fast_csum() 152 : "r" (ihl), "1" (iph) ip_fast_csum()
|
H A D | checksum_64.h | 77 /* ihl is always 5 or greater, almost always is 5, and iph is word aligned 80 __sum16 ip_fast_csum(const void *iph, unsigned int ihl);
|
/linux-4.4.14/arch/nios2/include/asm/ |
H A D | checksum.h | 22 extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl);
|
/linux-4.4.14/net/dccp/ |
H A D | ipv4.c | 148 const struct iphdr *iph, dccp_do_pmtu_discovery() 236 const struct iphdr *iph = (struct iphdr *)skb->data; dccp_v4_err() local 237 const u8 offset = iph->ihl << 2; dccp_v4_err() 255 iph->daddr, dh->dccph_dport, dccp_v4_err() 256 iph->saddr, ntohs(dh->dccph_sport), dccp_v4_err() 304 dccp_do_pmtu_discovery(sk, iph, info); dccp_v4_err() 451 const struct iphdr *iph = ip_hdr(skb); dccp_v4_route_skb() local 454 .daddr = iph->saddr, dccp_v4_route_skb() 455 .saddr = iph->daddr, dccp_v4_route_skb() 766 const struct iphdr *iph; dccp_v4_rcv() local 775 iph = ip_hdr(skb); dccp_v4_rcv() 777 if (dccp_v4_csum_finish(skb, iph->saddr, iph->daddr)) { dccp_v4_rcv() 789 &iph->saddr, ntohs(dh->dccph_sport), dccp_v4_rcv() 790 &iph->daddr, ntohs(dh->dccph_dport), dccp_v4_rcv() 147 dccp_do_pmtu_discovery(struct sock *sk, const struct iphdr *iph, u32 mtu) dccp_do_pmtu_discovery() argument
|
/linux-4.4.14/drivers/net/usb/ |
H A D | cdc_mbim.c | 310 struct ipv6hdr *iph = (void *)buf; do_neigh_solicit() local 311 struct nd_msg *msg = (void *)(iph + 1); do_neigh_solicit() 319 if (!ipv6_addr_is_solict_mult(&iph->daddr) || do_neigh_solicit() 320 !(ipv6_addr_type(&iph->saddr) & IPV6_ADDR_UNICAST)) do_neigh_solicit() 345 ipv6_stub->ndisc_send_na(netdev, &iph->saddr, &msg->target, do_neigh_solicit() 356 struct ipv6hdr *iph = (void *)buf; is_neigh_solicit() local 357 struct nd_msg *msg = (void *)(iph + 1); is_neigh_solicit() 360 iph->nexthdr == IPPROTO_ICMPV6 && is_neigh_solicit()
|
/linux-4.4.14/arch/alpha/lib/ |
H A D | checksum.c | 147 __sum16 ip_fast_csum(const void *iph, unsigned int ihl) ip_fast_csum() argument 149 return (__force __sum16)~do_csum(iph,ihl*4); ip_fast_csum()
|
/linux-4.4.14/lib/ |
H A D | checksum.c | 110 __sum16 ip_fast_csum(const void *iph, unsigned int ihl) ip_fast_csum() argument 112 return (__force __sum16)~do_csum(iph, ihl*4); ip_fast_csum()
|
/linux-4.4.14/arch/alpha/include/asm/ |
H A D | checksum.h | 10 extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl);
|
/linux-4.4.14/include/asm-generic/ |
H A D | checksum.h | 46 extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl);
|
/linux-4.4.14/arch/metag/include/asm/ |
H A D | checksum.h | 55 extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl);
|
/linux-4.4.14/arch/mn10300/include/asm/ |
H A D | checksum.h | 20 extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl);
|
/linux-4.4.14/arch/ia64/include/asm/ |
H A D | checksum.h | 13 extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl);
|
/linux-4.4.14/arch/parisc/include/asm/ |
H A D | checksum.h | 41 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) ip_fast_csum() argument 66 : "=r" (sum), "=r" (iph), "=r" (ihl) ip_fast_csum() 67 : "1" (iph), "2" (ihl) ip_fast_csum()
|
/linux-4.4.14/drivers/net/ethernet/sun/ |
H A D | sunvnet.c | 319 struct iphdr *iph = ip_hdr(skb); vnet_fullcsum() local 324 if (iph->protocol != IPPROTO_TCP && vnet_fullcsum() 325 iph->protocol != IPPROTO_UDP) vnet_fullcsum() 330 if (iph->protocol == IPPROTO_TCP) { vnet_fullcsum() 335 ptcp->check = csum_tcpudp_magic(iph->saddr, iph->daddr, vnet_fullcsum() 338 } else if (iph->protocol == IPPROTO_UDP) { vnet_fullcsum() 343 pudp->check = csum_tcpudp_magic(iph->saddr, iph->daddr, vnet_fullcsum() 394 struct iphdr *iph = (struct iphdr *)skb->data; vnet_rx_one() local 396 iph->check = 0; vnet_rx_one() 397 ip_send_check(iph); vnet_rx_one() 1095 struct iphdr *iph = ip_hdr(nskb); vnet_skb_shape() local 1107 if (iph->protocol == IPPROTO_TCP || vnet_skb_shape() 1108 iph->protocol == IPPROTO_UDP) { vnet_skb_shape() 1109 csum = csum_tcpudp_magic(iph->saddr, iph->daddr, vnet_skb_shape() 1111 iph->protocol, csum); vnet_skb_shape()
|
/linux-4.4.14/arch/c6x/lib/ |
H A D | csum_64plus.S | 159 ;ip_fast_csum(unsigned char *iph, unsigned int ihl) 162 ; unsigned short *tosum = (unsigned short *) iph; 183 ; A4: iph
|
/linux-4.4.14/drivers/net/ethernet/apm/xgene/ |
H A D | xgene_enet_main.c | 193 struct iphdr *iph; xgene_enet_work_msg() local 209 iph = ip_hdr(skb); xgene_enet_work_msg() 210 if (unlikely(ip_is_fragment(iph))) xgene_enet_work_msg() 213 if (likely(iph->protocol == IPPROTO_TCP)) { xgene_enet_work_msg() 244 } else if (iph->protocol == IPPROTO_UDP) { xgene_enet_work_msg() 465 struct iphdr *iph = ip_hdr(skb); xgene_enet_skip_csum() local 467 if (!ip_is_fragment(iph) || xgene_enet_skip_csum() 468 (iph->protocol != IPPROTO_TCP && iph->protocol != IPPROTO_UDP)) { xgene_enet_skip_csum()
|
/linux-4.4.14/include/linux/ |
H A D | inet_lro.h | 51 struct iphdr *iph; member in struct:net_lro_desc
|
/linux-4.4.14/drivers/net/ |
H A D | geneve.c | 155 struct iphdr *iph = NULL; geneve_rx() local 170 iph = ip_hdr(skb); /* outer IP header... */ geneve_rx() 178 addr = iph->saddr; geneve_rx() 238 if (iph) geneve_rx() 239 err = IP_ECN_decapsulate(iph, skb); geneve_rx() 247 if (iph) geneve_rx() 250 &iph->saddr, iph->tos); geneve_rx()
|
H A D | vrf.c | 225 const struct ipv6hdr *iph = ipv6_hdr(skb); vrf_process_v6_outbound() local 231 .daddr = iph->daddr, vrf_process_v6_outbound() 232 .saddr = iph->saddr, vrf_process_v6_outbound() 233 .flowlabel = ip6_flowinfo(iph), vrf_process_v6_outbound() 235 .flowi6_proto = iph->nexthdr, vrf_process_v6_outbound()
|
/linux-4.4.14/arch/mips/include/asm/ |
H A D | checksum.h | 131 static inline __sum16 ip_fast_csum(const void *iph, unsigned int ihl) ip_fast_csum() argument 133 const unsigned int *word = iph; ip_fast_csum()
|
/linux-4.4.14/drivers/net/ethernet/qlogic/qlcnic/ |
H A D | qlcnic_io.c | 1267 struct iphdr *iph; qlcnic_process_lro() local 1325 iph = (struct iphdr *)skb->data; qlcnic_process_lro() 1326 th = (struct tcphdr *)(skb->data + (iph->ihl << 2)); qlcnic_process_lro() 1327 length = (iph->ihl << 2) + (th->doff << 2) + lro_length; qlcnic_process_lro() 1328 csum_replace2(&iph->check, iph->tot_len, htons(length)); qlcnic_process_lro() 1329 iph->tot_len = htons(length); qlcnic_process_lro() 1789 struct iphdr *iph; qlcnic_83xx_process_lro() local 1848 iph = (struct iphdr *)skb->data; qlcnic_83xx_process_lro() 1849 th = (struct tcphdr *)(skb->data + (iph->ihl << 2)); qlcnic_83xx_process_lro() 1850 length = (iph->ihl << 2) + (th->doff << 2) + lro_length; qlcnic_83xx_process_lro() 1851 csum_replace2(&iph->check, iph->tot_len, htons(length)); qlcnic_83xx_process_lro() 1852 iph->tot_len = htons(length); qlcnic_83xx_process_lro()
|
/linux-4.4.14/drivers/infiniband/hw/qib/ |
H A D | qib_user_sdma.c | 457 hdr->iph.pkt_flags = qib_user_sdma_page_to_frags() 458 cpu_to_le16(le16_to_cpu(hdr->iph.pkt_flags)|0x2); qib_user_sdma_page_to_frags() 469 vcto = le32_to_cpu(hdr->iph.ver_ctxt_tid_offset); qib_user_sdma_page_to_frags() 470 hdr->iph.chksum = cpu_to_le16(QIB_LRH_BTH + qib_user_sdma_page_to_frags() 473 le16_to_cpu(hdr->iph.pkt_flags)); qib_user_sdma_page_to_frags() 503 hdr->iph.ver_ctxt_tid_offset = cpu_to_le32( qib_user_sdma_page_to_frags() 504 (le32_to_cpu(hdr->iph.ver_ctxt_tid_offset)&0xFF000000) + qib_user_sdma_page_to_frags() 513 vcto = le32_to_cpu(hdr->iph.ver_ctxt_tid_offset); qib_user_sdma_page_to_frags() 514 hdr->iph.chksum = cpu_to_le16(QIB_LRH_BTH + qib_user_sdma_page_to_frags() 517 le16_to_cpu(hdr->iph.pkt_flags)); qib_user_sdma_page_to_frags()
|
/linux-4.4.14/net/atm/ |
H A D | mpc.c | 494 struct iphdr *iph; send_via_shortcut() local 507 iph = (struct iphdr *)buff; send_via_shortcut() 508 ipaddr = iph->daddr; send_via_shortcut() 531 if (iph->ttl <= 1) { send_via_shortcut() 533 mpc->dev->name, iph->ttl); send_via_shortcut() 537 iph->ttl--; send_via_shortcut() 538 iph->check = 0; send_via_shortcut() 539 iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl); send_via_shortcut()
|
H A D | br2684.c | 481 struct iphdr *iph; br2684_push() local 484 iph = ip_hdr(skb); br2684_push() 485 if (iph->version == 4) br2684_push() 487 else if (iph->version == 6) br2684_push()
|
/linux-4.4.14/arch/powerpc/include/asm/ |
H A D | checksum.h | 20 extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl);
|
/linux-4.4.14/drivers/net/ethernet/intel/i40evf/ |
H A D | i40e_txrx.c | 800 struct iphdr *iph; i40e_rx_checksum() local 870 iph = ip_hdr(skb); i40e_rx_checksum() 871 csum = csum_tcpudp_magic(iph->saddr, iph->daddr, i40e_rx_checksum() 1451 struct iphdr *iph; i40e_tso() local 1462 iph = skb->encapsulation ? inner_ip_hdr(skb) : ip_hdr(skb); i40e_tso() 1465 if (iph->version == 4) { i40e_tso() 1467 iph->tot_len = 0; i40e_tso() 1468 iph->check = 0; i40e_tso() 1469 tcph->check = ~csum_tcpudp_magic(iph->saddr, iph->daddr, i40e_tso()
|
/linux-4.4.14/drivers/net/ethernet/mellanox/mlx4/ |
H A D | en_rx.c | 684 struct iphdr *iph) get_fixed_ipv4_csum() 689 length_for_csum = (be16_to_cpu(iph->tot_len) - (iph->ihl << 2)); get_fixed_ipv4_csum() 690 csum_pseudo_header = csum_tcpudp_nofold(iph->saddr, iph->daddr, get_fixed_ipv4_csum() 691 length_for_csum, iph->protocol, 0); get_fixed_ipv4_csum() 683 get_fixed_ipv4_csum(__wsum hw_checksum, struct sk_buff *skb, struct iphdr *iph) get_fixed_ipv4_csum() argument
|
/linux-4.4.14/drivers/net/ethernet/qlogic/netxen/ |
H A D | netxen_nic_init.c | 1598 struct iphdr *iph; netxen_process_lro() local 1641 iph = (struct iphdr *)(skb->data + vhdr_len); netxen_process_lro() 1642 th = (struct tcphdr *)((skb->data + vhdr_len) + (iph->ihl << 2)); netxen_process_lro() 1644 length = (iph->ihl << 2) + (th->doff << 2) + lro_length; netxen_process_lro() 1645 csum_replace2(&iph->check, iph->tot_len, htons(length)); netxen_process_lro() 1646 iph->tot_len = htons(length); netxen_process_lro()
|
/linux-4.4.14/drivers/net/ethernet/ibm/ |
H A D | ibmveth.c | 1182 struct iphdr *iph; ibmveth_poll() local 1228 iph = (struct iphdr *)skb->data; ibmveth_poll() 1233 if (iph->check == 0xffff) { ibmveth_poll() 1234 iph->check = 0; ibmveth_poll() 1235 iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl); ibmveth_poll()
|
/linux-4.4.14/drivers/net/ethernet/atheros/atlx/ |
H A D | atl1.c | 2133 struct iphdr *iph = ip_hdr(skb); atl1_tso() local 2135 real_len = (((unsigned char *)iph - skb->data) + atl1_tso() 2136 ntohs(iph->tot_len)); atl1_tso() 2141 iph->check = 0; atl1_tso() 2143 ~csum_tcpudp_magic(iph->saddr, atl1_tso() 2144 iph->daddr, tcp_hdrlen(skb), atl1_tso() 2146 ptpd->word3 |= (iph->ihl & TPD_IPHL_MASK) << atl1_tso() 2156 iph->check = 0; atl1_tso() 2157 tcp_hdr(skb)->check = ~csum_tcpudp_magic(iph->saddr, atl1_tso() 2158 iph->daddr, 0, IPPROTO_TCP, 0); atl1_tso() 2159 ip_off = (unsigned char *)iph - atl1_tso() 2166 ptpd->word3 |= (iph->ihl & TPD_IPHL_MASK) << atl1_tso()
|
/linux-4.4.14/net/l2tp/ |
H A D | l2tp_ip.c | 182 struct iphdr *iph = (struct iphdr *) skb_network_header(skb); l2tp_ip_recv() local 185 sk = __l2tp_ip_bind_lookup(net, iph->daddr, 0, tunnel_id); l2tp_ip_recv()
|
H A D | l2tp_ip6.c | 194 struct ipv6hdr *iph = ipv6_hdr(skb); l2tp_ip6_recv() local 197 sk = __l2tp_ip6_bind_lookup(&init_net, &iph->daddr, l2tp_ip6_recv()
|
/linux-4.4.14/drivers/net/ethernet/intel/i40e/ |
H A D | i40e_txrx.c | 1326 struct iphdr *iph; i40e_rx_checksum() local 1397 iph = ip_hdr(skb); i40e_rx_checksum() 1399 iph->saddr, iph->daddr, i40e_rx_checksum() 2202 struct iphdr *iph; i40e_tso() local 2213 iph = skb->encapsulation ? inner_ip_hdr(skb) : ip_hdr(skb); i40e_tso() 2216 if (iph->version == 4) { i40e_tso() 2218 iph->tot_len = 0; i40e_tso() 2219 iph->check = 0; i40e_tso() 2220 tcph->check = ~csum_tcpudp_magic(iph->saddr, iph->daddr, i40e_tso()
|
/linux-4.4.14/drivers/net/ethernet/qlogic/qlge/ |
H A D | qlge_main.c | 1606 struct iphdr *iph = ql_process_mac_rx_page() local 1608 if (!(iph->frag_off & ql_process_mac_rx_page() 1721 struct iphdr *iph = (struct iphdr *) skb->data; ql_process_mac_rx_skb() local 1722 if (!(iph->frag_off & ql_process_mac_rx_skb() 2035 struct iphdr *iph = (struct iphdr *) skb->data; ql_process_mac_split_rx_intr() local 2036 if (!(iph->frag_off & ql_process_mac_split_rx_intr() 2594 struct iphdr *iph = ip_hdr(skb); ql_tso() local 2595 iph->check = 0; ql_tso() 2597 tcp_hdr(skb)->check = ~csum_tcpudp_magic(iph->saddr, ql_tso() 2598 iph->daddr, 0, ql_tso() 2617 struct iphdr *iph = ip_hdr(skb); ql_hw_csum_setup() local 2626 len = (ntohs(iph->tot_len) - (iph->ihl << 2)); ql_hw_csum_setup() 2627 if (likely(iph->protocol == IPPROTO_TCP)) { ql_hw_csum_setup() 2640 *check = ~csum_tcpudp_magic(iph->saddr, ql_hw_csum_setup() 2641 iph->daddr, len, iph->protocol, 0); ql_hw_csum_setup()
|
/linux-4.4.14/drivers/infiniband/hw/cxgb4/ |
H A D | cm.c | 3780 struct iphdr *iph; rx_pkt() local 3836 iph = (struct iphdr *)(eh + 1); rx_pkt() 3839 iph = (struct iphdr *)(vlan_eh + 1); rx_pkt() 3843 if (iph->version != 0x4) rx_pkt() 3846 tcph = (struct tcphdr *)(iph + 1); rx_pkt() 3847 skb_set_network_header(skb, (void *)iph - (void *)rss); rx_pkt() 3852 ntohl(iph->daddr), ntohs(tcph->dest), ntohl(iph->saddr), rx_pkt() 3853 ntohs(tcph->source), iph->tos); rx_pkt() 3855 dst = find_route(dev, iph->daddr, iph->saddr, tcph->dest, tcph->source, rx_pkt() 3856 iph->tos); rx_pkt() 3871 pdev = ip_dev_find(&init_net, iph->daddr); rx_pkt() 3905 build_cpl_pass_accept_req(skb, stid, iph->tos); rx_pkt() 3906 send_fw_pass_open_req(dev, skb, iph->daddr, tcph->dest, iph->saddr, rx_pkt()
|
/linux-4.4.14/drivers/net/ethernet/intel/ixgb/ |
H A D | ixgb_main.c | 1227 struct iphdr *iph; ixgb_tso() local 1236 iph = ip_hdr(skb); ixgb_tso() 1237 iph->tot_len = 0; ixgb_tso() 1238 iph->check = 0; ixgb_tso() 1239 tcp_hdr(skb)->check = ~csum_tcpudp_magic(iph->saddr, ixgb_tso() 1240 iph->daddr, 0, ixgb_tso() 1243 ipcso = (void *)&(iph->check) - (void *)skb->data; ixgb_tso()
|
/linux-4.4.14/drivers/net/bonding/ |
H A D | bond_alb.c | 1381 const struct iphdr *iph = ip_hdr(skb); bond_alb_xmit() local 1384 (iph->daddr == ip_bcast) || bond_alb_xmit() 1385 (iph->protocol == IPPROTO_IGMP)) { bond_alb_xmit() 1389 hash_start = (char *)&(iph->daddr); bond_alb_xmit() 1390 hash_size = sizeof(iph->daddr); bond_alb_xmit()
|
H A D | bond_main.c | 3105 const struct iphdr *iph; bond_flow_dissect() local 3114 if (unlikely(!pskb_may_pull(skb, noff + sizeof(*iph)))) bond_flow_dissect() 3116 iph = ip_hdr(skb); bond_flow_dissect() 3117 iph_to_flow_copy_v4addrs(fk, iph); bond_flow_dissect() 3118 noff += iph->ihl << 2; bond_flow_dissect() 3119 if (!ip_is_fragment(iph)) bond_flow_dissect() 3120 proto = iph->protocol; bond_flow_dissect() 3709 struct iphdr *iph = ip_hdr(skb); bond_xmit_roundrobin() local 3719 if (iph->protocol == IPPROTO_IGMP && skb->protocol == htons(ETH_P_IP)) { bond_xmit_roundrobin()
|
/linux-4.4.14/drivers/net/ethernet/pasemi/ |
H A D | pasemi_mac.c | 265 struct iphdr *iph; get_skb_hdr() local 273 iph = ip_hdr(skb); get_skb_hdr() 274 if (iph->protocol != IPPROTO_TCP) get_skb_hdr() 282 if (ntohs(iph->tot_len) < ip_len + tcp_hdrlen(skb)) get_skb_hdr() 286 *iphdr = iph; get_skb_hdr()
|
/linux-4.4.14/drivers/s390/net/ |
H A D | qeth_l3_main.c | 2767 struct iphdr *iph = ip_hdr(skb); qeth_l3_hdr_csum() local 2772 if (iph->protocol == IPPROTO_UDP) qeth_l3_hdr_csum() 2776 iph->check = 0; qeth_l3_hdr_csum() 2786 struct iphdr *iph = ip_hdr(skb); qeth_tso_fill_header() local 2800 hdr->ext.dg_hdr_len = (__u16)(iph->ihl*4 + tcph->doff*4); qeth_tso_fill_header() 2810 tcph->check = ~csum_tcpudp_magic(iph->saddr, iph->daddr, qeth_tso_fill_header() 2812 iph->tot_len = 0; qeth_tso_fill_header() 2813 iph->check = 0; qeth_tso_fill_header()
|
/linux-4.4.14/drivers/net/vmxnet3/ |
H A D | vmxnet3_drv.c | 850 const struct iphdr *iph = ip_hdr(skb); vmxnet3_parse_and_copy_hdr() local 852 protocol = iph->protocol; vmxnet3_parse_and_copy_hdr() 915 struct iphdr *iph = ip_hdr(skb); vmxnet3_prepare_tso() local 917 iph->check = 0; vmxnet3_prepare_tso() 918 tcph->check = ~csum_tcpudp_magic(iph->saddr, iph->daddr, 0, vmxnet3_prepare_tso() 921 struct ipv6hdr *iph = ipv6_hdr(skb); vmxnet3_prepare_tso() local 923 tcph->check = ~csum_ipv6_magic(&iph->saddr, &iph->daddr, 0, vmxnet3_prepare_tso()
|
/linux-4.4.14/drivers/net/ethernet/broadcom/bnxt/ |
H A D | bnxt.c | 871 struct iphdr *iph; bnxt_gro_skb() local 876 iph = ip_hdr(skb); bnxt_gro_skb() 880 th->check = ~tcp_v4_check(len, iph->saddr, iph->daddr, 0); bnxt_gro_skb() 882 struct ipv6hdr *iph; bnxt_gro_skb() local 887 iph = ipv6_hdr(skb); bnxt_gro_skb() 891 th->check = ~tcp_v6_check(len, &iph->saddr, &iph->daddr, 0); bnxt_gro_skb() 902 struct iphdr *iph = (struct iphdr *)skb->data; bnxt_gro_skb() local 904 if (iph->protocol == IPPROTO_UDP) bnxt_gro_skb() 905 uh = (struct udphdr *)(iph + 1); bnxt_gro_skb() 907 struct ipv6hdr *iph = (struct ipv6hdr *)skb->data; bnxt_gro_skb() local 909 if (iph->nexthdr == IPPROTO_UDP) bnxt_gro_skb() 910 uh = (struct udphdr *)(iph + 1); bnxt_gro_skb()
|
/linux-4.4.14/drivers/net/ethernet/broadcom/bnx2x/ |
H A D | bnx2x_cmn.c | 706 const struct iphdr *iph = ip_hdr(skb); bnx2x_gro_ip_csum() local 713 iph->saddr, iph->daddr, 0); bnx2x_gro_ip_csum() 718 struct ipv6hdr *iph = ipv6_hdr(skb); bnx2x_gro_ipv6_csum() local 725 &iph->saddr, &iph->daddr, 0); bnx2x_gro_ipv6_csum() 3709 struct iphdr *iph = ip_hdr(skb); bnx2x_update_pbds_gso_enc() local 3710 u32 csum = (__force u32)(~iph->check) - bnx2x_update_pbds_gso_enc() 3711 (__force u32)iph->tot_len - bnx2x_update_pbds_gso_enc() 3712 (__force u32)iph->frag_off; bnx2x_update_pbds_gso_enc() 3714 outerip_len = iph->ihl << 1; bnx2x_update_pbds_gso_enc()
|
/linux-4.4.14/drivers/net/ethernet/oki-semi/pch_gbe/ |
H A D | pch_gbe_main.c | 1174 struct iphdr *iph = ip_hdr(skb); pch_gbe_tx_queue() local 1177 if (iph->protocol == IPPROTO_TCP) { pch_gbe_tx_queue() 1183 csum_tcpudp_magic(iph->saddr, pch_gbe_tx_queue() 1184 iph->daddr, pch_gbe_tx_queue() 1188 } else if (iph->protocol == IPPROTO_UDP) { pch_gbe_tx_queue() 1195 csum_tcpudp_magic(iph->saddr, pch_gbe_tx_queue() 1196 iph->daddr, pch_gbe_tx_queue()
|
/linux-4.4.14/drivers/staging/rdma/ipath/ |
H A D | ipath_common.h | 746 struct ipath_header iph; member in struct:ipath_message_header 754 struct ipath_header iph; member in struct:ether_header
|