52       for (j = 0; j < 
vec_len (my_minis); j++)
    54           cm->
maxi[j] += my_minis[j];
    62   for (i = 0; i < j; i++)
    76       for (j = 0; j < 
vec_len (my_minis); j++)
    81           my_minis[j].
bytes = 0;
    89   for (i = 0; i < j; i++)
 #define vec_validate(V, I)
Make sure vector is long enough for given index (no header, unspecified alignment) ...
void serialize_vlib_simple_counter_main(serialize_main_t *m, va_list *va)
u64 packets
packet counter 
sll srl srl sll sra u16x4 i
u64 * maxi
Shared wide counters. 
void vlib_validate_combined_counter(vlib_combined_counter_main_t *cm, u32 index)
validate a combined counter 
vlib_counter_t * maxi
Shared wide counter pairs. 
Combined counter to hold both packets and byte differences. 
#define vec_validate_aligned(V, I, A)
Make sure vector is long enough for given index (no header, specified alignment) 
u64 * value_at_last_clear
Counter values as of last clear. 
void vlib_clear_combined_counters(vlib_combined_counter_main_t *cm)
Clear a collection of combined counters. 
void unserialize_vlib_simple_counter_main(serialize_main_t *m, va_list *va)
#define vec_elt_at_index(v, i)
Get vector value at index i checking that i is in bounds. 
#define clib_warning(format, args...)
A collection of simple counters. 
void serialize_vlib_combined_counter_main(serialize_main_t *m, va_list *va)
u16 ** minis
Per-thread u16 non-atomic counters. 
static vlib_thread_main_t * vlib_get_thread_main()
vlib_mini_counter_t ** minis
Per-thread u16 non-atomic counter pairs. 
void vlib_validate_simple_counter(vlib_simple_counter_main_t *cm, u32 index)
validate a simple counter 
void unserialize_vlib_combined_counter_main(serialize_main_t *m, va_list *va)
#define vec_len(v)
Number of elements in vector (rvalue-only, NULL tolerant) 
A collection of combined counters. 
void vlib_clear_simple_counters(vlib_simple_counter_main_t *cm)
Clear a collection of simple counters. 
vlib_counter_t * value_at_last_clear
Counter values as of last clear. 
#define CLIB_CACHE_LINE_BYTES