1 /* Copyright (c) 2016 Facebook
2  *
3  * This program is free software; you can redistribute it and/or
4  * modify it under the terms of version 2 of the GNU General Public
5  * License as published by the Free Software Foundation.
6  */
7 #ifndef _SAMPLES_BPF_XDP_TX_IPTNL_COMMON_H
8 #define _SAMPLES_BPF_XDP_TX_IPTNL_COMMON_H
9 
10 #include <linux/types.h>
11 
12 #define MAX_IPTNL_ENTRIES 256U
13 
14 struct vip {
15 	union {
16 		__u32 v6[4];
17 		__u32 v4;
18 	} daddr;
19 	__u16 dport;
20 	__u16 family;
21 	__u8 protocol;
22 };
23 
24 struct iptnl_info {
25 	union {
26 		__u32 v6[4];
27 		__u32 v4;
28 	} saddr;
29 	union {
30 		__u32 v6[4];
31 		__u32 v4;
32 	} daddr;
33 	__u16 family;
34 	__u8 dmac[6];
35 };
36 
37 #endif
38