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¶
- 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,
 }