/net/ipv4/ |
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 | 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 233 lro_add_frags(struct net_lro_desc *lro_desc, int len, int hlen, int truesize, struct skb_frag_struct *skb_frags, struct iphdr *iph, struct tcphdr *tcph) argument 257 lro_check_tcp_conn(struct net_lro_desc *lro_desc, struct iphdr *iph, struct tcphdr *tcph) argument 269 lro_get_desc(struct net_lro_mgr *lro_mgr, struct net_lro_desc *lro_arr, struct iphdr *iph, struct tcphdr *tcph) argument 321 struct iphdr *iph; local 423 struct iphdr *iph; local 538 lro_flush_pkt(struct net_lro_mgr *lro_mgr, struct iphdr *iph, struct tcphdr *tcph) argument [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)) 51 struct iphdr *iph = ip_hdr(skb); local 53 iph->protocol = XFRM_MODE_SKB_CB(skb)->protocol; 57 return -iph->protocol; 61 iph->tot_len = htons(skb->len); 62 ip_send_check(iph); 80 struct iphdr *iph; local [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 | 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 = ip_hdr(skb); local 194 iph->saddr, iph->daddr, 0); 215 const struct iphdr *tiph = &tunnel->parms.iph; [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 | ip_input.c | 265 const struct iphdr *iph; local 280 iph = ip_hdr(skb); 282 opt->optlen = iph->ihl*4 - sizeof(struct iphdr); 296 &iph->saddr, 297 &iph->daddr); 316 const struct iphdr *iph = ip_hdr(skb); local 321 int protocol = iph->protocol; 326 /* must reload iph, skb->head might have changed */ 327 iph = ip_hdr(skb); 336 int err = ip_route_input_noref(skb, iph 380 const struct iphdr *iph; local [all...] |
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 294 struct iphdr *iph, *work_iph; local 403 const struct iphdr *iph = (const struct iphdr *)skb->data; local [all...] |
H A D | ip_gre.c | 238 const struct iphdr *iph; local 284 iph = (const struct iphdr *)skb->data; 286 iph->daddr, iph->saddr, tpi.key); 301 if (t->parms.iph.daddr == 0 || 302 ipv4_is_multicast(t->parms.iph.daddr)) 305 if (t->parms.iph.ttl == 0 && type == ICMP_TIME_EXCEEDED) 319 const struct iphdr *iph; local 333 iph = ip_hdr(skb); 335 iph 558 struct iphdr *iph; local 581 const struct iphdr *iph = (const struct iphdr *) skb_mac_header(skb); local 684 struct iphdr *iph = &tunnel->parms.iph; local [all...] |
H A D | ip_vti.c | 94 if (local == t->parms.iph.saddr && 95 remote == t->parms.iph.daddr && (t->dev->flags&IFF_UP)) 98 if (remote == t->parms.iph.daddr && (t->dev->flags&IFF_UP)) 102 if (local == t->parms.iph.saddr && (t->dev->flags&IFF_UP)) 114 __be32 remote = parms->iph.daddr; 115 __be32 local = parms->iph.saddr; 163 __be32 remote = parms->iph.daddr; 164 __be32 local = parms->iph.saddr; 174 if (local == t->parms.iph.saddr && remote == t->parms.iph 225 struct iphdr *iph = (struct iphdr *)skb->data; local 283 const struct iphdr *iph = ip_hdr(skb); local 386 struct iphdr *iph; local 606 struct iphdr *iph = &tunnel->parms.iph; local [all...] |
/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 | 223 int *ignored, struct ip_vs_iphdr *iph) 238 ipv6_addr_prefix(&snet.in6, &iph->saddr.in6, 242 snet.ip = iph->saddr.ip & svc->netmask; 246 IP_VS_DBG_ADDR(svc->af, &iph->saddr), ntohs(src_port), 247 IP_VS_DBG_ADDR(svc->af, &iph->daddr), ntohs(dst_port), 264 int protocol = iph->protocol; 265 const union nf_inet_addr *vaddr = &iph->daddr; 343 && iph->protocol == IPPROTO_UDP) ? 349 ip_vs_conn_fill_param(svc->net, svc->af, iph->protocol, &iph 221 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 392 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 501 ip_vs_leave(struct ip_vs_service *svc, struct sk_buff *skb, struct ip_vs_proto_data *pd, struct ip_vs_iphdr *iph) argument 676 struct iphdr *iph = ip_hdr(skb); local 722 struct ipv6hdr *iph = ipv6_hdr(skb); local 842 struct iphdr *iph; local 1004 is_new_conn(const struct sk_buff *skb, struct ip_vs_iphdr *iph) argument 1033 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 1103 struct ip_vs_iphdr iph; local 1292 struct iphdr *iph; local 1457 ip_vs_in_icmp_v6(struct sk_buff *skb, int *related, unsigned int hooknum, struct ip_vs_iphdr *iph) argument 1563 struct ip_vs_iphdr iph; local [all...] |
/net/ipv6/ |
H A D | tcpv6_offload.c | 38 const struct ipv6hdr *iph = skb_gro_network_header(skb); local 44 if (!tcp_v6_check(skb_gro_len(skb), &iph->saddr, &iph->daddr, 54 wsum = ~csum_unfold(csum_ipv6_magic(&iph->saddr, &iph->daddr, 73 const struct ipv6hdr *iph = ipv6_hdr(skb); local 77 &iph->saddr, &iph->daddr, 0);
|
H A D | ip6_offload.c | 150 struct ipv6hdr *iph; local 159 hlen = off + sizeof(*iph); 160 iph = skb_gro_header_fast(skb, off); 162 iph = skb_gro_header_slow(skb, hlen, off); 163 if (unlikely(!iph)) 167 skb_gro_pull(skb, sizeof(*iph)); 170 flush += ntohs(iph->payload_len) != skb_gro_len(skb); 173 proto = iph->nexthdr; 186 iph = ipv6_hdr(skb); 202 first_word = *(__be32 *)iph 238 struct ipv6hdr *iph = ipv6_hdr(skb); 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; 225 __be32 remote = parms->iph.daddr; 226 __be32 local = parms->iph.saddr; 236 if (local == t->parms.iph.saddr && 237 remote == t->parms.iph 441 isatap_chksrc(struct sk_buff *skb, const struct iphdr *iph, struct ip_tunnel *t) argument 489 const struct iphdr *iph = (const struct iphdr *)skb->data; local 571 const struct iphdr *iph = ip_hdr(skb); local 693 struct iphdr *iph; /* Our new IP header */ local 884 const struct iphdr *iph; local 1215 struct iphdr *iph = &tunnel->parms.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_TPROXY.c | 92 const struct iphdr *iph = ip_hdr(skb); local 106 sk2 = nf_tproxy_get_sock_v4(dev_net(skb->dev), iph->protocol, 107 iph->saddr, laddr ? laddr : iph->daddr, 124 const struct iphdr *iph = ip_hdr(skb); local 136 sk = nf_tproxy_get_sock_v4(dev_net(skb->dev), iph->protocol, 137 iph->saddr, iph->daddr, 141 laddr = tproxy_laddr4(skb, laddr, iph->daddr); 152 sk = nf_tproxy_get_sock_v4(dev_net(skb->dev), iph 245 const struct ipv6hdr *iph = ipv6_hdr(skb); local 279 const struct ipv6hdr *iph = ipv6_hdr(skb); local [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_TEE.c | 59 const struct iphdr *iph = ip_hdr(skb); local 71 fl4.flowi4_tos = RT_TOS(iph->tos); 89 struct iphdr *iph; local 120 iph = ip_hdr(skb); 121 iph->frag_off |= htons(IP_DF); 124 --iph->ttl; 125 ip_send_check(iph); 141 const struct ipv6hdr *iph = ipv6_hdr(skb); local 153 fl6.flowlabel = ((iph->flow_lbl[0] & 0xF) << 16) | 154 (iph 186 struct ipv6hdr *iph = ipv6_hdr(skb); local [all...] |
/net/ipv6/netfilter/ |
H A D | ip6t_rpfilter.c | 33 struct ipv6hdr *iph = ipv6_hdr(skb); local 36 .flowlabel = (* (__be32 *) iph) & IPV6_FLOWINFO_MASK, 37 .flowi6_proto = iph->nexthdr, 38 .daddr = iph->saddr, 42 if (rpfilter_addr_unicast(&iph->daddr)) { 43 memcpy(&fl6.saddr, &iph->daddr, sizeof(struct in6_addr)); 84 struct ipv6hdr *iph; local 90 iph = ipv6_hdr(skb); 91 saddrtype = ipv6_addr_type(&iph->saddr);
|
/net/sched/ |
H A D | act_nat.c | 109 struct iphdr *iph; local 136 if (!pskb_may_pull(skb, sizeof(*iph) + noff)) 139 iph = ip_hdr(skb); 142 addr = iph->saddr; 144 addr = iph->daddr; 148 !skb_clone_writable(skb, sizeof(*iph) + noff) && 156 iph = ip_hdr(skb); 158 iph->saddr = new_addr; 160 iph->daddr = new_addr; 162 csum_replace4(&iph [all...] |
/net/ipv4/netfilter/ |
H A D | nf_nat_l3proto_ipv4.c | 84 struct iphdr *iph; local 87 if (!skb_make_writable(skb, iphdroff + sizeof(*iph))) 90 iph = (void *)skb->data + iphdroff; 91 hdroff = iphdroff + iph->ihl * 4; 96 iph = (void *)skb->data + iphdroff; 99 csum_replace4(&iph->check, iph->saddr, target->src.u3.ip); 100 iph->saddr = target->src.u3.ip; 102 csum_replace4(&iph->check, iph 113 struct iphdr *iph = (struct iphdr *)(skb->data + iphdroff); local 130 const struct iphdr *iph = ip_hdr(skb); local [all...] |
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_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);
|