1 // SPDX-License-Identifier: GPL-2.0 2 #ifndef _NET_SHARED_H 3 #define _NET_SHARED_H 4 5 #define AF_INET 2 6 #define AF_INET6 10 7 8 #define ETH_ALEN 6 9 #define ETH_P_802_3_MIN 0x0600 10 #define ETH_P_8021Q 0x8100 11 #define ETH_P_8021AD 0x88A8 12 #define ETH_P_IP 0x0800 13 #define ETH_P_IPV6 0x86DD 14 #define ETH_P_ARP 0x0806 15 #define IPPROTO_ICMPV6 58 16 17 #define TC_ACT_OK 0 18 #define TC_ACT_SHOT 2 19 20 #define IFNAMSIZ 16 21 22 #if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && \ 23 __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ 24 #define bpf_ntohs(x) __builtin_bswap16(x) 25 #define bpf_htons(x) __builtin_bswap16(x) 26 #elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && \ 27 __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ 28 #define bpf_ntohs(x) (x) 29 #define bpf_htons(x) (x) 30 #else 31 # error "Endianness detection needs to be set up for your compiler?!" 32 #endif 33 34 #endif 35