Lines Matching full:trace
244 static int check_header(int tid, struct ioam6_trace_hdr *trace, in check_header() argument
247 if (__be16_to_cpu(trace->namespace_id) != ioam_ns || in check_header()
248 __be32_to_cpu(trace->type_be32) != (trace_type << 8)) in check_header()
255 return trace->overflow == 1 || in check_header()
256 trace->nodelen != 1 || in check_header()
257 trace->remlen != 1; in check_header()
262 return trace->overflow == 0 || in check_header()
263 trace->nodelen != 2 || in check_header()
264 trace->remlen != 1; in check_header()
267 return trace->overflow == 0 || in check_header()
268 trace->nodelen != 0 || in check_header()
269 trace->remlen != 1; in check_header()
274 return trace->overflow == 1 || in check_header()
275 trace->nodelen != 0 || in check_header()
276 trace->remlen != 0; in check_header()
296 return trace->overflow == 1 || in check_header()
297 trace->nodelen != 1 || in check_header()
298 trace->remlen != 0; in check_header()
306 return trace->overflow == 1 || in check_header()
307 trace->nodelen != 2 || in check_header()
308 trace->remlen != 0; in check_header()
371 return trace->overflow == 1 || in check_header()
372 trace->nodelen != 1 || in check_header()
373 trace->remlen != trace_size / 4; in check_header()
436 return trace->overflow == 1 || in check_header()
437 trace->nodelen != 1 || in check_header()
438 trace->remlen != (trace_size / 4) - trace->nodelen; in check_header()
442 return trace->overflow == 1 || in check_header()
443 trace->nodelen != 15 || in check_header()
444 trace->remlen != 0; in check_header()
453 static int check_data(struct ioam6_trace_hdr *trace, __u8 trace_size, in check_data() argument
462 if (trace->type.bit12 | trace->type.bit13 | trace->type.bit14 | in check_data()
463 trace->type.bit15 | trace->type.bit16 | trace->type.bit17 | in check_data()
464 trace->type.bit18 | trace->type.bit19 | trace->type.bit20 | in check_data()
465 trace->type.bit21 | trace->type.bit23) in check_data()
468 for (i = 0; i < trace->remlen * 4; i++) { in check_data()
469 if (trace->data[i] != 0) in check_data()
473 if (trace->remlen * 4 == trace_size) in check_data()
476 p = trace->data + trace->remlen * 4; in check_data()
478 if (trace->type.bit0) { in check_data()
485 if (trace->type.bit1) { in check_data()
493 if (trace->type.bit2) { in check_data()
501 if (trace->type.bit3) { in check_data()
509 if (trace->type.bit4) { in check_data()
515 if (trace->type.bit5) { in check_data()
521 if (trace->type.bit6) { in check_data()
527 if (trace->type.bit7) { in check_data()
533 if (trace->type.bit8) { in check_data()
541 if (trace->type.bit9) { in check_data()
551 if (trace->type.bit10) { in check_data()
557 if (trace->type.bit11) { in check_data()
563 if (trace->type.bit22) { in check_data()
591 static int check_ioam_trace(int tid, struct ioam6_trace_hdr *trace, in check_ioam_trace() argument
594 if (check_header(tid, trace, trace_type, trace_size, ioam_ns)) in check_ioam_trace()
598 return check_data(trace, trace_size, node1, true); in check_ioam_trace()
601 return check_data(trace, trace_size, node2, false); in check_ioam_trace()
1005 struct ioam6_trace_hdr *trace; in main() local
1034 hoplen += sizeof(*trace); // IOAM trace header in main()
1035 hoplen += tr_size; // IOAM trace size in main()
1083 if (ioam6->opt_len != sizeof(*ioam6) - 2 + sizeof(*trace) + tr_size || in main()
1087 trace = (struct ioam6_trace_hdr *)(ptr + sizeof(*ioam6)); in main()
1090 ptr = (__u8 *)trace + sizeof(*trace) + tr_size; in main()
1096 ret = check_ioam_trace(testname_id, trace, tr_type, tr_size, ioam_ns); in main()