-
Bug
-
Resolution: Open
-
Low
-
None
-
17.10
-
None
VLIB_BUFFER_TRACE_TRAJECTORY is a compile time flag to enable tracing of nodes which packet visited. Current code assumes that node index is a u8, so node index assumed is 0 to 255. So any node whose index is greater than 255 will end up traced as some other node than actual node.
Ex: Value of ethernet_input node came out to be 293, so for a typical IPv4 packet flow below trace is seen:
(gdb) p vlib_dump_context_trace(&vlib_global_main, pi0)
Context trace for bi 17468 b 0x7fff20c3af00, visited 2
ip6-add-from-cache-hop-by-hop (37) --> 293 is take as 37 and instead of ethernet_input wrong node name is displayed.
ip4-input (237)
$42 = void
For fixing this, node id's are assumed to be 16 bits wide.