Subject: Re: [iproute2 PATCH v3 1/1] tc: introduce IFE action

From: Stephen Hemminger <[email-masked]>
Date: Fri, 22 Apr 2016 10:00:47 -0700

On Thu, 21 Apr 2016 17:40:14 -0400
Jamal Hadi Salim <[email-masked]> wrote:

> new file mode 100644
> index 0000000..d648ff6
> --- /dev/null
> +++ b/include/linux/tc_ife.h
> @@ -0,0 +1,38 @@
> +#ifndef __UAPI_TC_IFE_H
> +#define __UAPI_TC_IFE_H
> +
> +#include <linux/types.h>
> +#include <linux/pkt_cls.h>
> +
> +#define TCA_ACT_IFE 25
> +/* Flag bits for now just encoding/decoding; mutually exclusive */
> +#define IFE_ENCODE 1
> +#define IFE_DECODE 0
> +
> +struct tc_ife {
> +	tc_gen;
> +	__u16 flags;
> +};
> +
> +/*XXX: We need to encode the total number of bytes consumed */
> +enum {
> +	TCA_IFE_UNSPEC,
> +	TCA_IFE_PARMS,
> +	TCA_IFE_TM,
> +	TCA_IFE_DMAC,
> +	TCA_IFE_SMAC,
> +	TCA_IFE_TYPE,
> +	TCA_IFE_METALST,
> +	__TCA_IFE_MAX
> +};
> +#define TCA_IFE_MAX (__TCA_IFE_MAX - 1)
> +
> +#define IFE_META_SKBMARK 1
> +#define IFE_META_HASHID 2
> +#define	IFE_META_PRIO 3
> +#define	IFE_META_QMAP 4
> +/*Can be overridden at runtime by module option*/
> +#define	__IFE_META_MAX 5
> +#define IFE_META_MAX (__IFE_META_MAX - 1)
> +
> +#endif

All header files for iproute2 (in include/linux) should come from santized kernel
headers. I do not see the file tc_ife.h in include/uapi/linux in current net-next
kernel source tree.