xref: /openbmc/linux/tools/testing/selftests/bpf/test_iptunnel_common.h (revision 75bf465f0bc33e9b776a46d6a1b9b990f5fb7c37)
1*25763b3cSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
28d48f5e4SAlexei Starovoitov /* Copyright (c) 2016 Facebook
38d48f5e4SAlexei Starovoitov  */
48d48f5e4SAlexei Starovoitov #ifndef _TEST_IPTNL_COMMON_H
58d48f5e4SAlexei Starovoitov #define _TEST_IPTNL_COMMON_H
68d48f5e4SAlexei Starovoitov 
78d48f5e4SAlexei Starovoitov #include <linux/types.h>
88d48f5e4SAlexei Starovoitov 
98d48f5e4SAlexei Starovoitov #define MAX_IPTNL_ENTRIES 256U
108d48f5e4SAlexei Starovoitov 
118d48f5e4SAlexei Starovoitov struct vip {
128d48f5e4SAlexei Starovoitov 	union {
138d48f5e4SAlexei Starovoitov 		__u32 v6[4];
148d48f5e4SAlexei Starovoitov 		__u32 v4;
158d48f5e4SAlexei Starovoitov 	} daddr;
168d48f5e4SAlexei Starovoitov 	__u16 dport;
178d48f5e4SAlexei Starovoitov 	__u16 family;
188d48f5e4SAlexei Starovoitov 	__u8 protocol;
198d48f5e4SAlexei Starovoitov };
208d48f5e4SAlexei Starovoitov 
218d48f5e4SAlexei Starovoitov struct iptnl_info {
228d48f5e4SAlexei Starovoitov 	union {
238d48f5e4SAlexei Starovoitov 		__u32 v6[4];
248d48f5e4SAlexei Starovoitov 		__u32 v4;
258d48f5e4SAlexei Starovoitov 	} saddr;
268d48f5e4SAlexei Starovoitov 	union {
278d48f5e4SAlexei Starovoitov 		__u32 v6[4];
288d48f5e4SAlexei Starovoitov 		__u32 v4;
298d48f5e4SAlexei Starovoitov 	} daddr;
308d48f5e4SAlexei Starovoitov 	__u16 family;
318d48f5e4SAlexei Starovoitov 	__u8 dmac[6];
328d48f5e4SAlexei Starovoitov };
338d48f5e4SAlexei Starovoitov 
348d48f5e4SAlexei Starovoitov #endif
35