| 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 |