OSDN Git Service

net/sched: act_ct: Offload only ASSURED connections
authorChris Mi <cmi@nvidia.com>
Wed, 1 Dec 2021 13:31:53 +0000 (15:31 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 3 Dec 2021 11:02:25 +0000 (11:02 +0000)
Short-lived connections increase the insertion rate requirements,
fill the offload table and provide very limited offload value since
they process a very small amount of packets. The ct ASSURED flag is
designed to filter short-lived connections for early expiration.

Offload connections when they are ESTABLISHED and ASSURED.

Signed-off-by: Chris Mi <cmi@nvidia.com>
Reviewed-by: Oz Shlomo <ozsh@nvidia.com>
Reviewed-by: Roi Dayan <roid@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/act_ct.c

index 90866ae..ab1810f 100644 (file)
@@ -393,7 +393,8 @@ static void tcf_ct_flow_table_process_conn(struct tcf_ct_flow_table *ct_ft,
 {
        bool tcp = false;
 
-       if (ctinfo != IP_CT_ESTABLISHED && ctinfo != IP_CT_ESTABLISHED_REPLY)
+       if ((ctinfo != IP_CT_ESTABLISHED && ctinfo != IP_CT_ESTABLISHED_REPLY) ||
+           !test_bit(IPS_ASSURED_BIT, &ct->status))
                return;
 
        switch (nf_ct_protonum(ct)) {