Product Documentation

Configuring VMACs on an Interface

A Citrix NetScaler instance uses Virtual MACs (VMACs) for high availability (active-active or active-standby) configurations. A Virtual MAC address (VMAC) is a floating entity shared by the primary and the secondary nodes in a high availability setup.

In a high availability setup, the primary node owns all of the floating IP addresses, such as the MIP, SNIP, and VIP addresses. The primary node responds to Address Resolution Protocol (ARP) requests for these IP addresses with its own MAC address. As a result, the ARP table of an external device (for example, an upstream router) is updated with the floating IP address and the primary node’s MAC address.

When a failover occurs, the secondary node takes over as the new primary node. It then uses Gratuitous ARP (GARP) to advertise the floating IP addresses that it acquired from the primary. However, the MAC address that the new primary advertises is the MAC address of its own interface.

Some devices (notably a few routers) do not accept the GARP messages generated by the Citrix NetScaler SDX appliance. Such devices retain the old IP to MAC mapping advertised by the old primary node, and a site can go down as a result.

You can overcome this problem by configuring a VMAC on both nodes of an HA pair. Both nodes then possess identical MAC addresses. Therefore, when failover occurs, the MAC address of the secondary node remains unchanged, and the ARP tables on the external devices do not need to be updated.

To configure a VMAC, you add a VRID for an interface. The Management Service internally generates a VMAC. You must specify the same VRID when you configure active-active mode on the Citrix NetScaler instance.


  1. You must add a VRID from the Management Service. The same VRID must be specified in the Citrix NetScaler instance. If you add a VRID directly in the Citrix NetScaler instance, the instance cannot receive a packet that has a VMAC address as the destination MAC address.
  2. You can use the same VRIDs in different instances on a 10G interface if VLAN filtering is enabled on the interface and the instances associated with that interface belong to different tagged 802.1q VLANs.
  3. You cannot use the same VRIDs in different instances on a 1G interface.
  4. You can add or delete the VRIDs for an interface assigned to an instance while the Instance is running.
  5. In an active-active configuration, you can specify more than one VRID for an interface assigned to an instance.
  6. A maximum of 86 VMACs are allowed on a 10G interface, and a maximum of 16 VMACs on a 1G interface. If no more VMAC filters are available, reduce the number of VRIDs on another instance.

You can add a VRID at the time of provisioning a Citrix NetScaler instance, or you can modify an existing Citrix NetScaler instance.

To add an IPv4 or IPv6 VRID to an interface

  1. In the Provision NetScaler Wizard or the Modify NetScaler Wizard, on the Network Settings page, select an interface and set one or both of the following values:
    • VRID IPv4—The IPv4 VRID that identifies the VMAC. Possible values: 1 to 255.
    • VRID IPv6—The IPv6 VRID that identifies the VMAC. Possible values: 1 to 255. Note: Use a comma to separate multiple VRIDs. For example, 12,24.
  2. Follow the instructions in the wizard.
  3. Click Finish, and then click Close.

Configuring VMACs on an Interface