vlib: refactor trajectory trace debug feature 28/31528/4
authorBenoît Ganne <bganne@cisco.com>
Thu, 4 Mar 2021 13:31:03 +0000 (14:31 +0100)
committerDamjan Marion <dmarion@me.com>
Sat, 1 May 2021 11:42:37 +0000 (11:42 +0000)
commitf89bbbe300dad7bc479db535e7822199f98aca30
tree1163eeac010375a962fcda8c2e0c7a7046161bf1
parentc8983241b9d93d2c3b60b0705efbc3cdee54c534
vlib: refactor trajectory trace debug feature

trajectory trace has been broken for a while because we used to save the
buffer trajectory in a vector pointed to in opaque2. This does not work
well when opaque2 is copied (eg. because of a clone) as 2 buffers end up
sharing the same vector.
This dedicates a full cacheline in the buffer metadata instead when
trajectory is compiled in. No dynamic allocation, no sharing, no tears.

Type: refactor

Change-Id: I6a028ca1b48d38f393a36979e5e452c2dd48ad3f
Signed-off-by: Benoît Ganne <bganne@cisco.com>
47 files changed:
docs/gettingstarted/developers/vnet.md
extras/deprecated/ixge/ixge.c
extras/deprecated/netmap/node.c
src/CMakeLists.txt
src/plugins/af_xdp/device.c
src/plugins/af_xdp/input.c
src/plugins/avf/input.c
src/plugins/dhcp/client.c
src/plugins/dhcp/dhcp4_proxy_node.c
src/plugins/dhcp/dhcp6_proxy_node.c
src/plugins/dpdk/device/device.c
src/plugins/dpdk/device/node.c
src/plugins/flowprobe/node.c
src/plugins/igmp/igmp_pkt.c
src/plugins/marvell/pp2/input.c
src/plugins/memif/node.c
src/plugins/nat/lib/ipfix_logging.c
src/plugins/nat/nat44-ei/nat44_ei_ha.c
src/plugins/ping/ping.c
src/plugins/vmxnet3/output.c
src/plugins/vrrp/vrrp_packet.c
src/vlib/buffer.h
src/vlib/main.c
src/vnet/CMakeLists.txt
src/vnet/bfd/bfd_main.c
src/vnet/bonding/device.c
src/vnet/bonding/node.c
src/vnet/buffer.h
src/vnet/devices/af_packet/node.c
src/vnet/devices/virtio/node.c
src/vnet/devices/virtio/vhost_user_input.c
src/vnet/dpo/replicate_dpo.c
src/vnet/interface.c
src/vnet/ip-neighbor/ip4_neighbor.h
src/vnet/ip-neighbor/ip6_neighbor.h
src/vnet/ip/ip_frag.c
src/vnet/ip/punt_node.c
src/vnet/ip6-nd/ip6_ra.c
src/vnet/ipfix-export/flow_report.c
src/vnet/ipfix-export/ipfix_doc.md
src/vnet/session/session_node.c
src/vnet/syslog/syslog.c
src/vnet/tcp/tcp.h
src/vnet/tcp/tcp_output.c
src/vnet/unix/gdb_funcs.c
src/vnet/unix/tuntap.c
src/vnet/util/trajectory.c [deleted file]