Merge tag 'trace-printf-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace...
[drm/drm-misc.git] / tools / testing / selftests / bpf / xdp_metadata.h
blob87318ad1117a1d677af121f11778178532e2a562
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #pragma once
4 #ifndef ETH_P_IP
5 #define ETH_P_IP 0x0800
6 #endif
8 #ifndef ETH_P_IPV6
9 #define ETH_P_IPV6 0x86DD
10 #endif
12 #ifndef ETH_P_8021Q
13 #define ETH_P_8021Q 0x8100
14 #endif
16 #ifndef ETH_P_8021AD
17 #define ETH_P_8021AD 0x88A8
18 #endif
20 #ifndef BIT
21 #define BIT(nr) (1 << (nr))
22 #endif
24 /* Non-existent checksum status */
25 #define XDP_CHECKSUM_MAGIC BIT(2)
27 enum 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),
33 struct xdp_meta {
34 union {
35 __u64 rx_timestamp;
36 __s32 rx_timestamp_err;
38 __u64 xdp_timestamp;
39 __u32 rx_hash;
40 union {
41 __u32 rx_hash_type;
42 __s32 rx_hash_err;
44 union {
45 struct {
46 __be16 rx_vlan_proto;
47 __u16 rx_vlan_tci;
49 __s32 rx_vlan_tag_err;
51 enum xdp_meta_field hint_valid;