/* SPDX-License-Identifier: GPL-2.0 */ #pragma once #ifndef ETH_P_IP #define ETH_P_IP 0x0800 #endif #ifndef ETH_P_IPV6 #define ETH_P_IPV6 0x86DD #endif #ifndef ETH_P_8021Q #define ETH_P_8021Q 0x8100 #endif #ifndef ETH_P_8021AD #define ETH_P_8021AD 0x88A8 #endif #ifndef BIT #define BIT(nr) (1 << (nr)) #endif /* Non-existent checksum status */ #define XDP_CHECKSUM_MAGIC BIT(2) enum xdp_meta_field { XDP_META_FIELD_TS = BIT(0), XDP_META_FIELD_RSS = BIT(1), XDP_META_FIELD_VLAN_TAG = BIT(2), }; struct xdp_meta { union { __u64 rx_timestamp; __s32 rx_timestamp_err; }; __u64 xdp_timestamp; __u32 rx_hash; union { __u32 rx_hash_type; __s32 rx_hash_err; }; union { struct { __be16 rx_vlan_proto; __u16 rx_vlan_tci; }; __s32 rx_vlan_tag_err; }; enum xdp_meta_field hint_valid; };