53 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#pragma once3 4#ifndef ETH_P_IP5#define ETH_P_IP 0x08006#endif7 8#ifndef ETH_P_IPV69#define ETH_P_IPV6 0x86DD10#endif11 12#ifndef ETH_P_8021Q13#define ETH_P_8021Q 0x810014#endif15 16#ifndef ETH_P_8021AD17#define ETH_P_8021AD 0x88A818#endif19 20#ifndef BIT21#define BIT(nr) (1 << (nr))22#endif23 24/* Non-existent checksum status */25#define XDP_CHECKSUM_MAGIC BIT(2)26 27enum xdp_meta_field {28 XDP_META_FIELD_TS = BIT(0),29 XDP_META_FIELD_RSS = BIT(1),30 XDP_META_FIELD_VLAN_TAG = BIT(2),31};32 33struct xdp_meta {34 union {35 __u64 rx_timestamp;36 __s32 rx_timestamp_err;37 };38 __u64 xdp_timestamp;39 __u32 rx_hash;40 union {41 __u32 rx_hash_type;42 __s32 rx_hash_err;43 };44 union {45 struct {46 __be16 rx_vlan_proto;47 __u16 rx_vlan_tci;48 };49 __s32 rx_vlan_tag_err;50 };51 enum xdp_meta_field hint_valid;52};53