tc_ife.h 783 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #ifndef __UAPI_TC_IFE_H
  2. #define __UAPI_TC_IFE_H
  3. #include <linux/types.h>
  4. #include <linux/pkt_cls.h>
  5. #define TCA_ACT_IFE 25
  6. /* Flag bits for now just encoding/decoding; mutually exclusive */
  7. #define IFE_ENCODE 1
  8. #define IFE_DECODE 0
  9. struct tc_ife {
  10. tc_gen;
  11. __u16 flags;
  12. };
  13. /*XXX: We need to encode the total number of bytes consumed */
  14. enum {
  15. TCA_IFE_UNSPEC,
  16. TCA_IFE_PARMS,
  17. TCA_IFE_TM,
  18. TCA_IFE_DMAC,
  19. TCA_IFE_SMAC,
  20. TCA_IFE_TYPE,
  21. TCA_IFE_METALST,
  22. TCA_IFE_PAD,
  23. __TCA_IFE_MAX
  24. };
  25. #define TCA_IFE_MAX (__TCA_IFE_MAX - 1)
  26. #define IFE_META_SKBMARK 1
  27. #define IFE_META_HASHID 2
  28. #define IFE_META_PRIO 3
  29. #define IFE_META_QMAP 4
  30. #define IFE_META_TCINDEX 5
  31. /*Can be overridden at runtime by module option*/
  32. #define __IFE_META_MAX 6
  33. #define IFE_META_MAX (__IFE_META_MAX - 1)
  34. #endif