1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Copyright (c) 2018 Facebook */
3 
4 #ifndef __TEST_SELECT_REUSEPORT_COMMON_H
5 #define __TEST_SELECT_REUSEPORT_COMMON_H
6 
7 #include <linux/types.h>
8 
9 enum result {
10 	DROP_ERR_INNER_MAP,
11 	DROP_ERR_SKB_DATA,
12 	DROP_ERR_SK_SELECT_REUSEPORT,
13 	DROP_MISC,
14 	PASS,
15 	PASS_ERR_SK_SELECT_REUSEPORT,
16 	NR_RESULTS,
17 };
18 
19 struct cmd {
20 	__u32 reuseport_index;
21 	__u32 pass_on_failure;
22 };
23 
24 struct data_check {
25 	__u32 ip_protocol;
26 	__u32 skb_addrs[8];
27 	__u16 skb_ports[2];
28 	__u16 eth_protocol;
29 	__u8  bind_inany;
30 	__u8  equal_check_end[0];
31 
32 	__u32 len;
33 	__u32 hash;
34 };
35 
36 #endif
37