> This is something also being looked for by folks such as those > working on OVS e.g. called out at > http://openvswitch.org/pipermail/dev/2015-August/058814.html > > "- Insight into the system and debuggability: nothing beats tcpdump for the > kernel datapath. Can something similar be done for the userspace > datapath? > > - Consistency of the tools: some commands are slightly different for the > userspace/kernel datapath. Ideally there shouldn't be any difference." >
I had a painful experience with OVS-DPDK recently which may be representative of a typical usability issue encountered. I was trying to connect two Openstack compute nodes together. I had done the configuration without DPDK first. It was easy to debug as I could use tcpdump to look at the eth ports and see what type of traffic was entering the compute node. I also needed to check if the traffic was actually VxLAN traffic and what the VNI was in order to be able to follow the traffic around the bridges in OVS. This all went quite well and I was able to bring up my set up quite easily. Then I tried to set up the same thing with DPDK. I couldn't get traffic between the compute nodes but I had no easy way to just dump the traffic coming into (or out of) the compute node. Of course, there were some things I could do but, for me, DPDK would be far more usable if I could just use tcpdump. As I know DPDK to some extent, I can usually get around these problems but I suspect that a new user to DPDK would get very discouraged and frustrated by an experience like that. I'm not sure how often tcpdump is used in production environments but it is very useful when debugging a live system without having to modify code. It would be good if it could work at high rates and be really flexible but it probably makes sense to focus on the basics first.