aboutsummaryrefslogtreecommitdiffstats
path: root/build-root/vagrant/README
blob: 0498615473ef4454b9077bb0839ce9f68ab058e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
To run vpp with the debug shell:

sudo ~vagrant/git/vpp/build-root/install-vpp_debug-native/vpp/bin/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.

To see this README again:
cat /vagrant/README