pckt 207 tools/testing/selftests/bpf/progs/test_l4lb.c static __always_inline __u32 get_packet_hash(struct packet_description *pckt, pckt 211 tools/testing/selftests/bpf/progs/test_l4lb.c return jhash_2words(jhash(pckt->srcv6, 16, MAX_VIPS), pckt 212 tools/testing/selftests/bpf/progs/test_l4lb.c pckt->ports, CH_RINGS_SIZE); pckt 214 tools/testing/selftests/bpf/progs/test_l4lb.c return jhash_2words(pckt->src, pckt->ports, CH_RINGS_SIZE); pckt 218 tools/testing/selftests/bpf/progs/test_l4lb.c struct packet_description *pckt, pckt 222 tools/testing/selftests/bpf/progs/test_l4lb.c __u32 hash = get_packet_hash(pckt, is_ipv6) % RING_SIZE; pckt 237 tools/testing/selftests/bpf/progs/test_l4lb.c struct packet_description *pckt) pckt 251 tools/testing/selftests/bpf/progs/test_l4lb.c pckt->proto = ip6h->nexthdr; pckt 252 tools/testing/selftests/bpf/progs/test_l4lb.c pckt->flags |= F_ICMP; pckt 253 tools/testing/selftests/bpf/progs/test_l4lb.c memcpy(pckt->srcv6, ip6h->daddr.s6_addr32, 16); pckt 254 tools/testing/selftests/bpf/progs/test_l4lb.c memcpy(pckt->dstv6, ip6h->saddr.s6_addr32, 16); pckt 259 tools/testing/selftests/bpf/progs/test_l4lb.c struct packet_description *pckt) pckt 276 tools/testing/selftests/bpf/progs/test_l4lb.c pckt->proto = iph->protocol; pckt 277 tools/testing/selftests/bpf/progs/test_l4lb.c pckt->flags |= F_ICMP; pckt 278 tools/testing/selftests/bpf/progs/test_l4lb.c pckt->src = iph->daddr; pckt 279 tools/testing/selftests/bpf/progs/test_l4lb.c pckt->dst = iph->saddr; pckt 284 tools/testing/selftests/bpf/progs/test_l4lb.c struct packet_description *pckt) pckt 292 tools/testing/selftests/bpf/progs/test_l4lb.c if (!(pckt->flags & F_ICMP)) { pckt 293 tools/testing/selftests/bpf/progs/test_l4lb.c pckt->port16[0] = udp->source; pckt 294 tools/testing/selftests/bpf/progs/test_l4lb.c pckt->port16[1] = udp->dest; pckt 296 tools/testing/selftests/bpf/progs/test_l4lb.c pckt->port16[0] = udp->dest; pckt 297 tools/testing/selftests/bpf/progs/test_l4lb.c pckt->port16[1] = udp->source; pckt 303 tools/testing/selftests/bpf/progs/test_l4lb.c struct packet_description *pckt) pckt 312 tools/testing/selftests/bpf/progs/test_l4lb.c pckt->flags |= F_SYN_SET; pckt 314 tools/testing/selftests/bpf/progs/test_l4lb.c if (!(pckt->flags & F_ICMP)) { pckt 315 tools/testing/selftests/bpf/progs/test_l4lb.c pckt->port16[0] = tcp->source; pckt 316 tools/testing/selftests/bpf/progs/test_l4lb.c pckt->port16[1] = tcp->dest; pckt 318 tools/testing/selftests/bpf/progs/test_l4lb.c pckt->port16[0] = tcp->dest; pckt 319 tools/testing/selftests/bpf/progs/test_l4lb.c pckt->port16[1] = tcp->source; pckt 328 tools/testing/selftests/bpf/progs/test_l4lb.c struct packet_description pckt = {}; pckt 356 tools/testing/selftests/bpf/progs/test_l4lb.c pckt.proto = protocol; pckt 362 tools/testing/selftests/bpf/progs/test_l4lb.c action = parse_icmpv6(data, data_end, off, &pckt); pckt 367 tools/testing/selftests/bpf/progs/test_l4lb.c memcpy(pckt.srcv6, ip6h->saddr.s6_addr32, 16); pckt 368 tools/testing/selftests/bpf/progs/test_l4lb.c memcpy(pckt.dstv6, ip6h->daddr.s6_addr32, 16); pckt 378 tools/testing/selftests/bpf/progs/test_l4lb.c pckt.proto = protocol; pckt 385 tools/testing/selftests/bpf/progs/test_l4lb.c action = parse_icmp(data, data_end, off, &pckt); pckt 390 tools/testing/selftests/bpf/progs/test_l4lb.c pckt.src = iph->saddr; pckt 391 tools/testing/selftests/bpf/progs/test_l4lb.c pckt.dst = iph->daddr; pckt 394 tools/testing/selftests/bpf/progs/test_l4lb.c protocol = pckt.proto; pckt 397 tools/testing/selftests/bpf/progs/test_l4lb.c if (!parse_tcp(data, off, data_end, &pckt)) pckt 400 tools/testing/selftests/bpf/progs/test_l4lb.c if (!parse_udp(data, off, data_end, &pckt)) pckt 407 tools/testing/selftests/bpf/progs/test_l4lb.c memcpy(vip.daddr.v6, pckt.dstv6, 16); pckt 409 tools/testing/selftests/bpf/progs/test_l4lb.c vip.daddr.v4 = pckt.dst; pckt 411 tools/testing/selftests/bpf/progs/test_l4lb.c vip.dport = pckt.port16[1]; pckt 412 tools/testing/selftests/bpf/progs/test_l4lb.c vip.protocol = pckt.proto; pckt 419 tools/testing/selftests/bpf/progs/test_l4lb.c pckt.port16[1] = 0; pckt 423 tools/testing/selftests/bpf/progs/test_l4lb.c pckt.port16[0] = 0; pckt 425 tools/testing/selftests/bpf/progs/test_l4lb.c if (!get_packet_dst(&dst, &pckt, vip_info, is_ipv6)) pckt 203 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c static __u32 get_packet_hash(struct packet_description *pckt, pckt 207 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c return jhash_2words(jhash(pckt->srcv6, 16, MAX_VIPS), pckt 208 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c pckt->ports, CH_RINGS_SIZE); pckt 210 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c return jhash_2words(pckt->src, pckt->ports, CH_RINGS_SIZE); pckt 214 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c struct packet_description *pckt, pckt 218 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c __u32 hash = get_packet_hash(pckt, is_ipv6); pckt 237 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c struct packet_description *pckt) pckt 251 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c pckt->proto = ip6h->nexthdr; pckt 252 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c pckt->flags |= F_ICMP; pckt 253 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c memcpy(pckt->srcv6, ip6h->daddr.s6_addr32, 16); pckt 254 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c memcpy(pckt->dstv6, ip6h->saddr.s6_addr32, 16); pckt 259 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c struct packet_description *pckt) pckt 276 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c pckt->proto = iph->protocol; pckt 277 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c pckt->flags |= F_ICMP; pckt 278 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c pckt->src = iph->daddr; pckt 279 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c pckt->dst = iph->saddr; pckt 284 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c struct packet_description *pckt) pckt 292 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c if (!(pckt->flags & F_ICMP)) { pckt 293 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c pckt->port16[0] = udp->source; pckt 294 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c pckt->port16[1] = udp->dest; pckt 296 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c pckt->port16[0] = udp->dest; pckt 297 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c pckt->port16[1] = udp->source; pckt 303 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c struct packet_description *pckt) pckt 312 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c pckt->flags |= F_SYN_SET; pckt 314 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c if (!(pckt->flags & F_ICMP)) { pckt 315 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c pckt->port16[0] = tcp->source; pckt 316 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c pckt->port16[1] = tcp->dest; pckt 318 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c pckt->port16[0] = tcp->dest; pckt 319 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c pckt->port16[1] = tcp->source; pckt 328 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c struct packet_description pckt = {}; pckt 356 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c pckt.proto = protocol; pckt 362 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c action = parse_icmpv6(data, data_end, off, &pckt); pckt 367 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c memcpy(pckt.srcv6, ip6h->saddr.s6_addr32, 16); pckt 368 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c memcpy(pckt.dstv6, ip6h->daddr.s6_addr32, 16); pckt 378 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c pckt.proto = protocol; pckt 385 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c action = parse_icmp(data, data_end, off, &pckt); pckt 390 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c pckt.src = iph->saddr; pckt 391 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c pckt.dst = iph->daddr; pckt 394 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c protocol = pckt.proto; pckt 397 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c if (!parse_tcp(data, off, data_end, &pckt)) pckt 400 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c if (!parse_udp(data, off, data_end, &pckt)) pckt 407 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c memcpy(vip.daddr.v6, pckt.dstv6, 16); pckt 409 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c vip.daddr.v4 = pckt.dst; pckt 411 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c vip.dport = pckt.port16[1]; pckt 412 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c vip.protocol = pckt.proto; pckt 419 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c pckt.port16[1] = 0; pckt 423 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c pckt.port16[0] = 0; pckt 425 tools/testing/selftests/bpf/progs/test_l4lb_noinline.c if (!get_packet_dst(&dst, &pckt, vip_info, is_ipv6)) pckt 233 tools/testing/selftests/bpf/progs/test_xdp_noinline.c bool is_ipv6, struct packet_description *pckt) pckt 236 tools/testing/selftests/bpf/progs/test_xdp_noinline.c bool is_icmp = !((pckt->flags & (1 << 0)) == 0); pckt 244 tools/testing/selftests/bpf/progs/test_xdp_noinline.c pckt->flow.port16[0] = udp->source; pckt 245 tools/testing/selftests/bpf/progs/test_xdp_noinline.c pckt->flow.port16[1] = udp->dest; pckt 247 tools/testing/selftests/bpf/progs/test_xdp_noinline.c pckt->flow.port16[0] = udp->dest; pckt 248 tools/testing/selftests/bpf/progs/test_xdp_noinline.c pckt->flow.port16[1] = udp->source; pckt 255 tools/testing/selftests/bpf/progs/test_xdp_noinline.c bool is_ipv6, struct packet_description *pckt) pckt 258 tools/testing/selftests/bpf/progs/test_xdp_noinline.c bool is_icmp = !((pckt->flags & (1 << 0)) == 0); pckt 266 tools/testing/selftests/bpf/progs/test_xdp_noinline.c pckt->flags |= (1 << 1); pckt 268 tools/testing/selftests/bpf/progs/test_xdp_noinline.c pckt->flow.port16[0] = tcp->source; pckt 269 tools/testing/selftests/bpf/progs/test_xdp_noinline.c pckt->flow.port16[1] = tcp->dest; pckt 271 tools/testing/selftests/bpf/progs/test_xdp_noinline.c pckt->flow.port16[0] = tcp->dest; pckt 272 tools/testing/selftests/bpf/progs/test_xdp_noinline.c pckt->flow.port16[1] = tcp->source; pckt 279 tools/testing/selftests/bpf/progs/test_xdp_noinline.c struct packet_description *pckt, pckt 307 tools/testing/selftests/bpf/progs/test_xdp_noinline.c ip_suffix = pckt->flow.srcv6[3] ^ pckt->flow.port16[0]; pckt 322 tools/testing/selftests/bpf/progs/test_xdp_noinline.c struct packet_description *pckt, pckt 326 tools/testing/selftests/bpf/progs/test_xdp_noinline.c __u32 ip_suffix = bpf_ntohs(pckt->flow.port16[0]); pckt 336 tools/testing/selftests/bpf/progs/test_xdp_noinline.c ip_suffix ^= pckt->flow.src; pckt 485 tools/testing/selftests/bpf/progs/test_xdp_noinline.c struct packet_description *pckt) pckt 501 tools/testing/selftests/bpf/progs/test_xdp_noinline.c pckt->flow.proto = ip6h->nexthdr; pckt 502 tools/testing/selftests/bpf/progs/test_xdp_noinline.c pckt->flags |= (1 << 0); pckt 503 tools/testing/selftests/bpf/progs/test_xdp_noinline.c memcpy(pckt->flow.srcv6, ip6h->daddr.in6_u.u6_addr32, 16); pckt 504 tools/testing/selftests/bpf/progs/test_xdp_noinline.c memcpy(pckt->flow.dstv6, ip6h->saddr.in6_u.u6_addr32, 16); pckt 510 tools/testing/selftests/bpf/progs/test_xdp_noinline.c struct packet_description *pckt) pckt 528 tools/testing/selftests/bpf/progs/test_xdp_noinline.c pckt->flow.proto = iph->protocol; pckt 529 tools/testing/selftests/bpf/progs/test_xdp_noinline.c pckt->flags |= (1 << 0); pckt 530 tools/testing/selftests/bpf/progs/test_xdp_noinline.c pckt->flow.src = iph->daddr; pckt 531 tools/testing/selftests/bpf/progs/test_xdp_noinline.c pckt->flow.dst = iph->saddr; pckt 536 tools/testing/selftests/bpf/progs/test_xdp_noinline.c __u32 get_packet_hash(struct packet_description *pckt, pckt 540 tools/testing/selftests/bpf/progs/test_xdp_noinline.c return jhash_2words(jhash(pckt->flow.srcv6, 16, 12), pckt 541 tools/testing/selftests/bpf/progs/test_xdp_noinline.c pckt->flow.ports, 24); pckt 543 tools/testing/selftests/bpf/progs/test_xdp_noinline.c return jhash_2words(pckt->flow.src, pckt->flow.ports, pckt 549 tools/testing/selftests/bpf/progs/test_xdp_noinline.c struct packet_description *pckt, pckt 561 tools/testing/selftests/bpf/progs/test_xdp_noinline.c pckt->flow.port16[0] = pckt->flow.port16[1]; pckt 562 tools/testing/selftests/bpf/progs/test_xdp_noinline.c memset(pckt->flow.srcv6, 0, 16); pckt 564 tools/testing/selftests/bpf/progs/test_xdp_noinline.c hash = get_packet_hash(pckt, hash_16bytes); pckt 592 tools/testing/selftests/bpf/progs/test_xdp_noinline.c if (pckt->flow.proto == IPPROTO_UDP) pckt 595 tools/testing/selftests/bpf/progs/test_xdp_noinline.c bpf_map_update_elem(lru_map, &pckt->flow, &new_dst_lru, 0); pckt 602 tools/testing/selftests/bpf/progs/test_xdp_noinline.c struct packet_description *pckt, pckt 610 tools/testing/selftests/bpf/progs/test_xdp_noinline.c dst_lru = bpf_map_lookup_elem(lru_map, &pckt->flow); pckt 613 tools/testing/selftests/bpf/progs/test_xdp_noinline.c if (pckt->flow.proto == IPPROTO_UDP) { pckt 628 tools/testing/selftests/bpf/progs/test_xdp_noinline.c static int process_l3_headers_v6(struct packet_description *pckt, pckt 642 tools/testing/selftests/bpf/progs/test_xdp_noinline.c pckt->flow.proto = *protocol; pckt 648 tools/testing/selftests/bpf/progs/test_xdp_noinline.c action = parse_icmpv6(data, data_end, off, pckt); pckt 652 tools/testing/selftests/bpf/progs/test_xdp_noinline.c memcpy(pckt->flow.srcv6, ip6h->saddr.in6_u.u6_addr32, 16); pckt 653 tools/testing/selftests/bpf/progs/test_xdp_noinline.c memcpy(pckt->flow.dstv6, ip6h->daddr.in6_u.u6_addr32, 16); pckt 659 tools/testing/selftests/bpf/progs/test_xdp_noinline.c static int process_l3_headers_v4(struct packet_description *pckt, pckt 674 tools/testing/selftests/bpf/progs/test_xdp_noinline.c pckt->flow.proto = *protocol; pckt 680 tools/testing/selftests/bpf/progs/test_xdp_noinline.c action = parse_icmp(data, data_end, off, pckt); pckt 684 tools/testing/selftests/bpf/progs/test_xdp_noinline.c pckt->flow.src = iph->saddr; pckt 685 tools/testing/selftests/bpf/progs/test_xdp_noinline.c pckt->flow.dst = iph->daddr; pckt 696 tools/testing/selftests/bpf/progs/test_xdp_noinline.c struct packet_description pckt = { }; pckt 713 tools/testing/selftests/bpf/progs/test_xdp_noinline.c action = process_l3_headers_v6(&pckt, &protocol, off, pckt 716 tools/testing/selftests/bpf/progs/test_xdp_noinline.c action = process_l3_headers_v4(&pckt, &protocol, off, pckt 720 tools/testing/selftests/bpf/progs/test_xdp_noinline.c protocol = pckt.flow.proto; pckt 722 tools/testing/selftests/bpf/progs/test_xdp_noinline.c if (!parse_tcp(data, data_end, is_ipv6, &pckt)) pckt 725 tools/testing/selftests/bpf/progs/test_xdp_noinline.c if (!parse_udp(data, data_end, is_ipv6, &pckt)) pckt 732 tools/testing/selftests/bpf/progs/test_xdp_noinline.c memcpy(vip.vipv6, pckt.flow.dstv6, 16); pckt 734 tools/testing/selftests/bpf/progs/test_xdp_noinline.c vip.vip = pckt.flow.dst; pckt 735 tools/testing/selftests/bpf/progs/test_xdp_noinline.c vip.port = pckt.flow.port16[1]; pckt 736 tools/testing/selftests/bpf/progs/test_xdp_noinline.c vip.proto = pckt.flow.proto; pckt 744 tools/testing/selftests/bpf/progs/test_xdp_noinline.c pckt.flow.port16[1] = 0; pckt 754 tools/testing/selftests/bpf/progs/test_xdp_noinline.c pckt.flow.port16[0] = 0; pckt 755 tools/testing/selftests/bpf/progs/test_xdp_noinline.c if (!(pckt.flags & (1 << 1)) && !(vip_info->flags & (1 << 1))) pckt 756 tools/testing/selftests/bpf/progs/test_xdp_noinline.c connection_table_lookup(&dst, &pckt, lru_map); pckt 759 tools/testing/selftests/bpf/progs/test_xdp_noinline.c if (pckt.flow.proto == IPPROTO_TCP) { pckt 765 tools/testing/selftests/bpf/progs/test_xdp_noinline.c if (pckt.flags & (1 << 1)) pckt 770 tools/testing/selftests/bpf/progs/test_xdp_noinline.c if (!get_packet_dst(&dst, &pckt, vip_info, is_ipv6, lru_map)) pckt 779 tools/testing/selftests/bpf/progs/test_xdp_noinline.c if (!encap_v6(xdp, cval, &pckt, dst, pkt_bytes)) pckt 782 tools/testing/selftests/bpf/progs/test_xdp_noinline.c if (!encap_v4(xdp, cval, &pckt, dst, pkt_bytes))