hello Paul!
On Tue, 2019-06-11 at 16:28 +0300, Paul Blakey wrote:
> +#endif /* __NET_TC_CT_H */
> diff --git a/include/uapi/linux/pkt_cls.h b/include/uapi/linux/pkt_cls.h
> index a93680f..c5264d7 100644
> --- a/include/uapi/linux/pkt_cls.h
> +++ b/include/uapi/linux/pkt_cls.h
> @@ -83,6 +83,7 @@ enum {
> #define TCA_ACT_SIMP 22
> #define TCA_ACT_IFE 25
> #define TCA_ACT_SAMPLE 26
> +#define TCA_ACT_CT 27
^^ I think you can't use 27 (act_ctinfo forgot to explicitly define it),
or the uAPI will break. See below:
> /* Action type identifiers*/
> enum tca_id {
> @@ -106,6 +107,7 @@ enum tca_id {
> TCA_ID_SAMPLE = TCA_ACT_SAMPLE,
> /* other actions go here */
> TCA_ID_CTINFO,
> + TCA_ID_CT,
> __TCA_ID_MAX = 255
> };
and (minor ntit) the comment
/* other actions go here */
should be interpreted like
/* other actions go right above this comment */
otherwise the comment will float up as we continue adding new TC actions.
After your patch CTinfo and CT will have the same ID:
[dcaratti@localhost tmp.j4kzBzv3oe]$ cat prova.c
#include <stdio.h>
#define UNO 1
#define DUE 2
#define TRE 3
#define QUATTRO 4
enum {
TCA_ID_UNO = UNO,
TCA_ID_DUE = DUE,
TCA_ID_TRE = TRE,
TCA_ID_CTINFO,
TCA_ID_QUATTRO = QUATTRO,
TCA_ID_MAX
};
int main (int argc, const char *argv[])
{
printf("%d %d %d %d %d %d\n", TCA_ID_UNO, TCA_ID_DUE, TCA_ID_TRE,
TCA_ID_CTINFO, TCA_ID_QUATTRO, TCA_ID_MAX);
return 0;
}
[dcaratti@localhost tmp.j4kzBzv3oe]$ gcc prova.c -o prova
[dcaratti@localhost tmp.j4kzBzv3oe]$ ./prova
1 2 3 4 4 5
[dcaratti@localhost tmp.j4kzBzv3oe]$
so, I think you should use 28. And I will send a patch for net-next now
that adds the missing define for TCA_ID_CTINFO. Ok?
--
davide