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