mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-11 08:18:47 +00:00
91134d849a
This patch add tests for the new BPF_PROG_TYPE_SK_REUSEPORT. The tests cover: - IPv4/IPv6 + TCP/UDP - TCP syncookie - TCP fastopen - Cases when the bpf_sk_select_reuseport() returning errors - Cases when the bpf prog returns SK_DROP - Values from sk_reuseport_md - outer_map => reuseport_array The test depends on commit 3eee1f75f2b9 ("bpf: fix bpf_skb_load_bytes_relative pkt length check") Signed-off-by: Martin KaFai Lau <kafai@fb.com> Acked-by: Alexei Starovoitov <ast@kernel.org> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
37 lines
587 B
C
37 lines
587 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/* Copyright (c) 2018 Facebook */
|
|
|
|
#ifndef __TEST_SELECT_REUSEPORT_COMMON_H
|
|
#define __TEST_SELECT_REUSEPORT_COMMON_H
|
|
|
|
#include <linux/types.h>
|
|
|
|
enum result {
|
|
DROP_ERR_INNER_MAP,
|
|
DROP_ERR_SKB_DATA,
|
|
DROP_ERR_SK_SELECT_REUSEPORT,
|
|
DROP_MISC,
|
|
PASS,
|
|
PASS_ERR_SK_SELECT_REUSEPORT,
|
|
NR_RESULTS,
|
|
};
|
|
|
|
struct cmd {
|
|
__u32 reuseport_index;
|
|
__u32 pass_on_failure;
|
|
};
|
|
|
|
struct data_check {
|
|
__u32 ip_protocol;
|
|
__u32 skb_addrs[8];
|
|
__u16 skb_ports[2];
|
|
__u16 eth_protocol;
|
|
__u8 bind_inany;
|
|
__u8 equal_check_end[0];
|
|
|
|
__u32 len;
|
|
__u32 hash;
|
|
};
|
|
|
|
#endif
|