diff options
author | Paul Blakey <paulb@mellanox.com> | 2020-03-12 11:23:08 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-03-12 23:00:39 +0100 |
commit | 8b3646d6e0c4ca4ba5615facaef1312d6d40d123 (patch) | |
tree | 7a9fce3f6028080e0375163d11604ef5f73203d1 /net/sched/act_ct.c | |
parent | net/sched: act_ct: Support restoring conntrack info on skbs (diff) | |
download | linux-8b3646d6e0c4ca4ba5615facaef1312d6d40d123.tar.xz linux-8b3646d6e0c4ca4ba5615facaef1312d6d40d123.zip |
net/sched: act_ct: Support refreshing the flow table entries
If driver deleted an FT entry, a FT failed to offload, or registered to the
flow table after flows were already added, we still get packets in
software.
For those packets, while restoring the ct state from the flow table
entry, refresh it's hardware offload.
Signed-off-by: Paul Blakey <paulb@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/act_ct.c')
-rw-r--r-- | net/sched/act_ct.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/sched/act_ct.c b/net/sched/act_ct.c index 31eef8a847d2..16fc731e5b03 100644 --- a/net/sched/act_ct.c +++ b/net/sched/act_ct.c @@ -531,6 +531,7 @@ static bool tcf_ct_flow_table_lookup(struct tcf_ct_params *p, ctinfo = dir == FLOW_OFFLOAD_DIR_ORIGINAL ? IP_CT_ESTABLISHED : IP_CT_ESTABLISHED_REPLY; + flow_offload_refresh(nf_ft, flow); nf_conntrack_get(&ct->ct_general); nf_ct_set(skb, ct, ctinfo); |