Tip
This is the documentation for the 24.06 version. Looking for the documentation of the latest version? Have a look here.
VRRP Compatibility¶
Currently VRRP is only compatible with routed deployments.
VRRP Hardware Compatibility¶
VRRP requires network interface hardware on which DPDK PMDs support programming an additional MAC address. Without this capability, the interface cannot receive traffic addressed to the VRRP MAC address.
The following DPDK PMDs are supported:
em
fm10k
i40e
iavf
ice
igb
ixgbe
mlx4
mlx5
virtio
Disable Source Pruning¶
Some poll mode drivers (PMDs) require configuration changes for VRRP to function. In particular, some devices have issues with VRRP due to “source pruning”. When a VRRP virtual MAC address is added to the NIC, source pruning causes any received packets which have that virtual MAC address as the source MAC address to be dropped. This can cause a VRRP VR to fail to receive advertisements from a higher priority peer after it enters the master state. The end result is more than one VRRP VR thinks it is in the master state.
There is a device argument to disable this behavior which allows VRRP to function normally.
Note
In previous versions of TNSR software this affected devices from the Intel X710/XL710 family using the I40E PMD. That PMD has been fixed upstream in DPDK and does not have this problem on TNSR software version 24.02 and later.
Set Device Argument¶
To disable source pruning, set the device argument disable_source_pruning=1
on each affected interface.
See also
For more information on setting device arguments, see DPDK Configuration.
Using the example above, to disable it on that device, use:
tnsr(config)# dataplane dpdk dev 0000:06:00.0 network devargs disable_source_pruning=1
Alternately, disable it on all interfaces by setting it as a default network device configuration parameter:
tnsr(config)# dataplane dpdk dev default network devargs disable_source_pruning=1
Restart the dataplane to activate the changes:
tnsr(config)# service dataplane restart
VRRP and NAT¶
VRRP may not be used on interfaces involved in outbound NAT when the VR
priority is 255
. Currently there is an interaction between NAT and VRRP in
this case which leads to both nodes failing to receive and process VRRP
advertisements from peers. When NAT is present on outbound NAT interfaces, use a
lower priority value. Conflicting configurations will be rejected by input
validation.
See also
See the recipe VRRP with Outside NAT for a compatible example configuration.
VRRP and Reflect ACLs¶
As there is not yet a method for VRRP cluster nodes to share state data, using
reflect
type ACLs may result in active connections being dropped when
control is transferred between cluster nodes. New connections may be made
immediately.
VRRP and AWS/Azure¶
Currently VRRP does not support unicast peers for routed environments such as AWS and Azure. This functionality will be added in a future release.