From: wenxu Date: Sat, 30 May 2020 05:54:51 +0000 (+0800) Subject: net/sched: act_ct: add nat mangle action only for NAT-conntrack X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=05aa69e5cba61d8900970a364825f854401694ec;p=linux.git net/sched: act_ct: add nat mangle action only for NAT-conntrack Currently add nat mangle action with comparing invert and orig tuple. It is better to check IPS_NAT_MASK flags first to avoid non necessary memcmp for non-NAT conntrack. Signed-off-by: wenxu Acked-by: Marcelo Ricardo Leitner Signed-off-by: David S. Miller --- diff --git a/net/sched/act_ct.c b/net/sched/act_ct.c index 1a766393be625..20577355235a6 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) {