Home
last modified time | relevance | path

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

123

/Linux-v5.4/include/net/netfilter/
Dnf_queue.h57 static inline u32 hash_v6(const struct ipv6hdr *ip6h, u32 initval) in hash_v6() argument
61 if ((__force u32)ip6h->saddr.s6_addr32[3] < in hash_v6()
62 (__force u32)ip6h->daddr.s6_addr32[3]) { in hash_v6()
63 a = (__force u32) ip6h->saddr.s6_addr32[3]; in hash_v6()
64 b = (__force u32) ip6h->daddr.s6_addr32[3]; in hash_v6()
66 b = (__force u32) ip6h->saddr.s6_addr32[3]; in hash_v6()
67 a = (__force u32) ip6h->daddr.s6_addr32[3]; in hash_v6()
70 if ((__force u32)ip6h->saddr.s6_addr32[1] < in hash_v6()
71 (__force u32)ip6h->daddr.s6_addr32[1]) in hash_v6()
72 c = (__force u32) ip6h->saddr.s6_addr32[1]; in hash_v6()
[all …]
Dnf_tables_ipv6.h33 struct ipv6hdr *ip6h, _ip6h; in __nft_set_pktinfo_ipv6_validate() local
39 ip6h = skb_header_pointer(skb, skb_network_offset(skb), sizeof(*ip6h), in __nft_set_pktinfo_ipv6_validate()
41 if (!ip6h) in __nft_set_pktinfo_ipv6_validate()
44 if (ip6h->version != 6) in __nft_set_pktinfo_ipv6_validate()
47 pkt_len = ntohs(ip6h->payload_len); in __nft_set_pktinfo_ipv6_validate()
48 if (pkt_len + sizeof(*ip6h) > skb->len) in __nft_set_pktinfo_ipv6_validate()
/Linux-v5.4/tools/testing/selftests/bpf/progs/
Dtest_xdp.c160 struct ipv6hdr *ip6h = data + sizeof(struct ethhdr); in handle_ipv6() local
165 if (ip6h + 1 > data_end) in handle_ipv6()
168 dport = get_dport(ip6h + 1, data_end, ip6h->nexthdr); in handle_ipv6()
172 vip.protocol = ip6h->nexthdr; in handle_ipv6()
174 memcpy(vip.daddr.v6, ip6h->daddr.s6_addr32, sizeof(vip.daddr)); in handle_ipv6()
176 payload_len = ip6h->payload_len; in handle_ipv6()
190 ip6h = data + sizeof(*new_eth); in handle_ipv6()
191 old_eth = data + sizeof(*ip6h); in handle_ipv6()
194 ip6h + 1 > data_end) in handle_ipv6()
199 ip6h->version = 6; in handle_ipv6()
[all …]
Dtest_xdp_loop.c156 struct ipv6hdr *ip6h = data + sizeof(struct ethhdr); in handle_ipv6() local
161 if (ip6h + 1 > data_end) in handle_ipv6()
164 dport = get_dport(ip6h + 1, data_end, ip6h->nexthdr); in handle_ipv6()
168 vip.protocol = ip6h->nexthdr; in handle_ipv6()
170 memcpy(vip.daddr.v6, ip6h->daddr.s6_addr32, sizeof(vip.daddr)); in handle_ipv6()
172 payload_len = ip6h->payload_len; in handle_ipv6()
186 ip6h = data + sizeof(*new_eth); in handle_ipv6()
187 old_eth = data + sizeof(*ip6h); in handle_ipv6()
190 ip6h + 1 > data_end) in handle_ipv6()
195 ip6h->version = 6; in handle_ipv6()
[all …]
Dtest_xdp_noinline.c284 struct ipv6hdr *ip6h; in encap_v6() local
294 ip6h = data + sizeof(struct eth_hdr); in encap_v6()
297 old_eth + 1 > data_end || ip6h + 1 > data_end) in encap_v6()
302 ip6h->version = 6; in encap_v6()
303 ip6h->priority = 0; in encap_v6()
304 memset(ip6h->flow_lbl, 0, sizeof(ip6h->flow_lbl)); in encap_v6()
306 ip6h->nexthdr = IPPROTO_IPV6; in encap_v6()
308 ip6h->payload_len = in encap_v6()
310 ip6h->hop_limit = 4; in encap_v6()
312 ip6h->saddr.in6_u.u6_addr32[0] = 1; in encap_v6()
[all …]
Dbpf_flow.c313 struct ipv6hdr *ip6h, _ip6h; in PROG() local
315 ip6h = bpf_flow_dissect_get_header(skb, sizeof(*ip6h), &_ip6h); in PROG()
316 if (!ip6h) in PROG()
320 memcpy(&keys->ipv6_src, &ip6h->saddr, 2*sizeof(ip6h->saddr)); in PROG()
323 keys->ip_proto = ip6h->nexthdr; in PROG()
324 keys->flow_label = ip6_flowlabel(ip6h); in PROG()
329 return parse_ipv6_proto(skb, ip6h->nexthdr); in PROG()
335 struct ipv6_opt_hdr *ip6h, _ip6h; in PROG() local
337 ip6h = bpf_flow_dissect_get_header(skb, sizeof(*ip6h), &_ip6h); in PROG()
338 if (!ip6h) in PROG()
[all …]
Dtest_pkt_access.c42 struct ipv6hdr *ip6h = (struct ipv6hdr *)(eth + 1); in process() local
44 if (ip6h + 1 > data_end) in process()
46 ihl_len = sizeof(*ip6h); in process()
47 proto = ip6h->nexthdr; in process()
48 tcp = (struct tcphdr *)((void *)(ip6h) + ihl_len); in process()
/Linux-v5.4/samples/bpf/
Dxdp_tx_iptunnel_kern.c159 struct ipv6hdr *ip6h = data + sizeof(struct ethhdr); in handle_ipv6() local
164 if (ip6h + 1 > data_end) in handle_ipv6()
167 dport = get_dport(ip6h + 1, data_end, ip6h->nexthdr); in handle_ipv6()
171 vip.protocol = ip6h->nexthdr; in handle_ipv6()
173 memcpy(vip.daddr.v6, ip6h->daddr.s6_addr32, sizeof(vip.daddr)); in handle_ipv6()
175 payload_len = ip6h->payload_len; in handle_ipv6()
191 ip6h = data + sizeof(*new_eth); in handle_ipv6()
192 old_eth = data + sizeof(*ip6h); in handle_ipv6()
196 ip6h + 1 > data_end) in handle_ipv6()
201 ip6h->version = 6; in handle_ipv6()
[all …]
Dxdp_fwd_kern.c50 struct ipv6hdr *ip6h; in xdp_fwd_flags() local
84 ip6h = data + nh_off; in xdp_fwd_flags()
85 if (ip6h + 1 > data_end) in xdp_fwd_flags()
88 if (ip6h->hop_limit <= 1) in xdp_fwd_flags()
92 fib_params.flowinfo = *(__be32 *)ip6h & IPV6_FLOWINFO_MASK; in xdp_fwd_flags()
93 fib_params.l4_protocol = ip6h->nexthdr; in xdp_fwd_flags()
96 fib_params.tot_len = ntohs(ip6h->payload_len); in xdp_fwd_flags()
97 *src = ip6h->saddr; in xdp_fwd_flags()
98 *dst = ip6h->daddr; in xdp_fwd_flags()
137 ip6h->hop_limit--; in xdp_fwd_flags()
Dtc_l2_redirect_kern.c91 struct ipv6hdr *ip6h = data + sizeof(*eth); in _l2_to_iptun_ingress_forward() local
93 if (data + sizeof(*eth) + sizeof(*ip6h) > data_end) in _l2_to_iptun_ingress_forward()
96 if (ip6h->nexthdr != IPPROTO_IPIP && in _l2_to_iptun_ingress_forward()
97 ip6h->nexthdr != IPPROTO_IPV6) in _l2_to_iptun_ingress_forward()
101 _htonl(ip6h->daddr.s6_addr32[0]), in _l2_to_iptun_ingress_forward()
102 _htonl(ip6h->daddr.s6_addr32[3])); in _l2_to_iptun_ingress_forward()
180 struct ipv6hdr *ip6h = data + sizeof(*eth); in _l2_to_ip6tun_ingress_redirect() local
182 if (data + sizeof(*eth) + sizeof(*ip6h) > data_end) in _l2_to_ip6tun_ingress_redirect()
185 if (!is_vip_addr(eth->h_proto, ip6h->daddr.s6_addr32[0])) in _l2_to_ip6tun_ingress_redirect()
189 _htonl(ip6h->daddr.s6_addr32[0]), *ifindex); in _l2_to_ip6tun_ingress_redirect()
[all …]
Dparse_varlen.c80 struct ipv6hdr *ip6h; in parse_ipv6() local
85 ip6h = data + nh_off; in parse_ipv6()
86 if (ip6h + 1 > data_end) in parse_ipv6()
89 nexthdr = ip6h->nexthdr; in parse_ipv6()
98 ip6h = data + nh_off + ihl_len; in parse_ipv6()
99 if (ip6h + 1 > data_end) in parse_ipv6()
102 nexthdr = ip6h->nexthdr; in parse_ipv6()
/Linux-v5.4/net/netfilter/
Dnf_flow_table_ip.c342 static int nf_flow_nat_ipv6_l4proto(struct sk_buff *skb, struct ipv6hdr *ip6h, in nf_flow_nat_ipv6_l4proto() argument
346 switch (ip6h->nexthdr) { in nf_flow_nat_ipv6_l4proto()
361 struct sk_buff *skb, struct ipv6hdr *ip6h, in nf_flow_snat_ipv6() argument
369 addr = ip6h->saddr; in nf_flow_snat_ipv6()
371 ip6h->saddr = new_addr; in nf_flow_snat_ipv6()
374 addr = ip6h->daddr; in nf_flow_snat_ipv6()
376 ip6h->daddr = new_addr; in nf_flow_snat_ipv6()
382 return nf_flow_nat_ipv6_l4proto(skb, ip6h, thoff, &addr, &new_addr); in nf_flow_snat_ipv6()
386 struct sk_buff *skb, struct ipv6hdr *ip6h, in nf_flow_dnat_ipv6() argument
394 addr = ip6h->daddr; in nf_flow_dnat_ipv6()
[all …]
Dxt_HL.c68 struct ipv6hdr *ip6h; in hl_tg6() local
72 if (skb_ensure_writable(skb, sizeof(*ip6h))) in hl_tg6()
75 ip6h = ipv6_hdr(skb); in hl_tg6()
82 new_hl = ip6h->hop_limit + info->hop_limit; in hl_tg6()
87 new_hl = ip6h->hop_limit - info->hop_limit; in hl_tg6()
92 new_hl = ip6h->hop_limit; in hl_tg6()
96 ip6h->hop_limit = new_hl; in hl_tg6()
Dxt_hl.c47 const struct ipv6hdr *ip6h = ipv6_hdr(skb); in hl_mt6() local
51 return ip6h->hop_limit == info->hop_limit; in hl_mt6()
53 return ip6h->hop_limit != info->hop_limit; in hl_mt6()
55 return ip6h->hop_limit < info->hop_limit; in hl_mt6()
57 return ip6h->hop_limit > info->hop_limit; in hl_mt6()
Dutils.c67 const struct ipv6hdr *ip6h = ipv6_hdr(skb); in nf_ip6_checksum() local
74 if (!csum_ipv6_magic(&ip6h->saddr, &ip6h->daddr, in nf_ip6_checksum()
85 csum_ipv6_magic(&ip6h->saddr, &ip6h->daddr, in nf_ip6_checksum()
101 const struct ipv6hdr *ip6h = ipv6_hdr(skb); in nf_ip6_checksum_partial() local
112 skb->csum = ~csum_unfold(csum_ipv6_magic(&ip6h->saddr, in nf_ip6_checksum_partial()
113 &ip6h->daddr, in nf_ip6_checksum_partial()
/Linux-v5.4/net/ipv6/
Dmcast_snoop.c16 const struct ipv6hdr *ip6h; in ipv6_mc_check_ip6hdr() local
18 unsigned int offset = skb_network_offset(skb) + sizeof(*ip6h); in ipv6_mc_check_ip6hdr()
23 ip6h = ipv6_hdr(skb); in ipv6_mc_check_ip6hdr()
25 if (ip6h->version != 6) in ipv6_mc_check_ip6hdr()
28 len = offset + ntohs(ip6h->payload_len); in ipv6_mc_check_ip6hdr()
39 const struct ipv6hdr *ip6h; in ipv6_mc_check_exthdrs() local
44 ip6h = ipv6_hdr(skb); in ipv6_mc_check_exthdrs()
46 if (ip6h->nexthdr != IPPROTO_HOPOPTS) in ipv6_mc_check_exthdrs()
49 nexthdr = ip6h->nexthdr; in ipv6_mc_check_exthdrs()
50 offset = skb_network_offset(skb) + sizeof(*ip6h); in ipv6_mc_check_exthdrs()
Dip6_udp_tunnel.c89 struct ipv6hdr *ip6h; in udp_tunnel6_xmit_skb() local
104 __skb_push(skb, sizeof(*ip6h)); in udp_tunnel6_xmit_skb()
106 ip6h = ipv6_hdr(skb); in udp_tunnel6_xmit_skb()
107 ip6_flow_hdr(ip6h, prio, label); in udp_tunnel6_xmit_skb()
108 ip6h->payload_len = htons(skb->len); in udp_tunnel6_xmit_skb()
109 ip6h->nexthdr = IPPROTO_UDP; in udp_tunnel6_xmit_skb()
110 ip6h->hop_limit = ttl; in udp_tunnel6_xmit_skb()
111 ip6h->daddr = *daddr; in udp_tunnel6_xmit_skb()
112 ip6h->saddr = *saddr; in udp_tunnel6_xmit_skb()
/Linux-v5.4/lib/
Dtest_blackhole_dev.c30 struct ipv6hdr *ip6h; in test_blackholedev_init() local
56 ip6h = (struct ipv6hdr *)skb_push(skb, sizeof(struct ipv6hdr)); in test_blackholedev_init()
58 ip6h->hop_limit = 32; in test_blackholedev_init()
59 ip6h->payload_len = data_len + sizeof(struct udphdr); in test_blackholedev_init()
60 ip6h->nexthdr = IPPROTO_UDP; in test_blackholedev_init()
61 ip6h->saddr = in6addr_loopback; in test_blackholedev_init()
62 ip6h->daddr = in6addr_loopback; in test_blackholedev_init()
/Linux-v5.4/drivers/infiniband/sw/rxe/
Drxe_icrc.c42 struct ipv6hdr *ip6h = NULL; in rxe_icrc_hdr() local
72 ip6h = (struct ipv6hdr *)pshdr; in rxe_icrc_hdr()
73 udph = (struct udphdr *)(ip6h + 1); in rxe_icrc_hdr()
75 memset(ip6h->flow_lbl, 0xff, sizeof(ip6h->flow_lbl)); in rxe_icrc_hdr()
76 ip6h->priority = 0xf; in rxe_icrc_hdr()
77 ip6h->hop_limit = 0xff; in rxe_icrc_hdr()
/Linux-v5.4/net/ipv6/netfilter/
Dnf_reject_ipv6.c67 struct ipv6hdr *ip6h; in nf_reject_ip6hdr_put() local
74 ip6h = ipv6_hdr(nskb); in nf_reject_ip6hdr_put()
75 ip6_flow_hdr(ip6h, tclass, 0); in nf_reject_ip6hdr_put()
76 ip6h->hop_limit = hoplimit; in nf_reject_ip6hdr_put()
77 ip6h->nexthdr = protocol; in nf_reject_ip6hdr_put()
78 ip6h->saddr = oip6h->daddr; in nf_reject_ip6hdr_put()
79 ip6h->daddr = oip6h->saddr; in nf_reject_ip6hdr_put()
83 return ip6h; in nf_reject_ip6hdr_put()
137 struct ipv6hdr *ip6h; in nf_send_reset6() local
185 ip6h = nf_reject_ip6hdr_put(nskb, oldskb, IPPROTO_TCP, in nf_send_reset6()
[all …]
/Linux-v5.4/net/ipv6/ila/
Dila_common.c35 static __wsum get_csum_diff(struct ipv6hdr *ip6h, struct ila_params *p) in get_csum_diff() argument
37 return get_csum_diff_iaddr(ila_a2i(&ip6h->daddr), p); in get_csum_diff()
78 struct ipv6hdr *ip6h = ipv6_hdr(skb); in ila_csum_adjust_transport() local
81 switch (ip6h->nexthdr) { in ila_csum_adjust_transport()
87 diff = get_csum_diff(ip6h, p); in ila_csum_adjust_transport()
98 diff = get_csum_diff(ip6h, p); in ila_csum_adjust_transport()
112 diff = get_csum_diff(ip6h, p); in ila_csum_adjust_transport()
123 struct ipv6hdr *ip6h = ipv6_hdr(skb); in ila_update_ipv6_locator() local
124 struct ila_addr *iaddr = ila_a2i(&ip6h->daddr); in ila_update_ipv6_locator()
/Linux-v5.4/drivers/net/ethernet/qualcomm/rmnet/
Drmnet_map_data.c121 struct ipv6hdr *ip6h; in rmnet_map_ipv6_dl_csum_trailer() local
125 ip6h = (struct ipv6hdr *)(skb->data); in rmnet_map_ipv6_dl_csum_trailer()
128 csum_field = rmnet_map_get_csum_field(ip6h->nexthdr, txporthdr); in rmnet_map_ipv6_dl_csum_trailer()
137 ~ntohs((__force __be16)ip_compute_csum(ip6h, in rmnet_map_ipv6_dl_csum_trailer()
142 length = (ip6h->nexthdr == IPPROTO_UDP) ? in rmnet_map_ipv6_dl_csum_trailer()
144 ntohs(ip6h->payload_len); in rmnet_map_ipv6_dl_csum_trailer()
145 pseudo_csum = ~(csum_ipv6_magic(&ip6h->saddr, &ip6h->daddr, in rmnet_map_ipv6_dl_csum_trailer()
146 length, ip6h->nexthdr, 0)); in rmnet_map_ipv6_dl_csum_trailer()
155 switch (ip6h->nexthdr) { in rmnet_map_ipv6_dl_csum_trailer()
225 struct ipv6hdr *ip6h = (struct ipv6hdr *)ip6hdr; in rmnet_map_complement_ipv6_txporthdr_csum_field() local
[all …]
/Linux-v5.4/net/sched/
Dact_csum.c189 const struct ipv6hdr *ip6h; in tcf_csum_ipv6_icmp() local
195 ip6h = ipv6_hdr(skb); in tcf_csum_ipv6_icmp()
198 icmp6h->icmp6_cksum = csum_ipv6_magic(&ip6h->saddr, &ip6h->daddr, in tcf_csum_ipv6_icmp()
235 const struct ipv6hdr *ip6h; in tcf_csum_ipv6_tcp() local
244 ip6h = ipv6_hdr(skb); in tcf_csum_ipv6_tcp()
247 tcph->check = csum_ipv6_magic(&ip6h->saddr, &ip6h->daddr, in tcf_csum_ipv6_tcp()
316 const struct ipv6hdr *ip6h; in tcf_csum_ipv6_udp() local
333 ip6h = ipv6_hdr(skb); in tcf_csum_ipv6_udp()
354 udph->check = csum_ipv6_magic(&ip6h->saddr, &ip6h->daddr, ul, in tcf_csum_ipv6_udp()
488 struct ipv6hdr *ip6h; in tcf_csum_ipv6() local
[all …]
/Linux-v5.4/drivers/net/ipvlan/
Dipvlan_core.c172 struct ipv6hdr *ip6h; in ipvlan_get_L3_hdr() local
174 if (unlikely(!pskb_may_pull(skb, sizeof(*ip6h)))) in ipvlan_get_L3_hdr()
177 ip6h = ipv6_hdr(skb); in ipvlan_get_L3_hdr()
178 if (ip6h->version != 6) in ipvlan_get_L3_hdr()
182 lyr3h = ip6h; in ipvlan_get_L3_hdr()
184 if (ipv6_addr_any(&ip6h->saddr) && in ipvlan_get_L3_hdr()
185 ip6h->nexthdr == NEXTHDR_ICMP) { in ipvlan_get_L3_hdr()
188 if (unlikely(!pskb_may_pull(skb, sizeof(*ip6h) + sizeof(*icmph)))) in ipvlan_get_L3_hdr()
191 ip6h = ipv6_hdr(skb); in ipvlan_get_L3_hdr()
192 icmph = (struct icmp6hdr *)(ip6h + 1); in ipvlan_get_L3_hdr()
[all …]
/Linux-v5.4/tools/testing/selftests/bpf/
Dtest_flow_dissector.c183 static void ipv6_set_dsfield(struct ipv6hdr *ip6h, uint8_t dsfield) in ipv6_set_dsfield() argument
185 uint16_t val, *ptr = (uint16_t *)ip6h; in ipv6_set_dsfield()
198 struct ipv6hdr *ip6h = header; in build_ipv6_header() local
200 ip6h->version = 6; in build_ipv6_header()
201 ip6h->payload_len = htons(payload_len); in build_ipv6_header()
202 ip6h->nexthdr = proto; in build_ipv6_header()
203 ip6h->hop_limit = 8; in build_ipv6_header()
204 ipv6_set_dsfield(ip6h, dsfield); in build_ipv6_header()
206 memcpy(&ip6h->saddr, &src->sin6_addr, sizeof(ip6h->saddr)); in build_ipv6_header()
207 memcpy(&ip6h->daddr, &dst->sin6_addr, sizeof(ip6h->daddr)); in build_ipv6_header()
[all …]

123