18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 28c2ecf20Sopenharmony_ci/* Copyright (c) 2016 Facebook 38c2ecf20Sopenharmony_ci */ 48c2ecf20Sopenharmony_ci#ifndef _SAMPLES_BPF_XDP_TX_IPTNL_COMMON_H 58c2ecf20Sopenharmony_ci#define _SAMPLES_BPF_XDP_TX_IPTNL_COMMON_H 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci#include <linux/types.h> 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#define MAX_IPTNL_ENTRIES 256U 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_cistruct vip { 128c2ecf20Sopenharmony_ci union { 138c2ecf20Sopenharmony_ci __u32 v6[4]; 148c2ecf20Sopenharmony_ci __u32 v4; 158c2ecf20Sopenharmony_ci } daddr; 168c2ecf20Sopenharmony_ci __u16 dport; 178c2ecf20Sopenharmony_ci __u16 family; 188c2ecf20Sopenharmony_ci __u8 protocol; 198c2ecf20Sopenharmony_ci}; 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_cistruct iptnl_info { 228c2ecf20Sopenharmony_ci union { 238c2ecf20Sopenharmony_ci __u32 v6[4]; 248c2ecf20Sopenharmony_ci __u32 v4; 258c2ecf20Sopenharmony_ci } saddr; 268c2ecf20Sopenharmony_ci union { 278c2ecf20Sopenharmony_ci __u32 v6[4]; 288c2ecf20Sopenharmony_ci __u32 v4; 298c2ecf20Sopenharmony_ci } daddr; 308c2ecf20Sopenharmony_ci __u16 family; 318c2ecf20Sopenharmony_ci __u8 dmac[6]; 328c2ecf20Sopenharmony_ci}; 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci#endif 35