Usage

In this section, it is assumed that Virtual Accelerator has been properly installed and configured. See Getting Started for more details.

With Linux - Fast Path Synchronization you can manage VXLANs via standard Linux commands.

Synchronizing Linux and the fast path

  1. Load required modules:

    # modprobe vxlan
    

Managing VXLANs from Linux

The Linux commands below allow you to manage VXLAN interfaces.

Creating a VXLAN interface

# ip link add IFNAME type vxlan id ID group GROUPADDR dev LINK_IFNAME ageing LIFETIME dstport DSTPORT
IFNAME
VXLAN interface’s name.
ID
VXLAN interface ID.
GROUPADDR
Multicast group address.
LINK_IFNAME
Name of the link interface.
DSTPORT
Port number of the VXLAN interface (IANA has assigned port 4789, but the Linux default value is 8472).
LIFETIME
Lifetime of FDB entries learnt.

Example

Create a new device (vxlan10). The device uses the multicast group 239.0.0.10 over eth1 to handle packets when no forwarding table entry matches. Lifetime of FDB entries learnt is 3600 seconds.

# ip link add vxlan10 type vxlan id 10 group 239.0.0.10 dev eth1 ageing 3600 dstport 4789

Creating a VXLAN GBP interface

# ip link add IFNAME type vxlan id ID group GROUPADDR dev LINK_IFNAME ageing LIFETIME dstport DSTPORT gbp

Example

Create a new VXLAN GBP device and set a mark in gbp field with iptables while forwarding.

# ip link add vxlan10 type vxlan id 10 group 239.0.0.10 dev eth1 ageing 3600 dstport 4789 gbp
# iptables -t mangle -A PREROUTING -j MARK --set-mark 0xabcd

Displaying information about a VXLAN interface

# ip -d link show vxlan10

Deleting a VXLAN device

# ip link delete vxlan10

Displaying the forwarding table

# bridge fdb show dev vxlan10

Creating a forwarding table entry

# bridge fdb add to 00:17:42:8a:b4:05 dst 192.168.1.1 dev vxlan10 permanent

Deleting a forwarding table entry

# bridge fdb delete 00:17:42:8a:b4:05 dev vxlan10

Managing VXLANs from the fast path

The fp-cli command below allows you to manage VXLAN instances from the fast path.

Displaying VXLAN interfaces

vxlan

Example

<fp-0> vxlan
VXLAN: check of rx checksum is off

vrfid: 0 dstport: 4789
        vxlan10-vr0 vni: 10
vrfid: 0 dstport: 8474 master: ovs

Note

VXLAN interfaces displaying ‘master: ovs’ will be managed by the Fast Path OVS Acceleration module. With kernel >= 4.4, a VXLAN interface will be created to represent Open vSwitch VXLAN ports.

Displaying a VXLAN interface’s FDB entries

vxlan-fdb <ifname>
ifname
Name of the VXLAN interface.

Example

<fp-0> vxlan-fdb vxlan10
vxlan10: vni=10 dstport=4789 ttl=255 srcminport=32768 srcmaxport=61000
FDB entries:
00:17:42:8a:b4:05 192.168.1.1 vni: 10 port: 4789
00:00:00:00:00:00 239.0.0.10 vni: 10 port: 4789 eth1-vr0

Enabling the verification of the UDP checksum on the input path

vxlan-check-rx-csum-set on|off
on|off
Enable or disable the verification of the UDP checksum on the input path.

Example

<fp-0> vxlan-check-rx-csum-set on
VXLAN: check of rx checksum is on (was off)

Statistics

vxlan-stats

Description

Display vxlan statistics.

Synopsis

vxlan-stats [percore] [non-zero]

Parameters

percore
Display all statistics per core running the fast path.
non-zero
Display only statistics that are not null.

Example

<fp-0> vxlan-stats
 VxlanDroppedUnknownIface:0
 VxlanDroppedUnknownVNI:0
 VxlanDroppedHeaderTooShort:0
 VxlanDroppedInvalidIPv4Header:0
 VxlanDroppedInvalidIPv6Header:0
 VxlanDroppedInvalidIPv4Csum:0
 VxlanDroppedInvalidIPv6Csum:0
 VxlanDroppedOvsNoDst:0
 VxlanDroppedIPv4NoDst:0
 VxlanDroppedIPv6NoDst:0
 VxlanDroppedPrependOvsFailure:0
 VxlanDroppedPrependIPv4Failure:0
 VxlanDroppedPrependIPv6Failure:0
 VxlanDroppedInvalidIpFamily:0
 VxlanFdbForwDuplicateError:0
 VxlanDroppedAddGBPFailure:0
 VxlanExceptionIFlagNotSet:0
 VxlanExceptionOvsMtuExceeded:0
 VxlanExceptionIPv4MtuExceeded:0
 VxlanExceptionIPv6MtuExceeded:0
 VxlanExceptionNoInputFdb:0
 VxlanExceptionNoOutputFdb:0
 VxlanExceptionIPv4NoMcastSrc:0
 VxlanExceptionIPv6NoMcastSrc:0
 VxlanExceptionNoRemote:0
 VxlanExceptionOvsRoute:0
 VxlanExceptionIPv4Route:0
 VxlanExceptionIPv6Route:0
 VxlanExceptionTooManyFlags:0

vxlan-stats-json

Description

Display vxlan statistics in json format.

Synopsis

vxlan-stats-json

Example

<fp-0> vxlan-stats-json
 {
   "VxlanDroppedUnknownIface": 0,
   "VxlanDroppedInvalidIpFamily": 0,
   "VxlanDroppedUnknownVNI": 0,
   "VxlanDroppedPrependOvsFailure": 0,
   "VxlanDroppedPrependIPv4Failure": 0,
   "VxlanDroppedPrependIPv6Failure": 0,
   "VxlanDroppedOvsNoDst": 0,
   "VxlanDroppedIPv4NoDst": 0,
   "VxlanDroppedIPv6NoDst": 0,
   "VxlanDroppedHeaderTooShort": 0,
   "VxlanDroppedInvalidIPv4Header": 0,
   "VxlanDroppedInvalidIPv6Header": 0,
   "VxlanDroppedInvalidIPv4Csum": 0,
   "VxlanDroppedInvalidIPv6Csum": 0,
   "VxlanFdbForwDuplicateError": 0,
   "VxlanDroppedAddGBPFailure": 0,
   "VxlanExceptionNoInputFdb": 0,
   "VxlanExceptionNoOutputFdb": 0,
   "VxlanExceptionIPv4NoMcastSrc": 0,
   "VxlanExceptionIPv6NoMcastSrc": 0,
   "VxlanExceptionIFlagNotSet": 0,
   "VxlanExceptionTooManyFlags": 0,
   "VxlanExceptionOvsMtuExceeded": 0,
   "VxlanExceptionIPv4MtuExceeded": 0,
   "VxlanExceptionIPv6MtuExceeded": 0,
   "VxlanExceptionOvsRoute": 0,
   "VxlanExceptionIPv4Route": 0,
   "VxlanExceptionIPv6Route": 0,
   "VxlanExceptionNoRemote": 0,
 }