blob: 192289696efb5229ef6a022b78787d2a99e113ab (
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
|
To run vpp with the debug shell:
sudo vpp 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
|