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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
|
.. _ip1:
.. toctree::
.. note:: For a complete list of CLI Debug commands refer to the Debug CLI section of the `Source Code Documents <https://docs.fd.io/vpp/18.07/clicmd.html>`_ .
IP Route
==========
Summary/Usage
--------------
`ip route [add|del] [count <*n*>] <*dst-ip-addr*>/<*width*> [table <*table-id*>] via [next-hop-address[next-hop-interface] [next-hop-table <*value*>] [weight <*value*>] [preference <*value*>] [udp-encap-id <*value*>] [ip4-lookup-in-table <*value*>] [ip6-lookup-in-table <*value*>] [mpls-lookup-in-table <*value*>] [resolve-via-host] [resolve-via-connected] [rx-ip4 <*interface*>] [out-labels <*value value value*>]`
Description
------------
This command is used to add or delete IPv4 or IPv6 routes. All IP Addresses
('<*dst-ip-addr*>/<*width*>', '<*next-hop-ip-addr*>' and '<*adj-hop-ip-addr*>') can be IPv4 or IPv6,
but all must be of the same form in a single command. To display the current set of routes,
use the commands 'show ip fib' and 'show ip6 fib'.
Example Usage
--------------
Example of how to add a straight forward static route:
.. code-block:: console
vpp# ip route add 6.0.1.2/32 via 6.0.0.1 GigabitEthernet2/0/0
Example of how to delete a straight forward static route:
.. code-block:: console
vpp# ip route del 6.0.1.2/32 via 6.0.0.1 GigabitEthernet2/0/0
Mainly for route add/del performance testing, one can add or delete multiple routes by adding
'count N' to the previous item:
.. code-block:: console
vpp# ip route add count 10 7.0.0.0/24 via 6.0.0.1 GigabitEthernet2/0/0
Add multiple routes for the same destination to create equal-cost multipath:
.. code-block:: console
vpp# ip route add 7.0.0.1/32 via 6.0.0.1 GigabitEthernet2/0/0
vpp# ip route add 7.0.0.1/32 via 6.0.0.2 GigabitEthernet2/0/0
For unequal-cost multipath, specify the desired weights. This combination of weights
results in 3/4 of the traffic following the second path, 1/4 following the first path:
.. code-block:: console
vpp# ip route add 7.0.0.1/32 via 6.0.0.1 GigabitEthernet2/0/0 weight 1
vpp# ip route add 7.0.0.1/32 via 6.0.0.2 GigabitEthernet2/0/0 weight 3
To add a route to a particular FIB table (VRF), use:
.. code-block:: console
vpp# ip route add 172.16.24.0/24 table 7 via GigabitEthernet2/0/0
Declaration and Implementation
---------------------------------
**Declaration:** ip_route_command (src/vnet/ip/lookup.c line 641)
**Implementation:** vnet_ip_route_cmd
Ping
=====
Summary/Usage
--------------
ping {<*ip-addr*> | ipv4 <*ip4-addr*> | ipv6 <*ip6-addr*>} [ipv4 <*ip4-addr*> | ipv6 <*ip6-addr*>] [source <*interface*>] [size <*pktsize*>] [interval <*sec*>] [repeat <*cnt*>] [table-id <*id*>] [verbose]
Description
------------
This command sends an ICMP ECHO_REQUEST to network hosts. The address can be an IPv4 or IPv6
address (or both at the same time).
Example Usage
--------------
Example of how ping an IPv4 address:
.. code-block:: console
vpp# ping 172.16.1.2 source GigabitEthernet2/0/0 repeat 2
64 bytes from 172.16.1.2: icmp_seq=1 ttl=64 time=.1090 ms
64 bytes from 172.16.1.2: icmp_seq=2 ttl=64 time=.0914 ms
Statistics: 2 sent, 2 received, 0% packet loss
Example of how ping both an IPv4 address and IPv6 address at the same time:
vpp# ping 172.16.1.2 ipv6 fe80::24a5:f6ff:fe9c:3a36 source GigabitEthernet2/0/0 repeat 2 verbose
Adjacency index: 10, sw_if_index: 1
Adj: ip6-discover-neighbor
Adj Interface: 0
Forced set interface: 1
Adjacency index: 0, sw_if_index: 4294967295
Adj: ip4-miss
Adj Interface: 0
Forced set interface: 1
Source address: 172.16.1.1
64 bytes from 172.16.1.2: icmp_seq=1 ttl=64 time=.1899 ms
Adjacency index: 10, sw_if_index: 1
Adj: ip6-discover-neighbor
Adj Interface: 0
Forced set interface: 1
Adjacency index: 0, sw_if_index: 4294967295
Adj: ip4-miss
Adj Interface: 0
Forced set interface: 1
Source address: 172.16.1.1
64 bytes from 172.16.1.2: icmp_seq=2 ttl=64 time=.0910 ms
Statistics: 4 sent, 2 received, 50% packet loss
Declaration and Implementation
-------------------------------
Declaration: ping_command (src/vnet/ip/ping.c line 899)
Implementation: ping_ip_address
Set Interface IP Address
=========================
`Set Interface IP Address <../interface/setinterface.html#set-interface-ip-address>`_
Show IP Arp
=============
`Show IP-Arp <../show/show.html#show-ip-arp>`_
Show IP Fib
============
`Show IP-Fib <../show/show.html#show-ip-fib>`_
|