X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlib%2Fmain.h;h=2c5bb45417fcadf0bd05551b8e44bab758a88b61;hb=ac626264ec5cbb3d727147ae336cac55eb37906e;hp=920e5f3f95a01edee671c2dc5bd4e30b1f5c94dc;hpb=910d3694e8b22c9d14e5f2913d14ae149e184620;p=vpp.git diff --git a/src/vlib/main.h b/src/vlib/main.h index 920e5f3f95a..2c5bb45417f 100644 --- a/src/vlib/main.h +++ b/src/vlib/main.h @@ -58,11 +58,21 @@ #define VLIB_ELOG_MAIN_LOOP 0 #endif +typedef struct +{ + int pcap_enable; + u32 pcap_sw_if_index; + pcap_main_t pcap_main; +} vnet_pcap_t; + typedef struct vlib_main_t { CLIB_CACHE_LINE_ALIGN_MARK (cacheline0); /* Instruction level timing state. */ clib_time_t clib_time; + /* Offset from main thread time */ + f64 time_offset; + f64 time_last_barrier_release; /* Time stamp of last node dispatch. */ u64 cpu_time_last_node_dispatch; @@ -135,6 +145,15 @@ typedef struct vlib_main_t uword dispatch_pcap_enable; u8 *pcap_buffer; + /* pcap rx / tx tracing */ + vnet_pcap_t pcap[VLIB_N_RX_TX]; + + int pcap_enable; + pcap_main_t pcap_main; + u8 *pcap_filename; + u32 pcap_sw_if_index; + u32 pcap_pkts_to_capture; + /* Error handling. */ vlib_error_main_t error_main; @@ -155,6 +174,9 @@ typedef struct vlib_main_t /* Event logger trace flags */ int elog_trace_api_messages; int elog_trace_cli_commands; + int elog_trace_graph_dispatch; + int elog_trace_graph_circuit; + u32 elog_trace_graph_circuit_node_index; /* Node call and return event types. */ elog_event_type_t *node_call_elog_event_types; @@ -229,7 +251,7 @@ void vlib_worker_loop (vlib_main_t * vm); always_inline f64 vlib_time_now (vlib_main_t * vm) { - return clib_time_now (&vm->clib_time); + return clib_time_now (&vm->clib_time) + vm->time_offset; } always_inline f64