Configuring LACP Fallback in EOS

The LACP Fallback mode in Arista switches allows an active LACP interface to establish a port-channel (LAG) before it receives LACP PDUs from its peer.

This feature is useful in environments where customers have Preboot Execution Environment (PXE) Servers connected with a LACP Port Channel to the switch.  Since PXE images are very small, many operating systems are unable to leverage LACP during the preboot process.  The server’s NICs do not have the capability to run LACP without the assistance of a fully functional OS; during the PXE process, they are unaware of the other NIC and don’t have a method to form a LACP connection. Both the NIC’s on the server will be active and are sourcing frames from their respective MAC addresses during the initial boot process.  Simply keeping both ports in the LAG active will not solve the problem because packets sourced from the MAC address of NIC-1 can be returned to the port on which NIC-2 is attached, which will cause NIC-2 to drop the packets (due to MAC mismatch).

With the LACP fallback feature, the switch allows the server to bring up the LAG (before receiving any LACP PDUs from the server) and keeps a single port active until the expiry of a timeout period. This allows the PXE boot server to establish a connection over one Ethernet port, download its boot image and then continue the booting process. When the server boot process is complete, the server fully forms an LACP port-channel.

Below are the steps which should be followed in order to enable LACP Fallback in EOS:

  1. Configure lacp port-priority <priority value> under interface configuration mode (Optional).  LACP port priority determines the port that is active in a LAG in fallback mode. Numerically lower values have higher priority (priority numbers range from 0 to 65535, the default being 32768). Interfaces with higher priority numbers are placed in standby mode.  This command is optional, but gives a deterministic way to allocate the port which will be active until the expiry of the timer.
  2. Configure port-channel lacp fallback, under port-channel configuration mode, in order to enable LACP Fallback.  The no port-channel lacp fallback variant of the command disables the feature.
  3. Configure port-channel lacp fallback timeout <period>, under port-channel configuration mode.  This command specifies the period a LAG in fallback mode remains active, without receiving an LACP PDU from its peer.  When the timer expires, the interface reverts to static mode (with one active port).  The default fallback timeout period is 90 seconds, and the range is between 0 – 100 seconds.

LACP Fallback with MLAG

With MLAG, LACP Fallback works exactly the same way as described above. Both switches in the MLAG should be configured identically on both peers (for interfaces facing downstream to the server).  The MLAG peers will coordinate to bring up only the lowest-priority port.

LACP Port Priority

The LACP Fallback port priority configuration is optional, but allows for deterministic port allocation when it comes to which port will become active in the port-channel.  The port with the least priority will be placed into the active state when the port-channel is in fallback mode.  If all ports in a port-channel have the same port-priority (default), the switch has an internal algorithm that compares interface names (Ethernet 1, Ethernet 2, etc.) in order to break the tie. The algorithm compares two interface names by base name, then by module number (if any) and finally by port number (if any) and selects the port that is lowest in this ordering; i.e. Ethernet1 < Ethernet2, hence we choose Ethernet1 to become active.

In the case of an MLAG deployment, if the interface name is the same on both switches, then the switch with a lower system MAC address will bring its local interface up.

Example

Consider the following diagram and the subsequent switch configuration:

LACP Fallback Diagram

Diagram 1 – LACP Fallback and PXE Client

Arista switch configuration (the server is connected to Ethernet1 and Ethernet2):

Interface Port-Channel20
 Port-channel lacp fallback
 Port-channel lacp fallback timeout 5

Interface Ethernet1
 Channel-group 20 mode active
 Lacp port-priority 15000

Interface Ethernet 2
 Channel-group 20 mode active
 Lacp port-priority 16000

LACP Fallback Steps

1: The PXE Client server boots up.  The switch detects the link up and brings up both ports in the LAG, listening for LACP PDUs.  During this time the switch will only process LACP and LDAP PDUs – all other packets will be dropped.

Arista(config-if-Et1)#show port-channel 20 detail
Port Channel Port-Channel20:
 No Active Ports
 Configured, but inactive ports:
 Port                Time became inactive    Reason unconfigured 
 ------------------- -------------------------- ------------------- 
 Ethernet1           14:53:10                LACP Wait 
 Ethernet2           14:53:13                LACP Wait

2: The switch will wait for 5 seconds for any LACP PDUs (as the fallback timeout is configured to 5 seconds). If none are received, the LAG will enter into fallback mode. During the fallback mode only Ethernet1 is active (since the LACP port priority for Ethernet1 is lower then the configured priority for Ethernet2). Both Ethernet 1 and Ethernet 2 will continue to listen for LACP PDUs. Any packets other then LACP PDUs received on Ethernet 2 will be dropped in the meantime.

Arista(config-if-Et1)#show port-channel 20 detail
Port Channel Port-Channel20:
 Active Ports:
 Port           Time became active       Protocol       Mode      Fallback 
 -------------- ----------------------- -------------- ------------ -------- 
 Ethernet1      14:56:00                 LACP           Active    Enabled 

 Configured, but inactive ports:
 Port                Time became inactive 
 ------------------- -------------------------- 
 Ethernet2          14:56:00 

 Port             Reason unconfigured 
 ------------------- ----------------------------------------------- 
 Ethernet2    lacp fallback intf limit exceeded

3:  The PXE server now has one network interface up and active and will send packets to the DHCP.

4:  After receiving information from the DHCP server, the server will proceed to boot from the TFTP/NFS server.

5:  After the server has fully loaded its boot image, it starts sending LACP PDUs.  The switch receives the LACP PDUs from the server and activates the LAG.

Arista(config-if-Et1)#show port-channel 20 detail
Port Channel Port-Channel20:
 Active Ports:
 Port                Time became active       Protocol    Mode 
 ------------------- ------------------------ -------------- ------ 
 Ethernet1           14:53:02                 LACP        Active
 Ethernet2           14:52:57                 LACP        Active