FD.io VPP  v16.09
Vector Packet Processing
ARP and Loopback CLI

set interface proxy-arp

Summary/usage

set interface proxy-arp <intfc> [enable|disable].

Description

Enable proxy-arp on an interface. The vpp stack will answer ARP requests for the indicated address range. Multiple proxy-arp ranges may be provisioned.

Note
Proxy ARP as a technology is infamous for blackholing traffic. Also, the underlying implementation has not been performance-tuned. Avoid creating an unnecessarily large set of ranges.
Example usage
To enable proxy arp on a range of addresses, use:
vpp# set ip arp proxy 6.0.0.1 - 6.0.0.11
Append 'del' to delete a range of proxy ARP addresses:
vpp# set ip arp proxy 6.0.0.1 - 6.0.0.11 del
You must then specifically enable proxy arp on individual interfaces:
vpp# set interface proxy-arp GigabitEthernet0/8/0 enable
To disable proxy arp on an individual interface:
vpp# set interface proxy-arp GigabitEthernet0/8/0 disable

Declaration and implementation

Declaration: set_int_proxy_enable_command (vnet/vnet/ethernet/arp.c:1890)

Implementation: set_int_proxy_arp_command_fn.

set ip arp

Summary/usage

set ip arp [del] <intfc> <ip-address> <mac-address> [static] [count <count>] [fib-id <fib-id>] [proxy <lo-addr> - <hi-addr>].

Description

Add or delete IPv4 ARP cache entries.

Note
'set ip arp' options (e.g. delete, static, 'fib-id <id>', 'count <number>', 'interface ip4_addr mac_addr') can be added in any order and combination.
Example usage

Add or delete IPv4 ARP cache entries as follows. MAC Address can be in either aa:bb:cc:dd:ee:ff format or aabb.ccdd.eeff format.

vpp# set ip arp GigabitEthernet2/0/0 6.0.0.3 dead.beef.babe

vpp# set ip arp delete GigabitEthernet2/0/0 6.0.0.3 de:ad:be:ef:ba:be

To add or delete an IPv4 ARP cache entry to or from a specific fib table:

vpp# set ip arp fib-id 1 GigabitEthernet2/0/0 6.0.0.3 dead.beef.babe

vpp# set ip arp fib-id 1 delete GigabitEthernet2/0/0 6.0.0.3 dead.beef.babe

Add or delete IPv4 static ARP cache entries as follows:

vpp# set ip arp static GigabitEthernet2/0/0 6.0.0.3 dead.beef.babe

vpp# set ip arp static delete GigabitEthernet2/0/0 6.0.0.3 dead.beef.babe

For testing / debugging purposes, the 'set ip arp' command can add or delete multiple entries. Supply the 'count N' parameter:

vpp# set ip arp count 10 GigabitEthernet2/0/0 6.0.0.3 dead.beef.babe

Declaration and implementation

Declaration: ip_arp_add_del_command (vnet/vnet/ethernet/arp.c:1823)

Implementation: ip_arp_add_del_command_fn.

show ip arp

Summary/usage

show ip arp.

Description

Display all the IPv4 ARP entries.

Example usage
Example of how to display the IPv4 ARP table:
vpp# show ip arp
   Time      FIB        IP4       Flags      Ethernet              Interface
   346.3028   0       6.1.1.3            de:ad:be:ef:ba:be   GigabitEthernet2/0/0
  3077.4271   0       6.1.1.4       S    de:ad:be:ef:ff:ff   GigabitEthernet2/0/0
  2998.6409   1       6.2.2.3            de:ad:be:ef:00:01   GigabitEthernet2/0/0
Proxy arps enabled for:
Fib_index 0   6.0.0.1 - 6.0.0.11

Declaration and implementation

Declaration: show_ip4_arp_command (vnet/vnet/ethernet/arp.c:1250)

Implementation: show_ip4_arp.

create loopback interface

Summary/usage

create loopback interface [mac <mac-addr>].

Description

Create a loopback interface. Optionally, a MAC Address can be provided. If not provided, de:ad:00:00:00:<loopId> will be used.

Example usage
The following two command syntaxes are equivalent:
vpp# loopback create-interface [mac <mac-addr>]
vpp# create loopback interface [mac <mac-addr>]
Example of how to create a loopback interface:
vpp# create loopback interface

Declaration and implementation

Declaration: create_loopback_interface_command (vnet/vnet/ethernet/interface.c:507)

Implementation: create_simulated_ethernet_interfaces.

delete loopback interface

Summary/usage

delete loopback interface intfc <interface>.

Description

Delete a loopback interface.

Example usage
The following two command syntaxes are equivalent:
vpp# loopback delete-interface intfc <interface>
vpp# delete loopback interface intfc <interface>
Example of how to delete a loopback interface:
vpp# delete loopback interface intfc loop0

Declaration and implementation

Declaration: delete_loopback_interface_command (vnet/vnet/ethernet/interface.c:597)

Implementation: delete_simulated_ethernet_interfaces.

loopback create-interface

Summary/usage

loopback create-interface [mac <mac-addr>].

Description

Create a loopback interface. Optionally, a MAC Address can be provided. If not provided, de:ad:00:00:00:<loopId> will be used.

Example usage
The following two command syntaxes are equivalent:
vpp# loopback create-interface [mac <mac-addr>]
vpp# create loopback interface [mac <mac-addr>]
Example of how to create a loopback interface:
vpp# loopback create-interface

Declaration and implementation

Declaration: create_simulated_ethernet_interface_command (vnet/vnet/ethernet/interface.c:488)

Implementation: create_simulated_ethernet_interfaces.

loopback delete-interface

Summary/usage

loopback delete-interface intfc <interface>.

Description

Delete a loopback interface.

Example usage
The following two command syntaxes are equivalent:
vpp# loopback delete-interface intfc <interface>
vpp# delete loopback interface intfc <interface>
Example of how to delete a loopback interface:
vpp# loopback delete-interface intfc loop0

Declaration and implementation

Declaration: delete_simulated_ethernet_interface_command (vnet/vnet/ethernet/interface.c:579)

Implementation: delete_simulated_ethernet_interfaces.