To run vpp with the debug shell: sudo vpe unix interactive which will result in a prompt that looks like: DBGvpd# To give it a spin, we can create a tap interface and try a simple ping (with trace). To create the tap: DBGvpd# tap connect foobar Created tap-0 for Linux tap 'foobar' DBGvpd# show int To assign it an ip address (and 'up' the interface): DBGvpd# set int ip address tap-0 192.168.1.1/24 DBGvpd# set int state tap-0 up To turn on packet tracing for the tap interface: DBGvpd# trace add tapcli-rx 10 Now, to set up and try the other end from the unix prompt: vagrant@vagrant-ubuntu-trusty-64:~$ sudo ip addr add 192.168.1.2/24 dev foobar vagrant@vagrant-ubuntu-trusty-64:~$ ping -c 3 192.168.1.1 To look at the trace, back in the vpp CLI: DBGvpd# show trace And to stop tracing: DBGvpd# clear trace Other fun things to look at: The vlib packet processing graph: DBGvpd# show vlib graph which will produce output like: Name Next Previous ip4-icmp-input error-punt [0] ip4-local ip4-icmp-echo-request [1] vpe-icmp4-oam [2] To read this, the first column (Name) is the name of the node. The second column (Next) is the name of the children of that node. The third column (Previous) is the name of the parents of this node. END