diff options
author | Edward Cree <ecree.xilinx@gmail.com> | 2023-06-21 13:15:04 +0100 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2023-06-22 19:54:14 -0700 |
commit | 9a14f2e3dab106df7f27d1730cc540247317d4b9 (patch) | |
tree | 2bf42a0817d2322050f1f81f8497b5b62d3c0b90 /drivers/net/ethernet/sfc/tc_counters.h | |
parent | 2555f35a4f428a9bfdf09aa0459dbfdf59a24a9a (diff) | |
download | lwn-9a14f2e3dab106df7f27d1730cc540247317d4b9.tar.gz lwn-9a14f2e3dab106df7f27d1730cc540247317d4b9.zip |
sfc: keep alive neighbour entries while a TC encap action is using them
When processing counter updates, if any action set using the newly
incremented counter includes an encap action, prod the corresponding
neighbouring entry to indicate to the neighbour cache that the entry
is still in use and passing traffic.
Signed-off-by: Edward Cree <ecree.xilinx@gmail.com>
Link: https://lore.kernel.org/r/20230621121504.17004-1-edward.cree@amd.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/ethernet/sfc/tc_counters.h')
-rw-r--r-- | drivers/net/ethernet/sfc/tc_counters.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/ethernet/sfc/tc_counters.h b/drivers/net/ethernet/sfc/tc_counters.h index 8fc7c4bbb29c..41e57f34b763 100644 --- a/drivers/net/ethernet/sfc/tc_counters.h +++ b/drivers/net/ethernet/sfc/tc_counters.h @@ -32,6 +32,9 @@ struct efx_tc_counter { u64 old_packets, old_bytes; /* Values last time passed to userspace */ /* jiffies of the last time we saw packets increase */ unsigned long touched; + struct work_struct work; /* For notifying encap actions */ + /* owners of corresponding count actions */ + struct list_head users; }; struct efx_tc_counter_index { |