Uploaded image for project: 'vpp'
  1. vpp
  2. VPP-1024

VLIB_BUFFER_TRACE_TRAJECTORY doesn't work if node index is greater than 255

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Open
    • Icon: Low Low
    • None
    • 17.10
    • VPPInfra
    • 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.

            dbarach Dave Barach
            AkshayaNadahalli Akshaya Nadahalli
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: