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

Reply via email to