FD.io VPP  v16.09
Vector Packet Processing
stats.c File Reference
+ Include dependency graph for stats.c:

Go to the source code of this file.

Data Structures

struct  ip6_route_t
 
struct  add_routes_in_fib_arg_t
 

Macros

#define STATS_DEBUG   0
 
#define f64_endian(a)
 
#define f64_print(a, b)
 
#define vl_typedefs   /* define message structures */
 
#define vl_endianfun   /* define message structures */
 
#define vl_print(handle, ...)   vlib_cli_output (handle, __VA_ARGS__)
 
#define vl_printfun
 
#define foreach_stats_msg
 
#define SIMPLE_COUNTER_BATCH_SIZE   126
 
#define COMBINED_COUNTER_BATCH_SIZE   63
 
#define IP4_FIB_COUNTER_BATCH_SIZE   48
 
#define IP6_FIB_COUNTER_BATCH_SIZE   30
 
#define STATS_RELEASE_DELAY_NS   (1000 * 1000 * 5)
 
#define vl_api_vnet_ip4_fib_counters_t_endian   vl_noop_handler
 
#define vl_api_vnet_ip4_fib_counters_t_print   vl_noop_handler
 
#define vl_api_vnet_ip6_fib_counters_t_endian   vl_noop_handler
 
#define vl_api_vnet_ip6_fib_counters_t_print   vl_noop_handler
 

Functions

void dslock (stats_main_t *sm, int release_hint, int tag)
 
void dsunlock (stats_main_t *sm)
 
static void do_simple_interface_counters (stats_main_t *sm)
 
static void do_combined_interface_counters (stats_main_t *sm)
 
typedef CLIB_PACKED (struct{ip4_address_t address;u32 address_length:6;u32 index:26;})
 
static void do_ip4_fibs (stats_main_t *sm)
 
static void add_routes_in_fib (BVT(clib_bihash_kv)*kvp, void *arg)
 
static void do_ip6_fibs (stats_main_t *sm)
 
static void stats_thread_fn (void *arg)
 
static void vl_api_vnet_interface_counters_t_handler (vl_api_vnet_interface_counters_t *mp)
 
static void vl_api_vnet_ip4_fib_counters_t_handler (vl_api_vnet_ip4_fib_counters_t *mp)
 
static void vl_api_vnet_ip6_fib_counters_t_handler (vl_api_vnet_ip6_fib_counters_t *mp)
 
static void vl_api_want_stats_reply_t_handler (vl_api_want_stats_reply_t *mp)
 
static void vl_api_want_stats_t_handler (vl_api_want_stats_t *mp)
 
int stats_memclnt_delete_callback (u32 client_index)
 
static clib_error_tstats_init (vlib_main_t *vm)
 
 VLIB_REGISTER_THREAD (stats_thread_reg, static)
 

Variables

stats_main_t stats_main
 

Macro Definition Documentation

#define COMBINED_COUNTER_BATCH_SIZE   63

Definition at line 53 of file stats.c.

#define f64_endian (   a)

Definition at line 27 of file stats.c.

#define f64_print (   a,
 
)

Definition at line 28 of file stats.c.

#define foreach_stats_msg
Value:
_(WANT_STATS, want_stats) \
_(WANT_STATS_REPLY, want_stats_reply) \
_(VNET_INTERFACE_COUNTERS, vnet_interface_counters) \
_(VNET_IP4_FIB_COUNTERS, vnet_ip4_fib_counters) \
_(VNET_IP6_FIB_COUNTERS, vnet_ip6_fib_counters)

Definition at line 44 of file stats.c.

#define IP4_FIB_COUNTER_BATCH_SIZE   48

Definition at line 54 of file stats.c.

#define IP6_FIB_COUNTER_BATCH_SIZE   30

Definition at line 55 of file stats.c.

#define SIMPLE_COUNTER_BATCH_SIZE   126

Definition at line 52 of file stats.c.

#define STATS_DEBUG   0

Definition at line 19 of file stats.c.

#define STATS_RELEASE_DELAY_NS   (1000 * 1000 * 5)

Definition at line 58 of file stats.c.

#define vl_api_vnet_ip4_fib_counters_t_endian   vl_noop_handler

Definition at line 988 of file stats.c.

#define vl_api_vnet_ip4_fib_counters_t_print   vl_noop_handler

Definition at line 989 of file stats.c.

#define vl_api_vnet_ip6_fib_counters_t_endian   vl_noop_handler

Definition at line 990 of file stats.c.

#define vl_api_vnet_ip6_fib_counters_t_print   vl_noop_handler

Definition at line 991 of file stats.c.

#define vl_endianfun   /* define message structures */

Definition at line 34 of file stats.c.

#define vl_print (   handle,
  ... 
)    vlib_cli_output (handle, __VA_ARGS__)

Definition at line 39 of file stats.c.

#define vl_printfun

Definition at line 40 of file stats.c.

#define vl_typedefs   /* define message structures */

Definition at line 30 of file stats.c.

Function Documentation

static void add_routes_in_fib ( BVT(clib_bihash_kv)*  kvp,
void *  arg 
)
static

Definition at line 463 of file stats.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

typedef CLIB_PACKED ( struct{ip4_address_t address;u32 address_length:6;u32 index:26;}  )

Definition at line 217 of file stats.c.

static void do_combined_interface_counters ( stats_main_t sm)
static

Definition at line 164 of file stats.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void do_ip4_fibs ( stats_main_t sm)
static

Definition at line 245 of file stats.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void do_ip6_fibs ( stats_main_t sm)
static

Definition at line 484 of file stats.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void do_simple_interface_counters ( stats_main_t sm)
static

Definition at line 109 of file stats.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void dslock ( stats_main_t sm,
int  release_hint,
int  tag 
)

Definition at line 62 of file stats.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void dsunlock ( stats_main_t sm)

Definition at line 88 of file stats.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* stats_init ( vlib_main_t vm)
static

Definition at line 994 of file stats.c.

+ Here is the call graph for this function:

int stats_memclnt_delete_callback ( u32  client_index)

Definition at line 971 of file stats.c.

+ Here is the caller graph for this function:

static void stats_thread_fn ( void *  arg)
static

Definition at line 664 of file stats.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void vl_api_vnet_interface_counters_t_handler ( vl_api_vnet_interface_counters_t mp)
static

Definition at line 698 of file stats.c.

static void vl_api_vnet_ip4_fib_counters_t_handler ( vl_api_vnet_ip4_fib_counters_t mp)
static

Definition at line 829 of file stats.c.

static void vl_api_vnet_ip6_fib_counters_t_handler ( vl_api_vnet_ip6_fib_counters_t mp)
static

Definition at line 868 of file stats.c.

static void vl_api_want_stats_reply_t_handler ( vl_api_want_stats_reply_t mp)
static

Definition at line 907 of file stats.c.

static void vl_api_want_stats_t_handler ( vl_api_want_stats_t mp)
static

Definition at line 913 of file stats.c.

+ Here is the call graph for this function:

VLIB_REGISTER_THREAD ( stats_thread_reg  ,
static   
)

+ Here is the caller graph for this function:

Variable Documentation

stats_main_t stats_main

Definition at line 21 of file stats.c.