net_shared.h 843 B

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