/linux-4.4.14/net/ipv6/ |
D | ip6_offload.c | 61 struct ipv6hdr *ipv6h; in ipv6_gso_segment() local 89 if (unlikely(!pskb_may_pull(skb, sizeof(*ipv6h)))) in ipv6_gso_segment() 95 SKB_GSO_CB(skb)->encap_level += sizeof(*ipv6h); in ipv6_gso_segment() 97 ipv6h = ipv6_hdr(skb); in ipv6_gso_segment() 98 __skb_pull(skb, sizeof(*ipv6h)); in ipv6_gso_segment() 101 proto = ipv6_gso_pull_exthdrs(skb, ipv6h->nexthdr); in ipv6_gso_segment() 119 ipv6h = (struct ipv6hdr *)(skb_mac_header(skb) + nhoff); in ipv6_gso_segment() 120 ipv6h->payload_len = htons(skb->len - nhoff - sizeof(*ipv6h)); in ipv6_gso_segment() 121 skb->network_header = (u8 *)ipv6h - skb->head; in ipv6_gso_segment() 125 fptr = (struct frag_hdr *)((u8 *)ipv6h + unfrag_ip6hlen); in ipv6_gso_segment() [all …]
|
D | udp_offload.c | 67 const struct ipv6hdr *ipv6h; in udp6_ufo_fragment() local 78 ipv6h = ipv6_hdr(skb); in udp6_ufo_fragment() 82 uh->check = udp_v6_check(skb->len, &ipv6h->saddr, in udp6_ufo_fragment() 83 &ipv6h->daddr, csum); in udp6_ufo_fragment() 159 const struct ipv6hdr *ipv6h = ipv6_hdr(skb); in udp6_gro_complete() local 164 uh->check = ~udp_v6_check(skb->len - nhoff, &ipv6h->saddr, in udp6_gro_complete() 165 &ipv6h->daddr, 0); in udp6_gro_complete()
|
D | ip6_gre.c | 372 const struct ipv6hdr *ipv6h = (const struct ipv6hdr *)skb->data; in ip6gre_err() local 392 ipv6h = (const struct ipv6hdr *)skb->data; in ip6gre_err() 395 t = ip6gre_tunnel_lookup(skb->dev, &ipv6h->daddr, &ipv6h->saddr, in ip6gre_err() 449 const struct ipv6hdr *ipv6h; in ip6gre_rcv() local 463 ipv6h = ipv6_hdr(skb); in ip6gre_rcv() 491 &ipv6h->saddr, &ipv6h->daddr, key, in ip6gre_rcv() 499 if (!ip6_tnl_rcv_ctl(tunnel, &ipv6h->daddr, &ipv6h->saddr)) { in ip6gre_rcv() 544 ipv6h = ipv6_hdr(skb); in ip6gre_rcv() 553 err = IP6_ECN_decapsulate(ipv6h, skb); in ip6gre_rcv() 557 &ipv6h->saddr, in ip6gre_rcv() [all …]
|
D | ip6_tunnel.c | 480 const struct ipv6hdr *ipv6h = (const struct ipv6hdr *) raw; in ip6_tnl_parse_tlv_enc_lim() local 481 __u8 nexthdr = ipv6h->nexthdr; in ip6_tnl_parse_tlv_enc_lim() 482 __u16 off = sizeof(*ipv6h); in ip6_tnl_parse_tlv_enc_lim() 542 const struct ipv6hdr *ipv6h = (const struct ipv6hdr *) skb->data; in ip6_tnl_err() local 557 t = ip6_tnl_lookup(dev_net(skb->dev), &ipv6h->daddr, &ipv6h->saddr); in ip6_tnl_err() 606 len = sizeof(*ipv6h) + ntohs(ipv6h->payload_len); in ip6_tnl_err() 776 const struct ipv6hdr *ipv6h, in ip4ip6_dscp_ecn_decapsulate() argument 779 __u8 dsfield = ipv6_get_dsfield(ipv6h) & ~INET_ECN_MASK; in ip4ip6_dscp_ecn_decapsulate() 784 return IP6_ECN_decapsulate(ipv6h, skb); in ip4ip6_dscp_ecn_decapsulate() 788 const struct ipv6hdr *ipv6h, in ip6ip6_dscp_ecn_decapsulate() argument [all …]
|
D | tcpv6_offload.c | 53 const struct ipv6hdr *ipv6h = ipv6_hdr(skb); in tcp6_gso_segment() local 62 __tcp_v6_send_check(skb, &ipv6h->saddr, &ipv6h->daddr); in tcp6_gso_segment()
|
D | ip6_vti.c | 303 const struct ipv6hdr *ipv6h = ipv6_hdr(skb); in vti6_rcv() local 306 t = vti6_tnl_lookup(dev_net(skb->dev), &ipv6h->saddr, &ipv6h->daddr); in vti6_rcv() 318 if (!ip6_tnl_rcv_ctl(t, &ipv6h->daddr, &ipv6h->saddr)) { in vti6_rcv() 512 struct ipv6hdr *ipv6h; in vti6_tnl_xmit() local 520 ipv6h = ipv6_hdr(skb); in vti6_tnl_xmit() 523 vti6_addr_conflict(t, ipv6h)) in vti6_tnl_xmit()
|
D | exthdrs.c | 182 struct ipv6hdr *ipv6h = ipv6_hdr(skb); in ipv6_dest_hao() local 207 ret = xfrm6_input_addr(skb, (xfrm_address_t *)&ipv6h->daddr, in ipv6_dest_hao() 219 ipv6h = ipv6_hdr(skb); in ipv6_dest_hao() 225 tmp_addr = ipv6h->saddr; in ipv6_dest_hao() 226 ipv6h->saddr = hao->addr; in ipv6_dest_hao()
|
D | sit.c | 633 const struct ipv6hdr *ipv6h; in packet_is_spoofed() local 645 ipv6h = ipv6_hdr(skb); in packet_is_spoofed() 647 if (unlikely(is_spoofed_6rd(tunnel, iph->saddr, &ipv6h->saddr))) { in packet_is_spoofed() 649 &iph->saddr, &ipv6h->saddr, in packet_is_spoofed() 650 &iph->daddr, &ipv6h->daddr); in packet_is_spoofed() 654 if (likely(!is_spoofed_6rd(tunnel, iph->daddr, &ipv6h->daddr))) in packet_is_spoofed() 657 if (only_dnatted(tunnel, &ipv6h->daddr)) in packet_is_spoofed() 661 &iph->saddr, &ipv6h->saddr, in packet_is_spoofed() 662 &iph->daddr, &ipv6h->daddr); in packet_is_spoofed()
|
D | tcp_ipv6.c | 842 struct ipv6hdr *ipv6h = ipv6_hdr(skb); in tcp_v6_send_reset() local 869 &tcp_hashinfo, &ipv6h->saddr, in tcp_v6_send_reset() 870 th->source, &ipv6h->daddr, in tcp_v6_send_reset() 876 key = tcp_v6_md5_do_lookup(sk1, &ipv6h->saddr); in tcp_v6_send_reset() 884 key = sk ? tcp_v6_md5_do_lookup(sk, &ipv6h->saddr) : NULL; in tcp_v6_send_reset()
|
D | ip6mr.c | 2001 struct ipv6hdr *ipv6h; in ip6mr_forward2() local 2021 ipv6h = ipv6_hdr(skb); in ip6mr_forward2() 2025 .daddr = ipv6h->daddr, in ip6mr_forward2() 2055 if (skb_cow(skb, sizeof(*ipv6h) + LL_RESERVED_SPACE(dev))) in ip6mr_forward2() 2058 ipv6h = ipv6_hdr(skb); in ip6mr_forward2() 2059 ipv6h->hop_limit--; in ip6mr_forward2()
|
D | reassembly.c | 72 static u8 ip6_frag_ecn(const struct ipv6hdr *ipv6h) in ip6_frag_ecn() argument 74 return 1 << (ipv6_get_dsfield(ipv6h) & INET_ECN_MASK); in ip6_frag_ecn()
|
/linux-4.4.14/net/ipv6/netfilter/ |
D | nf_nat_l3proto_ipv6.c | 83 struct ipv6hdr *ipv6h; in nf_nat_ipv6_manip_pkt() local 88 if (!skb_make_writable(skb, iphdroff + sizeof(*ipv6h))) in nf_nat_ipv6_manip_pkt() 91 ipv6h = (void *)skb->data + iphdroff; in nf_nat_ipv6_manip_pkt() 92 nexthdr = ipv6h->nexthdr; in nf_nat_ipv6_manip_pkt() 93 hdroff = ipv6_skip_exthdr(skb, iphdroff + sizeof(*ipv6h), in nf_nat_ipv6_manip_pkt() 104 ipv6h->saddr = target->src.u3.in6; in nf_nat_ipv6_manip_pkt() 106 ipv6h->daddr = target->dst.u3.in6; in nf_nat_ipv6_manip_pkt() 116 const struct ipv6hdr *ipv6h = (struct ipv6hdr *)(skb->data + iphdroff); in nf_nat_ipv6_csum_update() local 120 oldip = &ipv6h->saddr; in nf_nat_ipv6_csum_update() 123 oldip = &ipv6h->daddr; in nf_nat_ipv6_csum_update() [all …]
|
D | nf_conntrack_reasm.c | 151 static inline u8 ip6_frag_ecn(const struct ipv6hdr *ipv6h) in ip6_frag_ecn() argument 153 return 1 << (ipv6_get_dsfield(ipv6h) & INET_ECN_MASK); in ip6_frag_ecn()
|
/linux-4.4.14/include/net/ |
D | dsfield.h | 21 static inline __u8 ipv6_get_dsfield(const struct ipv6hdr *ipv6h) in ipv6_get_dsfield() argument 23 return ntohs(*(const __be16 *)ipv6h) >> 4; in ipv6_get_dsfield() 43 static inline void ipv6_change_dsfield(struct ipv6hdr *ipv6h,__u8 mask, in ipv6_change_dsfield() argument 46 __be16 *p = (__force __be16 *)ipv6h; in ipv6_change_dsfield()
|
/linux-4.4.14/net/netfilter/ |
D | xt_TCPOPTSTRIP.c | 102 struct ipv6hdr *ipv6h = ipv6_hdr(skb); in tcpoptstrip_tg6() local 107 nexthdr = ipv6h->nexthdr; in tcpoptstrip_tg6() 108 tcphoff = ipv6_skip_exthdr(skb, sizeof(*ipv6h), &nexthdr, &frag_off); in tcpoptstrip_tg6() 113 sizeof(*ipv6h) + sizeof(struct tcphdr)); in tcpoptstrip_tg6()
|
D | xt_TCPMSS.c | 229 struct ipv6hdr *ipv6h = ipv6_hdr(skb); in tcpmss_tg6() local 235 nexthdr = ipv6h->nexthdr; in tcpmss_tg6() 236 tcphoff = ipv6_skip_exthdr(skb, sizeof(*ipv6h), &nexthdr, &frag_off); in tcpmss_tg6() 242 sizeof(*ipv6h) + sizeof(struct tcphdr)); in tcpmss_tg6() 246 ipv6h = ipv6_hdr(skb); in tcpmss_tg6() 247 ipv6h->payload_len = htons(ntohs(ipv6h->payload_len) + ret); in tcpmss_tg6()
|
/linux-4.4.14/drivers/net/ethernet/mellanox/mlx4/ |
D | en_rx.c | 701 struct ipv6hdr *ipv6h) in get_fixed_ipv6_csum() argument 705 if (ipv6h->nexthdr == IPPROTO_FRAGMENT || ipv6h->nexthdr == IPPROTO_HOPOPTS) in get_fixed_ipv6_csum() 707 hw_checksum = csum_add(hw_checksum, (__force __wsum)htons(ipv6h->nexthdr)); in get_fixed_ipv6_csum() 709 csum_pseudo_hdr = csum_partial(&ipv6h->saddr, in get_fixed_ipv6_csum() 710 sizeof(ipv6h->saddr) + sizeof(ipv6h->daddr), 0); in get_fixed_ipv6_csum() 711 csum_pseudo_hdr = csum_add(csum_pseudo_hdr, (__force __wsum)ipv6h->payload_len); in get_fixed_ipv6_csum() 712 csum_pseudo_hdr = csum_add(csum_pseudo_hdr, (__force __wsum)ntohs(ipv6h->nexthdr)); in get_fixed_ipv6_csum() 715 skb->csum = csum_add(skb->csum, csum_partial(ipv6h, sizeof(struct ipv6hdr), 0)); in get_fixed_ipv6_csum()
|
/linux-4.4.14/drivers/net/ |
D | vrf.c | 117 const struct ipv6hdr *ipv6h; in check_ipv6_frame() local 121 ipv6h = skb_header_pointer(skb, 0, sizeof(_ipv6h), &_ipv6h); in check_ipv6_frame() 122 if (!ipv6h) in check_ipv6_frame() 125 if (ipv6h->nexthdr == NEXTHDR_ICMP) { in check_ipv6_frame()
|
/linux-4.4.14/drivers/net/ethernet/intel/i40evf/ |
D | i40e_txrx.c | 1449 struct ipv6hdr *ipv6h; in i40e_tso() local 1463 ipv6h = skb->encapsulation ? inner_ipv6_hdr(skb) : ipv6_hdr(skb); in i40e_tso() 1471 } else if (ipv6h->version == 6) { in i40e_tso() 1473 ipv6h->payload_len = 0; in i40e_tso() 1474 tcph->check = ~csum_ipv6_magic(&ipv6h->saddr, &ipv6h->daddr, in i40e_tso()
|
/linux-4.4.14/drivers/net/ethernet/qlogic/qlcnic/ |
D | qlcnic_io.c | 1268 struct ipv6hdr *ipv6h; in qlcnic_process_lro() local 1320 ipv6h = (struct ipv6hdr *)skb->data; in qlcnic_process_lro() 1323 ipv6h->payload_len = htons(length); in qlcnic_process_lro() 1790 struct ipv6hdr *ipv6h; in qlcnic_83xx_process_lro() local 1842 ipv6h = (struct ipv6hdr *)skb->data; in qlcnic_83xx_process_lro() 1846 ipv6h->payload_len = htons(length); in qlcnic_83xx_process_lro()
|
/linux-4.4.14/drivers/net/ethernet/intel/i40e/ |
D | i40e_txrx.c | 2200 struct ipv6hdr *ipv6h; in i40e_tso() local 2214 ipv6h = skb->encapsulation ? inner_ipv6_hdr(skb) : ipv6_hdr(skb); in i40e_tso() 2222 } else if (ipv6h->version == 6) { in i40e_tso() 2224 ipv6h->payload_len = 0; in i40e_tso() 2225 tcph->check = ~csum_ipv6_magic(&ipv6h->saddr, &ipv6h->daddr, in i40e_tso()
|
/linux-4.4.14/drivers/net/ethernet/brocade/bna/ |
D | bnad.c | 2524 struct ipv6hdr *ipv6h = ipv6_hdr(skb); in bnad_tso_prepare() local 2526 ipv6h->payload_len = 0; in bnad_tso_prepare() 2528 ~csum_ipv6_magic(&ipv6h->saddr, &ipv6h->daddr, 0, in bnad_tso_prepare()
|
/linux-4.4.14/drivers/net/usb/ |
D | r8152.c | 1427 const struct ipv6hdr *ipv6h; in msdn_giant_send_check() local 1435 ipv6h = ipv6_hdr(skb); in msdn_giant_send_check() 1439 th->check = ~tcp_v6_check(0, &ipv6h->saddr, &ipv6h->daddr, 0); in msdn_giant_send_check()
|
/linux-4.4.14/drivers/net/ethernet/realtek/ |
D | r8169.c | 6979 const struct ipv6hdr *ipv6h; in msdn_giant_send_check() local 6987 ipv6h = ipv6_hdr(skb); in msdn_giant_send_check() 6991 th->check = ~tcp_v6_check(0, &ipv6h->saddr, &ipv6h->daddr, 0); in msdn_giant_send_check()
|
/linux-4.4.14/drivers/net/vmxnet3/ |
D | vmxnet3_drv.c | 854 const struct ipv6hdr *ipv6h = ipv6_hdr(skb); in vmxnet3_parse_and_copy_hdr() local 856 protocol = ipv6h->nexthdr; in vmxnet3_parse_and_copy_hdr()
|