/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, argument 59 if (ntohs(iph->tot_len) != len) 62 if (TCP_PAYLOAD_LENGTH(iph, tcph) == 0) 65 if (iph->ihl != IPH_LEN_WO_OPTIONS) 72 if (INET_ECN_is_ce(ipv4_get_dsfield(iph))) 105 struct iphdr *iph = lro_desc->iph; local 130 lro_tcp_data_csum(struct iphdr *iph, struct tcphdr *tcph, int len) argument 147 lro_init_desc(struct net_lro_desc *lro_desc, struct sk_buff *skb, struct iphdr *iph, struct tcphdr *tcph) argument 185 lro_add_common(struct net_lro_desc *lro_desc, struct iphdr *iph, struct tcphdr *tcph, int tcp_data_len) argument 214 lro_add_packet(struct net_lro_desc *lro_desc, struct sk_buff *skb, struct iphdr *iph, struct tcphdr *tcph) argument 234 lro_check_tcp_conn(struct net_lro_desc *lro_desc, struct iphdr *iph, struct tcphdr *tcph) argument 246 lro_get_desc(struct net_lro_mgr *lro_mgr, struct net_lro_desc *lro_arr, struct iphdr *iph, struct tcphdr *tcph) argument 298 struct iphdr *iph; local [all...] |
H A D | xfrm4_input.c | 28 const struct iphdr *iph = ip_hdr(skb); local 30 if (ip_route_input_noref(skb, iph->daddr, iph->saddr, 31 iph->tos, skb->dev)) 42 struct iphdr *iph = ip_hdr(skb); local 44 iph->protocol = XFRM_MODE_SKB_CB(skb)->protocol; 48 return -iph->protocol; 52 iph->tot_len = htons(skb->len); 53 ip_send_check(iph); 71 struct iphdr *iph; local [all...] |
H A D | xfrm4_mode_beet.c | 22 struct iphdr *iph = ip_hdr(skb); local 24 iph->ihl = 5; 25 iph->version = 4; 27 iph->protocol = XFRM_MODE_SKB_CB(skb)->protocol; 28 iph->tos = XFRM_MODE_SKB_CB(skb)->tos; 30 iph->id = XFRM_MODE_SKB_CB(skb)->id; 31 iph->frag_off = XFRM_MODE_SKB_CB(skb)->frag_off; 32 iph->ttl = XFRM_MODE_SKB_CB(skb)->ttl; 86 struct iphdr *iph; local 111 skb_push(skb, sizeof(*iph)); [all...] |
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; local 146 iph->daddr, iph->saddr, 0); 164 if (t->parms.iph.daddr == 0) 168 if (t->parms.iph.ttl == 0 && type == ICMP_TIME_EXCEEDED) 191 const struct iphdr *iph; local 193 iph = ip_hdr(skb); 195 iph->saddr, iph [all...] |
H A D | netfilter.c | 23 const struct iphdr *iph = ip_hdr(skb); local 26 __be32 saddr = iph->saddr; 40 fl4.daddr = iph->daddr; 42 fl4.flowi4_tos = RT_TOS(iph->tos); 98 const struct iphdr *iph = ip_hdr(skb); local 100 rt_info->tos = iph->tos; 101 rt_info->daddr = iph->daddr; 102 rt_info->saddr = iph->saddr; 113 const struct iphdr *iph = ip_hdr(skb); local 115 if (!(iph 127 const struct iphdr *iph = ip_hdr(skb); local 159 const struct iphdr *iph = ip_hdr(skb); local [all...] |
H A D | ip_input.c | 263 const struct iphdr *iph; local 278 iph = ip_hdr(skb); 280 opt->optlen = iph->ihl*4 - sizeof(struct iphdr); 294 &iph->saddr, 295 &iph->daddr); 314 const struct iphdr *iph = ip_hdr(skb); local 319 int protocol = iph->protocol; 324 /* must reload iph, skb->head might have changed */ 325 iph = ip_hdr(skb); 334 int err = ip_route_input_noref(skb, iph 378 const struct iphdr *iph; local [all...] |
H A D | xfrm4_state.c | 59 const struct iphdr *iph = ip_hdr(skb); local 61 XFRM_MODE_SKB_CB(skb)->ihl = sizeof(*iph); 62 XFRM_MODE_SKB_CB(skb)->id = iph->id; 63 XFRM_MODE_SKB_CB(skb)->frag_off = iph->frag_off; 64 XFRM_MODE_SKB_CB(skb)->tos = iph->tos; 65 XFRM_MODE_SKB_CB(skb)->ttl = iph->ttl; 66 XFRM_MODE_SKB_CB(skb)->optlen = iph->ihl * 4 - sizeof(*iph);
|
H A D | ah4.c | 78 static int ip_clear_mutable_options(const struct iphdr *iph, __be32 *daddr) argument 80 unsigned char *optptr = (unsigned char *)(iph+1); 81 int l = iph->ihl*4 - sizeof(struct iphdr); 121 struct iphdr *iph; local 129 iph = AH_SKB_CB(skb)->tmp; 130 icv = ah_tmp_icv(ahp->ahash, iph, ihl); 133 top_iph->tos = iph->tos; 134 top_iph->ttl = iph->ttl; 135 top_iph->frag_off = iph->frag_off; 137 top_iph->daddr = iph 155 struct iphdr *iph, *top_iph; local 308 struct iphdr *iph, *work_iph; local 434 const struct iphdr *iph = (const struct iphdr *)skb->data; local [all...] |
H A D | ip_gre.c | 143 const struct iphdr *iph; local 181 iph = (const struct iphdr *)(icmp_hdr(skb) + 1); 183 iph->daddr, iph->saddr, tpi->key); 188 if (t->parms.iph.daddr == 0 || 189 ipv4_is_multicast(t->parms.iph.daddr)) 192 if (t->parms.iph.ttl == 0 && type == ICMP_TIME_EXCEEDED) 207 const struct iphdr *iph; local 215 iph = ip_hdr(skb); 217 iph 373 struct iphdr *iph; local 396 const struct iphdr *iph = (const struct iphdr *) skb_mac_header(skb); local 505 struct iphdr *iph = &tunnel->parms.iph; local [all...] |
H A D | xfrm4_mode_transport.c | 23 struct iphdr *iph = ip_hdr(skb); local 24 int ihl = iph->ihl * 4; 31 memmove(skb_network_header(skb), iph, ihl); local
|
/net/ipv4/netfilter/ |
H A D | nft_chain_route_ipv4.c | 35 const struct iphdr *iph; local 45 iph = ip_hdr(skb); 46 saddr = iph->saddr; 47 daddr = iph->daddr; 48 tos = iph->tos; 52 iph = ip_hdr(skb); 54 if (iph->saddr != saddr || 55 iph->daddr != daddr || 57 iph->tos != tos)
|
H A D | iptable_mangle.c | 43 const struct iphdr *iph; local 56 iph = ip_hdr(skb); 57 saddr = iph->saddr; 58 daddr = iph->daddr; 59 tos = iph->tos; 65 iph = ip_hdr(skb); 67 if (iph->saddr != saddr || 68 iph->daddr != daddr || 70 iph->tos != tos) {
|
H A D | ipt_ECN.c | 31 struct iphdr *iph = ip_hdr(skb); local 33 if ((iph->tos & IPT_ECN_IP_MASK) != (einfo->ip_ect & IPT_ECN_IP_MASK)) { 37 iph = ip_hdr(skb); 38 oldtos = iph->tos; 39 iph->tos &= ~IPT_ECN_IP_MASK; 40 iph->tos |= (einfo->ip_ect & IPT_ECN_IP_MASK); 41 csum_replace2(&iph->check, htons(oldtos), htons(iph->tos));
|
H A D | ipt_SYNPROXY.c | 23 struct iphdr *iph; local 26 iph = (struct iphdr *)skb_put(skb, sizeof(*iph)); 27 iph->version = 4; 28 iph->ihl = sizeof(*iph) / 4; 29 iph->tos = 0; 30 iph->id = 0; 31 iph->frag_off = htons(IP_DF); 32 iph 75 struct iphdr *iph, *niph; local 117 struct iphdr *iph, *niph; local 162 struct iphdr *iph, *niph; local 200 struct iphdr *iph, *niph; local [all...] |
H A D | ipt_rpfilter.c | 78 const struct iphdr *iph; local 88 iph = ip_hdr(skb); 89 if (ipv4_is_multicast(iph->daddr)) { 90 if (ipv4_is_zeronet(iph->saddr)) 91 return ipv4_is_local_multicast(iph->daddr) ^ invert; 94 flow.daddr = iph->saddr; 95 flow.saddr = rpfilter_get_saddr(iph->daddr); 98 flow.flowi4_tos = RT_TOS(iph->tos);
|
/net/netfilter/ipvs/ |
H A D | ip_vs_proto_ah_esp.c | 45 const struct ip_vs_iphdr *iph, int inverse, 50 &iph->saddr, htons(PORT_ISAKMP), 51 &iph->daddr, htons(PORT_ISAKMP), p); 54 &iph->daddr, htons(PORT_ISAKMP), 55 &iph->saddr, htons(PORT_ISAKMP), p); 60 const struct ip_vs_iphdr *iph, 67 ah_esp_conn_fill_param_proto(net, af, iph, inverse, &p); 77 ip_vs_proto_get(iph->protocol)->name, 78 IP_VS_DBG_ADDR(af, &iph->saddr), 79 IP_VS_DBG_ADDR(af, &iph 44 ah_esp_conn_fill_param_proto(struct net *net, int af, const struct ip_vs_iphdr *iph, int inverse, struct ip_vs_conn_param *p) argument 59 ah_esp_conn_in_get(int af, const struct sk_buff *skb, const struct ip_vs_iphdr *iph, int inverse) argument 87 ah_esp_conn_out_get(int af, const struct sk_buff *skb, const struct ip_vs_iphdr *iph, int inverse) argument 110 ah_esp_conn_schedule(int af, struct sk_buff *skb, struct ip_vs_proto_data *pd, int *verdict, struct ip_vs_conn **cpp, struct ip_vs_iphdr *iph) argument [all...] |
H A D | ip_vs_core.c | 231 int *ignored, struct ip_vs_iphdr *iph) 246 ipv6_addr_prefix(&snet.in6, &iph->saddr.in6, 250 snet.ip = iph->saddr.ip & svc->netmask; 254 IP_VS_DBG_ADDR(svc->af, &iph->saddr), ntohs(src_port), 255 IP_VS_DBG_ADDR(svc->af, &iph->daddr), ntohs(dst_port), 272 int protocol = iph->protocol; 273 const union nf_inet_addr *vaddr = &iph->daddr; 316 dest = sched->schedule(svc, skb, iph); 351 && iph->protocol == IPPROTO_UDP) ? 357 ip_vs_conn_fill_param(svc->net, svc->af, iph 229 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) argument 401 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) argument 510 ip_vs_leave(struct ip_vs_service *svc, struct sk_buff *skb, struct ip_vs_proto_data *pd, struct ip_vs_iphdr *iph) argument 685 struct iphdr *iph = ip_hdr(skb); local 731 struct ipv6hdr *iph = ipv6_hdr(skb); local 851 struct iphdr *iph; local 1013 is_new_conn(const struct sk_buff *skb, struct ip_vs_iphdr *iph) argument 1042 handle_response(int af, struct sk_buff *skb, struct ip_vs_proto_data *pd, struct ip_vs_conn *cp, struct ip_vs_iphdr *iph) argument 1112 struct ip_vs_iphdr iph; local 1295 struct iphdr *iph; local 1465 ip_vs_in_icmp_v6(struct sk_buff *skb, int *related, unsigned int hooknum, struct ip_vs_iphdr *iph) argument 1571 struct ip_vs_iphdr iph; local [all...] |
/net/netfilter/ |
H A D | xt_iprange.c | 23 const struct iphdr *iph = ip_hdr(skb); local 27 m = ntohl(iph->saddr) < ntohl(info->src_min.ip); 28 m |= ntohl(iph->saddr) > ntohl(info->src_max.ip); 32 &iph->saddr, 40 m = ntohl(iph->daddr) < ntohl(info->dst_min.ip); 41 m |= ntohl(iph->daddr) > ntohl(info->dst_max.ip); 45 &iph->daddr, 72 const struct ipv6hdr *iph = ipv6_hdr(skb); local 76 m = iprange_ipv6_lt(&iph->saddr, &info->src_min.in6); 77 m |= iprange_ipv6_lt(&info->src_max.in6, &iph [all...] |
H A D | xt_HL.c | 31 struct iphdr *iph; local 38 iph = ip_hdr(skb); 45 new_ttl = iph->ttl + info->ttl; 50 new_ttl = iph->ttl - info->ttl; 55 new_ttl = iph->ttl; 59 if (new_ttl != iph->ttl) { 60 csum_replace2(&iph->check, htons(iph->ttl << 8), 62 iph->ttl = new_ttl;
|
H A D | xt_DSCP.c | 78 struct iphdr *iph = ip_hdr(skb); local 81 orig = ipv4_get_dsfield(iph); 87 iph = ip_hdr(skb); 88 ipv4_change_dsfield(iph, 0, nv); 98 struct ipv6hdr *iph = ipv6_hdr(skb); local 101 orig = ipv6_get_dsfield(iph); 107 iph = ipv6_hdr(skb); 108 ipv6_change_dsfield(iph, 0, nv);
|
/net/sched/ |
H A D | act_nat.c | 90 struct iphdr *iph; local 117 if (!pskb_may_pull(skb, sizeof(*iph) + noff)) 120 iph = ip_hdr(skb); 123 addr = iph->saddr; 125 addr = iph->daddr; 129 !skb_clone_writable(skb, sizeof(*iph) + noff) && 137 iph = ip_hdr(skb); 139 iph->saddr = new_addr; 141 iph->daddr = new_addr; 143 csum_replace4(&iph [all...] |
/net/ipv6/ |
H A D | ip6_offload.c | 143 static int ipv6_exthdrs_len(struct ipv6hdr *iph, argument 146 struct ipv6_opt_hdr *opth = (void *)iph; 147 int len = 0, proto, optlen = sizeof(*iph); 149 proto = iph->nexthdr; 172 struct ipv6hdr *iph; local 180 hlen = off + sizeof(*iph); 181 iph = skb_gro_header_fast(skb, off); 183 iph = skb_gro_header_slow(skb, hlen, off); 184 if (unlikely(!iph)) 189 skb_gro_pull(skb, sizeof(*iph)); 264 struct ipv6hdr *iph = (struct ipv6hdr *)(skb->data + nhoff); local [all...] |
H A D | sit.c | 102 if (local == t->parms.iph.saddr && 103 remote == t->parms.iph.daddr && 109 if (remote == t->parms.iph.daddr && 115 if (local == t->parms.iph.saddr && 129 __be32 remote = parms->iph.daddr; 130 __be32 local = parms->iph.saddr; 198 memcpy(dev->dev_addr, &t->parms.iph.saddr, 4); 199 memcpy(dev->broadcast, &t->parms.iph.daddr, 4); 224 __be32 remote = parms->iph.daddr; 225 __be32 local = parms->iph 441 isatap_chksrc(struct sk_buff *skb, const struct iphdr *iph, struct ip_tunnel *t) argument 520 const struct iphdr *iph = (const struct iphdr *)skb->data; local 629 packet_is_spoofed(struct sk_buff *skb, const struct iphdr *iph, struct ip_tunnel *tunnel) argument 668 const struct iphdr *iph = ip_hdr(skb); local 730 const struct iphdr *iph; local 1046 const struct iphdr *iph; local 1400 struct iphdr *iph = &tunnel->parms.iph; local [all...] |
H A D | tcpv6_offload.c | 34 const struct ipv6hdr *iph = ipv6_hdr(skb); local 37 th->check = ~tcp_v6_check(skb->len - thoff, &iph->saddr, 38 &iph->daddr, 0);
|
/net/ipv6/netfilter/ |
H A D | ip6t_rpfilter.c | 33 struct ipv6hdr *iph = ipv6_hdr(skb); local 37 .flowlabel = (* (__be32 *) iph) & IPV6_FLOWINFO_MASK, 38 .flowi6_proto = iph->nexthdr, 39 .daddr = iph->saddr, 43 if (rpfilter_addr_unicast(&iph->daddr)) { 44 memcpy(&fl6.saddr, &iph->daddr, sizeof(struct in6_addr)); 85 struct ipv6hdr *iph; local 91 iph = ipv6_hdr(skb); 92 saddrtype = ipv6_addr_type(&iph->saddr);
|