On 1/19/21 7:52 PM, we...@ucloud.cn wrote: > From: wenxu <we...@ucloud.cn> > > Matches on conntrack inv ct_state. > > Signed-off-by: wenxu <we...@ucloud.cn> > --- > v2: change the description > > include/uapi/linux/pkt_cls.h | 1 + > man/man8/tc-flower.8 | 2 ++ > tc/f_flower.c | 1 + > 3 files changed, 4 insertions(+) > > diff --git a/include/uapi/linux/pkt_cls.h b/include/uapi/linux/pkt_cls.h > index 449a639..e8f2aed 100644 > --- a/include/uapi/linux/pkt_cls.h > +++ b/include/uapi/linux/pkt_cls.h > @@ -563,6 +563,7 @@ enum { > TCA_FLOWER_KEY_CT_FLAGS_ESTABLISHED = 1 << 1, /* Part of an existing > connection. */ > TCA_FLOWER_KEY_CT_FLAGS_RELATED = 1 << 2, /* Related to an established > connection. */ > TCA_FLOWER_KEY_CT_FLAGS_TRACKED = 1 << 3, /* Conntrack has occurred. */ > + TCA_FLOWER_KEY_CT_FLAGS_INVALID = 1 << 4, /* Conntrack is invalid. */ > }; > > enum { > diff --git a/man/man8/tc-flower.8 b/man/man8/tc-flower.8 > index eb9eb5f..f90117b 100644 > --- a/man/man8/tc-flower.8 > +++ b/man/man8/tc-flower.8 > @@ -312,6 +312,8 @@ new - New connection. > .TP > est - Established connection. > .TP > +inv - The state is invalid. The packet couldn't be associated to a > connection. > +.TP > Example: +trk+est > .RE > .TP > diff --git a/tc/f_flower.c b/tc/f_flower.c > index 9d59d71..7d2df9d 100644 > --- a/tc/f_flower.c > +++ b/tc/f_flower.c > @@ -340,6 +340,7 @@ static struct flower_ct_states { > { "trk", TCA_FLOWER_KEY_CT_FLAGS_TRACKED }, > { "new", TCA_FLOWER_KEY_CT_FLAGS_NEW }, > { "est", TCA_FLOWER_KEY_CT_FLAGS_ESTABLISHED }, > + { "inv", TCA_FLOWER_KEY_CT_FLAGS_INVALID}, > }; > > static int flower_parse_ct_state(char *str, struct nlmsghdr *n) >
Fixed the space and applied to iproute2-next.