Home
last modified time | relevance | path

Searched refs:ipv6h (Results 1 – 25 of 25) sorted by relevance

/linux-4.4.14/net/ipv6/
Dip6_offload.c61 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 …]
Dudp_offload.c67 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()
Dip6_gre.c372 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 …]
Dip6_tunnel.c480 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 …]
Dtcpv6_offload.c53 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()
Dip6_vti.c303 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()
Dexthdrs.c182 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()
Dsit.c633 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()
Dtcp_ipv6.c842 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()
Dip6mr.c2001 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()
Dreassembly.c72 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/
Dnf_nat_l3proto_ipv6.c83 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 …]
Dnf_conntrack_reasm.c151 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/
Ddsfield.h21 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/
Dxt_TCPOPTSTRIP.c102 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()
Dxt_TCPMSS.c229 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/
Den_rx.c701 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/
Dvrf.c117 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/
Di40e_txrx.c1449 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/
Dqlcnic_io.c1268 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/
Di40e_txrx.c2200 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/
Dbnad.c2524 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/
Dr8152.c1427 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/
Dr8169.c6979 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/
Dvmxnet3_drv.c854 const struct ipv6hdr *ipv6h = ipv6_hdr(skb); in vmxnet3_parse_and_copy_hdr() local
856 protocol = ipv6h->nexthdr; in vmxnet3_parse_and_copy_hdr()