diff mbox series

[v2] net/sched: act_ct: add nat mangle action only for NAT-conntrack

Message ID 1590818091-3548-1-git-send-email-wenxu@ucloud.cn
State New
Headers show
Series [v2] net/sched: act_ct: add nat mangle action only for NAT-conntrack | expand

Commit Message

wenxu May 30, 2020, 5:54 a.m. UTC
From: wenxu <wenxu@ucloud.cn>

Currently add nat mangle action with comparing invert and ori tuple.
It is better to check IPS_NAT_MASK flags first to avoid non necessary
memcmp for non-NAT conntrack.

Signed-off-by: wenxu <wenxu@ucloud.cn>
---
 net/sched/act_ct.c | 3 +++
 1 file changed, 3 insertions(+)
diff mbox series

Patch

diff --git a/net/sched/act_ct.c b/net/sched/act_ct.c
index 1a76639..2057735 100644
--- a/net/sched/act_ct.c
+++ b/net/sched/act_ct.c
@@ -199,6 +199,9 @@  static int tcf_ct_flow_table_add_action_nat(struct net *net,
 	const struct nf_conntrack_tuple *tuple = &ct->tuplehash[dir].tuple;
 	struct nf_conntrack_tuple target;
 
+	if (!(ct->status & IPS_NAT_MASK))
+		return 0;
+
 	nf_ct_invert_tuple(&target, &ct->tuplehash[!dir].tuple);
 
 	switch (tuple->src.l3num) {