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