47 new_tail = __sync_add_and_fetch (&cjm->
tail, 1);
135 fprintf (stderr,
"[%d]: %10.6f T%02d %llx %llx\n",
137 (
long long unsigned int) r->
data[1]);
142 u8 filter1_enable,
u64 filter1)
150 fprintf (stderr,
"CJ not configured...\n");
156 fprintf (stderr,
"No data collected...\n");
169 if (filter0_enable && (r->
data[0] != filter0))
171 if (filter1_enable && (r->
data[1] != filter1))
180 for (i = 0; i <= cjm->
tail; i++)
182 if (filter0_enable && (r->
data[0] != filter0))
184 if (filter1_enable && (r->
data[1] != filter1))
259 .short_help =
"cj <enable | disable | dump>",
void cj_dump_filter_data12(u64 filter0, u64 filter1)
#define vec_validate(V, I)
Make sure vector is long enough for given index (no header, unspecified alignment) ...
sll srl srl sll sra u16x4 i
bad routing header type(not 4)") sr_error (NO_MORE_SEGMENTS
static f64 vlib_time_now(vlib_main_t *vm)
static clib_error_t * cj_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
void cj_dump_filter_data1(u64 filter1)
void cj_enable_disable(int is_enable)
#define VLIB_INIT_FUNCTION(x)
void cj_log(u32 type, void *data0, void *data1)
static uword pointer_to_uword(const void *p)
uword os_get_cpu_number(void)
#define VLIB_CONFIG_FUNCTION(x, n,...)
void vlib_cli_output(vlib_main_t *vm, char *fmt,...)
static void cj_dump_one_record(cj_record_t *r)
static uword max_pow2(uword x)
#define VLIB_CLI_COMMAND(x,...)
void cj_dump_filter_data0(u64 filter0)
clib_error_t * cj_init(vlib_main_t *vm)
static void cj_dump_internal(u8 filter0_enable, u64 filter0, u8 filter1_enable, u64 filter1)
#define clib_error_return(e, args...)
static clib_error_t * cj_config(vlib_main_t *vm, unformat_input_t *input)