vlib: clean up the "pcap dispatch trace" debug CLI

Separate debug CLI arg parsing from the underlying action
function. Fixes a number of subtle ordering dependencies, and will
allow us to add a binary API to control the feature at some point in
the future.

Type: refactor
Ticket: VPP-1762

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I1240fe3f61a0acf5ee9faed60d6ad3386e72e569
This commit is contained in:
Dave Barach
2019-08-29 18:01:30 -04:00
committed by Florin Coras
parent c4abafd83d
commit e5948fb49a
2 changed files with 187 additions and 142 deletions

File diff suppressed because it is too large Load Diff

View File

@ -148,6 +148,7 @@ typedef struct vlib_main_t
/* Pcap dispatch trace main */
pcap_main_t dispatch_pcap_main;
uword dispatch_pcap_enable;
u32 *dispatch_buffer_trace_nodes;
u8 *pcap_buffer;
/* pcap rx / tx tracing */
@ -403,6 +404,18 @@ extern void vlib_node_sync_stats (vlib_main_t * vm, vlib_node_t * n);
#define VLIB_PCAP_MAJOR_VERSION 1
#define VLIB_PCAP_MINOR_VERSION 0
typedef struct
{
u8 *filename;
int enable;
int status;
u32 packets_to_capture;
u32 buffer_trace_node_index;
u32 buffer_traces_to_capture;
} vlib_pcap_dispatch_trace_args_t;
int vlib_pcap_dispatch_trace_configure (vlib_pcap_dispatch_trace_args_t *);
#endif /* included_vlib_main_h */
/*