FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
Layer 3 IP CLI

clear ioam rewrite

Summary/usage

clear ioam rewrite.

Description

This command clears all the In-band OAM (iOAM) features enabled by the &#39;<em>set ioam rewrite</em>&#39; command. Use &#39;<em>show ioam summary</em>&#39; to verify the configured settings cleared.

Example usage
Example of how to clear iOAM features:
vpp# clear ioam rewrite

Declaration and implementation

Declaration: ip6_clear_ioam_rewrite_cmd (src/vnet/ip/ip6_hop_by_hop.c line 1268)

Implementation: clear_ioam_rewrite_command_fn.

disable ip6 interface

Summary/usage

disable ip6 interface &lt;interface&gt;.

Description

This command is used to disable IPv6 on a given interface.

Example usage
Example of how disable IPv6 on a given interface:
vpp# disable ip6 interface GigabitEthernet2/0/0

Declaration and implementation

Declaration: disable_ip6_interface_command (src/vnet/ip/ip6_link.c line 831)

Implementation: disable_ip6_interface_cmd.

enable ip6 interface

Summary/usage

enable ip6 interface &lt;interface&gt;.

Description

This command is used to enable IPv6 on a given interface.

Example usage
Example of how enable IPv6 on a given interface:
vpp# enable ip6 interface GigabitEthernet2/0/0

Declaration and implementation

Declaration: enable_ip6_interface_command (src/vnet/ip/ip6_link.c line 791)

Implementation: enable_ip6_interface_cmd.

ip

Summary/usage

Internet protocol (IP) commands.

Declaration and implementation

Declaration: vlib_cli_ip_command (src/vnet/ip/lookup.c line 444)

ip container

Summary/usage

ip container &lt;address&gt; &lt;interface&gt;.

Declaration and implementation

Declaration: ip_container_command_node (src/vnet/ip/ip_container_proxy.c line 224)

Implementation: ip_container_cmd.

ip mroute

Summary/usage

ip mroute [add|del] &lt;dst-ip-addr&gt;/&lt;width&gt; [table &lt;table-id&gt;] [rpf-id &lt;ID&gt;] [via &lt;next-hop-ip-addr&gt; [&lt;interface&gt;],.

Description

This command is used to add or delete IPv4 or IPv6 multicast routes. All IP Addresses (&#39;<em><dst-ip-addr>/<width></em>&#39;, &#39;<em><next-hop-ip-addr></em>&#39; and &#39;<em><adj-hop-ip-addr></em>&#39;) 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 &#39;<em>show ip mfib</em>&#39; and &#39;<em>show ip6 mfib</em>&#39;. The full set of support flags for interfaces and route is shown via; &#39;<em>show mfib route flags</em>&#39; and &#39;<em>show mfib itf flags</em>&#39; respectively.

Example usage
Example of how to add a forwarding interface to a route (and create the route if it does not exist)
vpp# ip mroute add 232.1.1.1 via GigabitEthernet2/0/0 Forward
Example of how to add an accepting interface to a route (and create the route if it does not exist)
vpp# ip mroute add 232.1.1.1 via GigabitEthernet2/0/1 Accept
Example of changing the route&#39;s flags to send signals via the API
vpp# ip mroute add 232.1.1.1 Signal

Declaration and implementation

Declaration: ip_mroute_command (src/vnet/ip/lookup.c line 894)

Implementation: vnet_ip_mroute_cmd.

ip punt policer

Summary/usage

ip punt policer [add|del] &lt;index&gt;.

Description

Example usage
vpp# set ip punt policer <INDEX>

Declaration and implementation

Declaration: ip4_punt_policer_command (src/vnet/ip/ip4_punt_drop.c line 305)

Implementation: ip4_punt_police_cmd.

ip punt redirect

Summary/usage

ip punt redirect [add|del] rx [&lt;interface&gt;|all] via [&lt;nh&gt;] &lt;tx_interface&gt;.

Description

Example usage
vpp# set ip punt policer

Declaration and implementation

Declaration: ip4_punt_redirect_command (src/vnet/ip/ip4_punt_drop.c line 425)

Implementation: ip4_punt_redirect_cmd.

ip route

Summary/usage

ip route [add|del] [count &lt;n&gt;] &lt;dst-ip-addr&gt;/&lt;width&gt; [table &lt;table-id&gt;] via [next-hop-address] [next-hop-interface] [next-hop-table &lt;value&gt;] [weight &lt;value&gt;] [preference &lt;value&gt;] [udp-encap-id &lt;value&gt;] [ip4-lookup-in-table &lt;value&gt;] [ip6-lookup-in-table &lt;value&gt;] [mpls-lookup-in-table &lt;value&gt;] [resolve-via-host] [resolve-via-connected] [rx-ip4 &lt;interface&gt;] [out-labels &lt;value value value&gt;].

Description

This command is used to add or delete IPv4 or IPv6 routes. All IP Addresses (&#39;<em><dst-ip-addr>/<width></em>&#39;, &#39;<em><next-hop-ip-addr></em>&#39; and &#39;<em><adj-hop-ip-addr></em>&#39;) 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 &#39;<em>show ip fib</em>&#39; and &#39;<em>show ip6 fib</em>&#39;.

Example usage
Example of how to add a straight forward static route:
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:
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 &#39;count N&#39; to the previous item:
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:
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:
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:
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 499)

Implementation: vnet_ip_route_cmd.

ip table

Summary/usage

ip table [add|del] &lt;table-id&gt;.

Description

This command is used to add or delete IPv4 Tables. All Tables must be explicitly added before that can be used. Creating a table will add both unicast and multicast FIBs

Declaration and implementation

Declaration: ip4_table_command (src/vnet/ip/lookup.c line 514)

Implementation: vnet_ip4_table_cmd.

ip6

Summary/usage

Internet protocol version 6 (IPv6) commands.

Declaration and implementation

Declaration: vlib_cli_ip6_command (src/vnet/ip/lookup.c line 451)

ip6 punt policer

Summary/usage

ip6 punt policer [add|del] &lt;index&gt;.

Description

Example usage
vpp# set ip punt policer <INDEX>

Declaration and implementation

Declaration: ip6_punt_policer_command (src/vnet/ip/ip6_punt_drop.c line 247)

Implementation: ip6_punt_police_cmd.

ip6 punt redirect

Summary/usage

ip6 punt redirect [add|del] rx [&lt;interface&gt;|all] via [&lt;nh&gt;] &lt;tx_interface&gt;.

Description

Example usage
vpp# set ip punt policer <INDEX>

Declaration and implementation

Declaration: ip6_punt_redirect_command (src/vnet/ip/ip6_punt_drop.c line 414)

Implementation: ip6_punt_redirect_cmd.

ip6 table

Summary/usage

ip6 table [add|del] &lt;table-id&gt;.

Description

This command is used to add or delete IPv4 Tables. All Tables must be explicitly added before that can be used. Creating a table will add both unicast and multicast FIBs

Declaration and implementation

Declaration: ip6_table_command (src/vnet/ip/lookup.c line 529)

Implementation: vnet_ip6_table_cmd.

punt socket deregister

Summary/usage

punt socket deregister [IPV4|ipv6] [UDP|tcp] [ALL|&lt;port-num&gt;].

Description

Example usage
vpp# punt socket register

Declaration and implementation

Declaration: punt_socket_deregister_command (src/vnet/ip/punt.c line 681)

Implementation: punt_socket_deregister_cmd.

punt socket register

Summary/usage

punt socket register [IPV4|ipv6] [UDP|tcp] [ALL|&lt;port-num&gt;] socket &lt;socket&gt;.

Description

Example usage
vpp# punt socket register socket punt_l4_foo.sock

Declaration and implementation

Declaration: punt_socket_register_command (src/vnet/ip/punt.c line 612)

Implementation: punt_socket_register_cmd.

set interface ip

Summary/usage

IP4/IP6 commands.

Declaration and implementation

Declaration: set_interface_ip_command (src/vnet/ip/ip46_cli.c line 75)

set interface ip address

Summary/usage

set interface ip address [del] &lt;interface&gt; &lt;ip-addr&gt;/&lt;mask&gt; | [all].

Description

Add an IP Address to an interface or remove and IP Address from an interface. The IP Address can be an IPv4 or an IPv6 address. Interfaces may have multiple IPv4 and IPv6 addresses. There is no concept of primary vs. secondary interface addresses; they&#39;re just addresses.

To display the addresses associated with a given interface, use the command &#39;<em>show interface address <interface></em>&#39;.

Note that the debug CLI does not enforce classful mask-width / addressing constraints.

Example usage

An example of how to add an IPv4 address to an interface:

vpp# set interface ip address GigabitEthernet2/0/0 172.16.2.12/24

An example of how to add an IPv6 address to an interface:

vpp# set interface ip address GigabitEthernet2/0/0 ::a:1:1:0:7/126

To delete a specific interface ip address:

vpp# set interface ip address del GigabitEthernet2/0/0 172.16.2.12/24

To delete all interfaces addresses (IPv4 and IPv6):

vpp# set interface ip address del GigabitEthernet2/0/0 all

Declaration and implementation

Declaration: set_interface_ip_address_command (src/vnet/ip/ip46_cli.c line 216)

Implementation: add_del_ip_address.

set interface ip source-and-port-range-check

Summary/usage

set interface ip source-and-port-range-check &lt;interface&gt; [tcp-out-vrf &lt;table-id&gt;] [udp-out-vrf &lt;table-id&gt;] [tcp-in-vrf &lt;table-id&gt;] [udp-in-vrf &lt;table-id&gt;] [del].

Description

Add the &#39;ip4-source-and-port-range-check-rx&#39; or &#39;ip4-source-and-port-range-check-tx&#39; graph node for a given interface. &#39;tcp-out-vrf&#39; and &#39;udp-out-vrf&#39; will add to the RX path. &#39;tcp-in-vrf&#39; and &#39;udp-in-vrf&#39; will add to the TX path. A graph node will be inserted into the chain when the range check is added to the first interface. It will not be removed from when range check is removed from the last interface.

By adding the range check graph node to the interface, incoming or outgoing TCP/UDP packets will be validated using the provided IPv4 FIB table (VRF).

Note
&#39;ip4-source-and-port-range-check-rx&#39; and &#39;ip4-source-and-port-range-check-tx&#39; strings are too long, so they are truncated on the &#39;show vlib graph&#39; output.
Example usage

Example of graph node before range checking is enabled:

vpp# show vlib graph ip4-source-and-port-range-check-tx

           Name                      Next                    Previous
ip4-source-and-port-range-      ip4-drop [0]

Example of how to enable range checking on TX:

vpp# set interface ip source-and-port-range-check GigabitEthernet2/0/0 udp-in-vrf 7

Example of graph node after range checking is enabled:

vpp# show vlib graph ip4-source-and-port-range-check-tx

           Name                      Next                    Previous
ip4-source-and-port-range-      ip4-drop [0]                ip4-rewrite
                             interface-output [1]

Example of how to display the features enabed on an interface:

vpp# show ip interface features GigabitEthernet2/0/0

IP feature paths configured on GigabitEthernet2/0/0...

ipv4 unicast:
  ip4-source-and-port-range-check-rx
  ip4-lookup

ipv4 multicast:
  ip4-lookup-multicast

ipv4 multicast:
  interface-output

ipv6 unicast:
  ip6-lookup

ipv6 multicast:
  ip6-lookup

ipv6 multicast:
  interface-output

Declaration and implementation

Declaration: set_interface_ip_source_and_port_range_check_command (src/vnet/ip/ip4_source_and_port_range_check.c line 817)

Implementation: set_ip_source_and_port_range_check_fn.

set interface ip table

Summary/usage

set interface ip table &lt;interface&gt; &lt;table-id&gt;.

Description

Place the indicated interface into the supplied IPv4 FIB table (also known as a VRF). The FIB table must be created using &#34;ip table add&#34; already. To display the current IPv4 FIB table, use the command &#39;<em>show ip fib</em>&#39;. FIB table will only be displayed if a route has been added to the table, or an IP Address is assigned to an interface in the table (which adds a route automatically).

Note
IP addresses added after setting the interface IP table are added to the indicated FIB table. If an IP address is added prior to changing the table then this is an error. The control plane must remove these addresses first and then change the table. VPP will not automatically move the addresses from the old to the new table as it does not know the validity of such a change.
Example usage
Example of how to add an interface to an IPv4 FIB table (where 2 is the table-id):
vpp# set interface ip table GigabitEthernet2/0/0 2

Declaration and implementation

Declaration: set_interface_ip_table_command (src/vnet/ip/lookup.c line 622)

Implementation: ip4_table_bind_cmd.

set interface ip6 table

Summary/usage

set interface ip6 table &lt;interface&gt; &lt;table-id&gt;.

Description

Place the indicated interface into the supplied IPv6 FIB table (also known as a VRF). The FIB table must be created using &#34;ip6 table add&#34; already. To display the current IPv6 FIB table, use the command &#39;<em>show ip6 fib</em>&#39;. FIB table will only be displayed if a route has been added to the table, or an IP Address is assigned to an interface in the table (which adds a route automatically).

Note
IP addresses added after setting the interface IP table are added to the indicated FIB table. If an IP address is added prior to changing the table then this is an error. The control plane must remove these addresses first and then change the table. VPP will not automatically move the addresses from the old to the new table as it does not know the validity of such a change.
Example usage
Example of how to add an interface to an IPv6 FIB table (where 2 is the table-id):
vpp# set interface ip6 table GigabitEthernet2/0/0 2

Declaration and implementation

Declaration: set_interface_ip6_table_command (src/vnet/ip/lookup.c line 650)

Implementation: ip6_table_bind_cmd.

set interface reassembly

Summary/usage

set interface reassembly &lt;interface-name&gt; [on|off|ip4|ip6].

Declaration and implementation

Declaration: set_reassembly_command (src/vnet/ip/ip46_cli.c line 298)

Implementation: set_reassembly_command_fn.

set ioam rewrite

Summary/usage

set ioam [trace] [pot] [seqno] [analyse].

Description

This command is used to enable In-band OAM (iOAM) features on IPv6. &#39;<em>trace</em>&#39; is used to enable iOAM trace feature. &#39;<em>pot</em>&#39; is used to enable the Proof Of Transit feature. &#39;<em>ppc</em>&#39; is used to indicate the Per Packet Counter feature for Edge to Edge processing. &#39;<em>ppc</em>&#39; is used to indicate if this node is an &#39;<em>encap</em>&#39; node (iOAM edge node where packet enters iOAM domain), a &#39;<em>decap</em>&#39; node (iOAM edge node where packet leaves iOAM domain) or &#39;<em>none</em>&#39; (iOAM node where packet is in-transit through the iOAM domain). &#39;<em>ppc</em>&#39; can only be set if &#39;<em>trace</em>&#39; or &#39;<em>pot</em>&#39; is enabled.

Use &#39;<em>clear ioam rewrite</em>&#39; to disable all features enabled by this command. Use &#39;<em>show ioam summary</em>&#39; to verify the configured settings.

Example usage
Example of how to enable trace and pot with ppc set to encap:
vpp# set ioam rewrite trace pot ppc encap

Declaration and implementation

Declaration: ip6_set_ioam_rewrite_cmd (src/vnet/ip/ip6_hop_by_hop.c line 1375)

Implementation: ip6_set_ioam_rewrite_command_fn.

set ip classify

Summary/usage

set ip classify intfc &lt;interface&gt; table-index &lt;classify-idx&gt;.

Description

Assign a classification table to an interface. The classification table is created using the &#39;<em>classify table</em>&#39; and &#39;<em>classify session</em>&#39; commands. Once the table is create, use this command to filter packets on an interface.

Example usage
Example of how to assign a classification table to an interface:
vpp# set ip classify intfc GigabitEthernet2/0/0 table-index 1

Declaration and implementation

Declaration: set_ip_classify_command (src/vnet/ip/ip4_forward.c line 3018)

Implementation: set_ip_classify_command_fn.

set ip flow-hash

Summary/usage

set ip flow-hash table &lt;table-id&gt; [src] [dst] [sport] [dport] [proto] [reverse].

Description

Configure the set of IPv4 fields used by the flow hash.

Example usage
Example of how to set the flow hash on a given table:
vpp# set ip flow-hash table 7 dst sport dport proto
Example of display the configured flow hash:
vpp# show ip fib
ipv4-VRF:0, fib_index 0, flow hash: src dst sport dport proto
0.0.0.0/0
  unicast-ip4-chain
  [@0]: dpo-load-balance: [index:0 buckets:1 uRPF:0 to:[0:0]]
    [0] [@0]: dpo-drop ip6
0.0.0.0/32
  unicast-ip4-chain
  [@0]: dpo-load-balance: [index:1 buckets:1 uRPF:1 to:[0:0]]
    [0] [@0]: dpo-drop ip6
224.0.0.0/8
  unicast-ip4-chain
  [@0]: dpo-load-balance: [index:3 buckets:1 uRPF:3 to:[0:0]]
    [0] [@0]: dpo-drop ip6
6.0.1.2/32
  unicast-ip4-chain
  [@0]: dpo-load-balance: [index:30 buckets:1 uRPF:29 to:[0:0]]
    [0] [@3]: arp-ipv4: via 6.0.0.1 af_packet0
7.0.0.1/32
  unicast-ip4-chain
  [@0]: dpo-load-balance: [index:31 buckets:4 uRPF:30 to:[0:0]]
    [0] [@3]: arp-ipv4: via 6.0.0.2 af_packet0
    [1] [@3]: arp-ipv4: via 6.0.0.2 af_packet0
    [2] [@3]: arp-ipv4: via 6.0.0.2 af_packet0
    [3] [@3]: arp-ipv4: via 6.0.0.1 af_packet0
240.0.0.0/8
  unicast-ip4-chain
  [@0]: dpo-load-balance: [index:2 buckets:1 uRPF:2 to:[0:0]]
    [0] [@0]: dpo-drop ip6
255.255.255.255/32
  unicast-ip4-chain
  [@0]: dpo-load-balance: [index:4 buckets:1 uRPF:4 to:[0:0]]
    [0] [@0]: dpo-drop ip6
ipv4-VRF:7, fib_index 1, flow hash: dst sport dport proto
0.0.0.0/0
  unicast-ip4-chain
  [@0]: dpo-load-balance: [index:12 buckets:1 uRPF:11 to:[0:0]]
    [0] [@0]: dpo-drop ip6
0.0.0.0/32
  unicast-ip4-chain
  [@0]: dpo-load-balance: [index:13 buckets:1 uRPF:12 to:[0:0]]
    [0] [@0]: dpo-drop ip6
172.16.1.0/24
  unicast-ip4-chain
  [@0]: dpo-load-balance: [index:17 buckets:1 uRPF:16 to:[0:0]]
    [0] [@4]: ipv4-glean: af_packet0
172.16.1.1/32
  unicast-ip4-chain
  [@0]: dpo-load-balance: [index:18 buckets:1 uRPF:17 to:[1:84]]
    [0] [@2]: dpo-receive: 172.16.1.1 on af_packet0
172.16.1.2/32
  unicast-ip4-chain
  [@0]: dpo-load-balance: [index:21 buckets:1 uRPF:20 to:[0:0]]
    [0] [@5]: ipv4 via 172.16.1.2 af_packet0: IP4: 02:fe:9e:70:7a:2b -> 26:a5:f6:9c:3a:36
172.16.2.0/24
  unicast-ip4-chain
  [@0]: dpo-load-balance: [index:19 buckets:1 uRPF:18 to:[0:0]]
    [0] [@4]: ipv4-glean: af_packet1
172.16.2.1/32
  unicast-ip4-chain
  [@0]: dpo-load-balance: [index:20 buckets:1 uRPF:19 to:[0:0]]
    [0] [@2]: dpo-receive: 172.16.2.1 on af_packet1
224.0.0.0/8
  unicast-ip4-chain
  [@0]: dpo-load-balance: [index:15 buckets:1 uRPF:14 to:[0:0]]
    [0] [@0]: dpo-drop ip6
240.0.0.0/8
  unicast-ip4-chain
  [@0]: dpo-load-balance: [index:14 buckets:1 uRPF:13 to:[0:0]]
    [0] [@0]: dpo-drop ip6
255.255.255.255/32
  unicast-ip4-chain
  [@0]: dpo-load-balance: [index:16 buckets:1 uRPF:15 to:[0:0]]
    [0] [@0]: dpo-drop ip6

Declaration and implementation

Declaration: set_ip_flow_hash_command (src/vnet/ip/ip4_forward.c line 2893)

Implementation: set_ip_flow_hash_command_fn.

set ip source-and-port-range-check

Summary/usage

set ip source-and-port-range-check vrf &lt;table-id&gt; &lt;ip-addr&gt;/&lt;mask&gt; {port nn | range &lt;nn&gt; - &lt;nn&gt;} [del].

Description

This command adds an IP Subnet and range of ports to be validated by an IP FIB table (VRF).

Example usage
Example of how to add an IPv4 subnet and single port to an IPv4 FIB table:
vpp# set ip source-and-port-range-check vrf 7 172.16.1.0/24 port 23
Example of how to add an IPv4 subnet and range of ports to an IPv4 FIB table:
vpp# set ip source-and-port-range-check vrf 7 172.16.1.0/24 range 23 - 100
Example of how to delete an IPv4 subnet and single port from an IPv4 FIB table:
vpp# set ip source-and-port-range-check vrf 7 172.16.1.0/24 port 23 del
Example of how to delete an IPv4 subnet and range of ports from an IPv4 FIB table:
vpp# set ip source-and-port-range-check vrf 7 172.16.1.0/24 range 23 - 100 del

Declaration and implementation

Declaration: ip_source_and_port_range_check_command (src/vnet/ip/ip4_source_and_port_range_check.c line 1284)

Implementation: ip_source_and_port_range_check_command_fn.

set ip6 classify

Summary/usage

set ip6 classify intfc &lt;interface&gt; table-index &lt;classify-idx&gt;.

Description

Assign a classification table to an interface. The classification table is created using the &#39;<em>classify table</em>&#39; and &#39;<em>classify session</em>&#39; commands. Once the table is create, use this command to filter packets on an interface.

Example usage
Example of how to assign a classification table to an interface:
vpp# set ip6 classify intfc GigabitEthernet2/0/0 table-index 1

Declaration and implementation

Declaration: set_ip6_classify_command (src/vnet/ip/ip6_forward.c line 3127)

Implementation: set_ip6_classify_command_fn.

set ip6 flow-hash

Summary/usage

set ip6 flow-hash table &lt;table-id&gt; [src] [dst] [sport] [dport] [proto] [reverse] [flowlabel].

Description

Configure the set of IPv6 fields used by the flow hash.

Example usage

Example of how to set the flow hash on a given table:

vpp# set ip6 flow-hash table 8 dst sport dport proto

Example of display the configured flow hash:

vpp# show ip6 fib

ipv6-VRF:0, fib_index 0, flow hash: src dst sport dport proto
::/0
  unicast-ip6-chain
  [@0]: dpo-load-balance: [index:5 buckets:1 uRPF:5 to:[0:0]]
    [0] [@0]: dpo-drop ip6
fe80::/10
  unicast-ip6-chain
  [@0]: dpo-load-balance: [index:10 buckets:1 uRPF:10 to:[0:0]]
    [0] [@2]: dpo-receive
ff02::1/128
  unicast-ip6-chain
  [@0]: dpo-load-balance: [index:8 buckets:1 uRPF:8 to:[0:0]]
    [0] [@2]: dpo-receive
ff02::2/128
  unicast-ip6-chain
  [@0]: dpo-load-balance: [index:7 buckets:1 uRPF:7 to:[0:0]]
    [0] [@2]: dpo-receive
ff02::16/128
  unicast-ip6-chain
  [@0]: dpo-load-balance: [index:9 buckets:1 uRPF:9 to:[0:0]]
    [0] [@2]: dpo-receive
ff02::1:ff00:0/104
  unicast-ip6-chain
  [@0]: dpo-load-balance: [index:6 buckets:1 uRPF:6 to:[0:0]]
    [0] [@2]: dpo-receive
ipv6-VRF:8, fib_index 1, flow hash: dst sport dport proto
::/0
  unicast-ip6-chain
  [@0]: dpo-load-balance: [index:21 buckets:1 uRPF:20 to:[0:0]]
    [0] [@0]: dpo-drop ip6
::a:1:1:0:4/126
  unicast-ip6-chain
  [@0]: dpo-load-balance: [index:27 buckets:1 uRPF:26 to:[0:0]]
    [0] [@4]: ipv6-glean: af_packet0
::a:1:1:0:7/128
  unicast-ip6-chain
  [@0]: dpo-load-balance: [index:28 buckets:1 uRPF:27 to:[0:0]]
    [0] [@2]: dpo-receive: ::a:1:1:0:7 on af_packet0
fe80::/10
  unicast-ip6-chain
  [@0]: dpo-load-balance: [index:26 buckets:1 uRPF:25 to:[0:0]]
    [0] [@2]: dpo-receive
fe80::fe:3eff:fe3e:9222/128
  unicast-ip6-chain
  [@0]: dpo-load-balance: [index:29 buckets:1 uRPF:28 to:[0:0]]
    [0] [@2]: dpo-receive: fe80::fe:3eff:fe3e:9222 on af_packet0
ff02::1/128
  unicast-ip6-chain
  [@0]: dpo-load-balance: [index:24 buckets:1 uRPF:23 to:[0:0]]
    [0] [@2]: dpo-receive
ff02::2/128
  unicast-ip6-chain
  [@0]: dpo-load-balance: [index:23 buckets:1 uRPF:22 to:[0:0]]
    [0] [@2]: dpo-receive
ff02::16/128
  unicast-ip6-chain
  [@0]: dpo-load-balance: [index:25 buckets:1 uRPF:24 to:[0:0]]
    [0] [@2]: dpo-receive
ff02::1:ff00:0/104
  unicast-ip6-chain
  [@0]: dpo-load-balance: [index:22 buckets:1 uRPF:21 to:[0:0]]
    [0] [@2]: dpo-receive

Declaration and implementation

Declaration: set_ip6_flow_hash_command (src/vnet/ip/ip6_forward.c line 2960)

Implementation: set_ip6_flow_hash_command_fn.

set punt

Summary/usage

set punt [IPV4|ip6|ipv6] [UDP|tcp] [del] [ALL|&lt;port-num&gt;].

Description

The set of &#39;<em>set punt</em>&#39; commands allows specific IP traffic to be punted to the host TCP/IP stack

Note

  • UDP is the only protocol supported in the current implementation
  • All TCP traffic is currently punted to the host by default
Example usage

Example of how to request NTP traffic to be punted

vpp# set punt udp 125

Example of how to request all &#39;unknown&#39; UDP traffic to be punted

vpp# set punt udp all

Example of how to stop all &#39;unknown&#39; UDP traffic to be punted

vpp# set punt udp del all

Declaration and implementation

Declaration: punt_command (src/vnet/ip/punt.c line 537)

Implementation: punt_cli.

show ioam summary

Summary/usage

show ioam summary.

Description

This command displays the current configuration data for In-band OAM (iOAM).

Example usage
Example to show the iOAM configuration:
vpp# show ioam summary
              REWRITE FLOW CONFIGS -
               Destination Address : ff02::1
                    Flow operation : 2 (Pop)
                        TRACE OPTION - 1 (Enabled)
Try &#39;show ioam trace and show ioam-trace profile&#39; for more information
                        POT OPTION - 1 (Enabled)
Try &#39;show ioam pot and show pot profile&#39; for more information
         EDGE TO EDGE - PPC OPTION - 1 (Encap)

Declaration and implementation

Declaration: ip6_show_ioam_run_cmd (src/vnet/ip/ip6_hop_by_hop.c line 1459)

Implementation: ip6_show_ioam_summary_cmd_fn.

show ip

Summary/usage

Internet protocol (IP) show commands.

Declaration and implementation

Declaration: vlib_cli_show_ip_command (src/vnet/ip/lookup.c line 458)

show ip container

Summary/usage

show ip container &lt;address&gt; &lt;interface&gt;.

Declaration and implementation

Declaration: show_ip_container_command (src/vnet/ip/ip_container_proxy.c line 283)

Implementation: show_ip_container_cmd_fn.

show ip local

Summary/usage

show ip local.

Description

Display the set of protocols handled by the local IPv4 stack.

Example usage
Example of how to display local protocol table:
vpp# show ip local
Protocols handled by ip4_local
1
17
47

Declaration and implementation

Declaration: show_ip_local (src/vnet/ip/ip4_forward.c line 1955)

Implementation: show_ip_local_command_fn.

show ip pmtu

Summary/usage

show ip path MTU.

Declaration and implementation

Declaration: show_fib_entry (src/vnet/ip/ip_path_mtu.c line 871)

Implementation: show_ip_pmtu_command.

show ip punt redirect

Summary/usage

show ip punt redirect.

Description

Example usage
vpp# set ip punt redierect

Declaration and implementation

Declaration: show_ip4_punt_redirect_command (src/vnet/ip/ip4_punt_drop.c line 449)

Implementation: ip4_punt_redirect_show_cmd.

show ip source-and-port-range-check

Summary/usage

show ip source-and-port-range-check vrf &lt;table-id&gt; &lt;ip-addr&gt; [port &lt;n&gt;].

Description

Display the range of ports being validated by an IPv4 FIB for a given IP or subnet, or test if a given IP and port are being validated.

Example usage
Example of how to display the set of ports being validated for a given IPv4 subnet:
vpp# show ip source-and-port-range-check vrf 7 172.16.2.0
172.16.2.0: 23 - 101
Example of how to test to determine of a given Pv4 address and port are being validated:
vpp# show ip source-and-port-range-check vrf 7 172.16.2.2 port 23
172.16.2.2 port 23 PASS
vpp# show ip source-and-port-range-check vrf 7 172.16.2.2 port 250
172.16.2.2 port 250 FAIL

Declaration and implementation

Declaration: show_source_and_port_range_check (src/vnet/ip/ip4_source_and_port_range_check.c line 1410)

Implementation: show_source_and_port_range_check_fn.

show ip6

Summary/usage

Internet protocol version 6 (IPv6) show commands.

Declaration and implementation

Declaration: vlib_cli_show_ip6_command (src/vnet/ip/lookup.c line 465)

show ip6 hbh

Summary/usage

show ip6 hbh.

Description

Display the set of ip6 local hop-by-hop next protocol handler nodes

Example usage
Display ip6 local hop-by-hop next protocol handler nodes
vpp# show ip6 hbh

Declaration and implementation

Declaration: show_ip6_hbh (src/vnet/ip/ip6_hop_by_hop.c line 1063)

Implementation: show_ip6_hbh_command_fn.

show ip6 interface

Summary/usage

show ip6 interface &lt;interface&gt;.

Description

This command is used to display various IPv6 attributes on a given interface.

Example usage
Example of how to display IPv6 settings:
vpp# show ip6 interface GigabitEthernet2/0/0
GigabitEthernet2/0/0 is admin up
        Link-local address(es):
                fe80::ab8/64
        Joined group address(es):
                ff02::1
                ff02::2
                ff02::16
                ff02::1:ff00:ab8
        Advertised Prefixes:
                prefix fe80::fe:28ff:fe9c:75b3,  length 64
        MTU is 1500
        ICMP error messages are unlimited
        ICMP redirects are disabled
        ICMP unreachables are not sent
        ND DAD is disabled
        ND advertised reachable time is 0
        ND advertised retransmit interval is 0 (msec)
        ND router advertisements are sent every 200 seconds (min interval is 150)
        ND router advertisements live for 600 seconds
        Hosts use stateless autoconfig for addresses
        ND router advertisements sent 19336
        ND router solicitations received 0
        ND router solicitations dropped 0
Example of output if IPv6 is not enabled on the interface:
vpp# show ip6 interface GigabitEthernet2/0/0
show ip6 interface: IPv6 not enabled on interface

Declaration and implementation

Declaration: ip6_link_show_command (src/vnet/ip/ip6_link.c line 751)

Implementation: ip6_link_show.

show ip6 local

Summary/usage

show ip6 local.

Description

Display the set of protocols handled by the local IPv6 stack.

Example usage
Example of how to display local protocol table:
vpp# show ip6 local
Protocols handled by ip6_local
17
43
58
115

Declaration and implementation

Declaration: show_ip6_local (src/vnet/ip/ip6_forward.c line 3008)

Implementation: show_ip6_local_command_fn.

show ip6 punt redirect

Summary/usage

show ip6 punt redirect.

Description

Example usage
vpp# set ip punt policer <INDEX>

Declaration and implementation

Declaration: show_ip6_punt_redirect_command (src/vnet/ip/ip6_punt_drop.c line 442)

Implementation: ip6_punt_redirect_show_cmd.

show ip6-ll

Summary/usage

show ip6-ll [summary] [interface] [&lt;ip6-addr&gt;[/&lt;width&gt;]] [detail].

Declaration and implementation

Declaration: ip6_show_fib_command (src/vnet/ip/ip6_ll_table.c line 349)

Implementation: ip6_ll_show_fib.

show punt socket registrations

Summary/usage

show punt socket registrations [l4|exception].

Description

Example usage
vpp# show punt socket ipv4

Declaration and implementation

Declaration: show_punt_socket_registration_command (src/vnet/ip/punt.c line 817)

Implementation: punt_socket_show_cmd.

test ip checksum

Summary/usage

test ip checksum.

Declaration and implementation

Declaration: test_checksum (src/vnet/ip/ip_checksum.c line 169)

Implementation: test_ip_checksum_fn.

test ip6 link

Summary/usage

test ip6 link &lt;mac-address&gt;.

Description

This command converts the given MAC Address into an IPv6 link-local address.

Example usage
Example of how to create an IPv6 link-local address:
vpp# test ip6 link 16:d9:e0:91:79:86
Link local address: fe80::14d9:e0ff:fe91:7986
Original MAC address: 16:d9:e0:91:79:86

Declaration and implementation

Declaration: test_link_command (src/vnet/ip/ip6_link.c line 567)

Implementation: test_ip6_link_command_fn.

test lookup

Summary/usage

test lookup &lt;ipv4-addr&gt; [table &lt;fib-id&gt;] [count &lt;nn&gt;].

Description

Perform a lookup of an IPv4 Address (or range of addresses) in the given FIB table to determine if there is a conflict with the adjacency table. The fib-id can be determined by using the &#39;<em>show ip fib</em>&#39; command. If fib-id is not entered, default value of 0 is used.

Example usage
Example of how to run the test lookup command:
vpp# test lookup 172.16.1.1 table 1 count 2
No errors in 2 lookups

Declaration and implementation

Declaration: lookup_test_command (src/vnet/ip/ip4_forward.c line 2754)

Implementation: test_lookup_command_fn.