tc_pedit.h 798 B

123456789101112131415161718192021222324252627282930313233343536
  1. #ifndef __LINUX_TC_PED_H
  2. #define __LINUX_TC_PED_H
  3. #include <linux/types.h>
  4. #include <linux/pkt_cls.h>
  5. #define TCA_ACT_PEDIT 7
  6. enum {
  7. TCA_PEDIT_UNSPEC,
  8. TCA_PEDIT_TM,
  9. TCA_PEDIT_PARMS,
  10. TCA_PEDIT_PAD,
  11. __TCA_PEDIT_MAX
  12. };
  13. #define TCA_PEDIT_MAX (__TCA_PEDIT_MAX - 1)
  14. struct tc_pedit_key {
  15. __u32 mask; /* AND */
  16. __u32 val; /*XOR */
  17. __u32 off; /*offset */
  18. __u32 at;
  19. __u32 offmask;
  20. __u32 shift;
  21. };
  22. struct tc_pedit_sel {
  23. tc_gen;
  24. unsigned char nkeys;
  25. unsigned char flags;
  26. struct tc_pedit_key keys[0];
  27. };
  28. #define tc_pedit tc_pedit_sel
  29. #endif