diff mbox series

[iproute2-next,v2] tc: flower: add tc conntrack inv ct_state support

Message ID 1611111132-25552-1-git-send-email-wenxu@ucloud.cn (mailing list archive)
State Accepted
Delegated to: David Ahern
Headers show
Series [iproute2-next,v2] tc: flower: add tc conntrack inv ct_state support | expand

Checks

Context Check Description
netdev/tree_selection success Not a local patch

Commit Message

wenxu Jan. 20, 2021, 2:52 a.m. UTC
From: wenxu <wenxu@ucloud.cn>

Matches on conntrack inv ct_state.

Signed-off-by: wenxu <wenxu@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(+)

Comments

Marcelo Ricardo Leitner Jan. 20, 2021, 4:25 p.m. UTC | #1
On Wed, Jan 20, 2021 at 10:52:12AM +0800, wenxu@ucloud.cn wrote:
> +++ 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},
Sorry for the late nit picking but, missing a  ^^  space here.

Otherwise, LGTM.
David Ahern Jan. 23, 2021, 6:17 p.m. UTC | #2
On 1/19/21 7:52 PM, wenxu@ucloud.cn wrote:
> From: wenxu <wenxu@ucloud.cn>
> 
> Matches on conntrack inv ct_state.
> 
> Signed-off-by: wenxu <wenxu@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.
diff mbox series

Patch

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)