diff options
author | Neale Ranns <neale@graphiant.com> | 2021-09-21 12:34:19 +0000 |
---|---|---|
committer | Beno�t Ganne <bganne@cisco.com> | 2021-09-29 14:27:48 +0000 |
commit | e11203e5b8fd61986573e0cba9e47cefcf50e60d (patch) | |
tree | b5b34bf9742962290ebed720963b72ce5045c6da /src/vlib/counter.h | |
parent | 979545e79579bdc6fe3cb2d3cfd0036c588acb32 (diff) |
ipsec: Record the number of packets lost from an SA
Type: feature
Gaps in the sequence numbers received on an SA indicate packets that were lost.
Gaps are identified using the anti-replay window that records the sequences seen.
Publish the number of lost packets in the stats segment at /net/ipsec/sa/lost
Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I8af1c09b7b25a705e18bf82e1623b3ce19e5a74d
Diffstat (limited to 'src/vlib/counter.h')
-rw-r--r-- | src/vlib/counter.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/vlib/counter.h b/src/vlib/counter.h index 9f5654292b9..56701e8b391 100644 --- a/src/vlib/counter.h +++ b/src/vlib/counter.h @@ -64,6 +64,20 @@ typedef struct /** The number of counters (not the number of per-thread counters) */ u32 vlib_simple_counter_n_counters (const vlib_simple_counter_main_t * cm); +/** Pre-fetch a per-thread simple counter for the given object index */ +always_inline void +vlib_prefetch_simple_counter (const vlib_simple_counter_main_t *cm, + u32 thread_index, u32 index) +{ + counter_t *my_counters; + + /* + * This CPU's index is assumed to already be in cache + */ + my_counters = cm->counters[thread_index]; + clib_prefetch_store (my_counters + index); +} + /** Increment a simple counter @param cm - (vlib_simple_counter_main_t *) simple counter main pointer @param thread_index - (u32) the current cpu index |