17e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger#ifndef __LINUX_TC_PED_H
27e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger#define __LINUX_TC_PED_H
37e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger
467881151423f1173ddc31e4f27d736044c2c9a96Stephen Hemminger#include <linux/types.h>
57e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger#include <linux/pkt_cls.h>
67e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger
77e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger#define TCA_ACT_PEDIT 7
87e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger
9ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerenum {
107e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger	TCA_PEDIT_UNSPEC,
117e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger	TCA_PEDIT_TM,
127e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger	TCA_PEDIT_PARMS,
137e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger	__TCA_PEDIT_MAX
147e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger};
157e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger#define TCA_PEDIT_MAX (__TCA_PEDIT_MAX - 1)
167e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger
17ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerstruct tc_pedit_key {
187e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger	__u32           mask;  /* AND */
197e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger	__u32           val;   /*XOR */
207e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger	__u32           off;  /*offset */
217e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger	__u32           at;
227e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger	__u32           offmask;
237e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger	__u32           shift;
247e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger};
257e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger
26ab322673298bd0b8927cdd9d11f3d36af5941b93Stephen Hemmingerstruct tc_pedit_sel {
277e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger	tc_gen;
287e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger	unsigned char           nkeys;
297e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger	unsigned char           flags;
307e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger	struct tc_pedit_key     keys[0];
317e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger};
327e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger#define tc_pedit tc_pedit_sel
337e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger
347e7c737245a48cac0c9386b4cab6c35622fde629net[shemminger]!shemminger#endif
35