This page is meant to collate possible enhancements to TF agent and vrouter components to improve debuggability.

Vrouter Enhancements

   
TitleDescriptionAdded by
DPDK: Add bond interface information in vif commandhttps://contrail-jws.atlassian.net/browse/JCB-219019Kiran
DPDK: Add per core packet statistics (across all vifs) Kiran
vRouter: Expand test case coverage Kiran
DPDK: Display vif flags in vif list (Eg: GRO/GSO) Kiran
Provide debug cli to dump critical data structuresA developer only (initially atleast) debug cli to dump the key internal data structures like rt entry, nh entry, flow entry etc. The CLI should dump all the fields present in the data structure.Anand
Add logs in critical vrouter functions Add logs in critical vrouter functions which can be enabled through some config knob. This may also be exposed via sandesh if required.Anand
 Conform vRouter to https://patches.dpdk.org/patch/48961/ DPDK will soon expose a filesystem (FUSE based) where stats will be exposed and resources will be able to be changed. See what can be exposed from the vRouter in that pseudofile system. Joseph G
 Kernel: add tracepoints See motivation for uprobes below Alexander Ankudinov/Valentin Sinitsyn
   
   
   
   

Agent Enhancements

   
TitleDescriptionAdded by
A wiki for key introspects commonly used for debugging Kiran/Anand
Logging infra for errors in Agent. dropstats like infra would also be desirable.  Saurabh/Sangarshan
 A wiki for how vRouter interacts with the AgentDescribe Netlink messages used, agent protocol (I believe it's on Github already), what pktX interfaces are for, and how shared memory is used, in one single locationAlexander Ankudino/Valentin Sinitsyn
More `assert()` in the codeThis can serve as a type of documentation for which parameter combinations are expected. Say, if FlowStatsCollector expects `VALID` or `EVICTED` flow, it should be asserted Alexander Ankudinov/Valentin Sinitsyn
 Record vRouter ↔ Agent interaction (pktX, Netlink etc) so it can be replayed in absence of vRouter  Alexander Ankudinov/Valentin Sinitsyn
 Agent: support instrumentation with uprobes Add some SDT (Statically Defined Tracepoints) to key locations inside the Agent to make instrumentation more straightforward. It's still possible now, but you need to have a good understanding of the source to install probe in the relevant locations Alexander Ankudinov/Valentin Sinitsyn