Users Guide

Table Of Contents
12–Marvell Teaming Services
Executive Summary
Doc No. BC0054508-00 Rev. R
January 21, 2021 Page 148 Copyright © 2021 Marvell
Smart Load Balancing and Failover
The Smart Load Balancing and Failover type of team provides both load
balancing and failover when configured for load balancing, and only failover when
configured for fault tolerance. This type of team works with any Ethernet switch
and requires no trunking configuration on the switch. The team advertises multiple
MAC addresses and one or more IP addresses (when using secondary IP
addresses). The team MAC address is selected from the list of load balance
members. When the system receives an ARP request, the software-networking
stack will always send an ARP Reply with the team MAC address. To begin the
load balancing process, the teaming driver will modify this ARP Reply by changing
the source MAC address to match one of the physical adapters.
Smart Load Balancing enables both transmit and receive load balancing based on
the Layer 3 and Layer 4 IP address and TCP/UDP port number. In other words,
the load balancing is not done at a byte or frame level but on a TCP/UDP session
basis. This methodology is required to maintain in-order delivery of frames that
belong to the same socket conversation. Load balancing is supported on two to
eight ports. These ports can include any combination of add-in adapters and LAN
on motherboard (LOM) devices.
Transmit load balancing is achieved by creating a hashing table using the source
and destination IP addresses and TCP/UDP port numbers.The same combination
of source and destination IP addresses and TCP/UDP port numbers generally
yield the same hash index and therefore point to the same port in the team. When
a port is selected to carry all the frames of a specific socket, the unique MAC
address of the physical adapter is included in the frame, and not the team MAC
address. This inclusion is required to comply with the IEEE 802.3 standard. If two
adapters transmit using the same MAC address, a duplicate MAC address
situation would occur that the switch could not handle.
Receive load balancing is achieved through an intermediate driver by sending
gratuitous ARPs on a client-by-client basis using the unicast address of each
client as the destination address of the ARP request (also known as a directed
ARP). This practice is considered client load balancing and not traffic load
balancing. When the intermediate driver detects a significant load imbalance
between the physical adapters in an SLB team, it generates G-ARPs in an effort
to redistribute incoming frames. It is important to understand that receive load
balancing is a function of the quantity of clients that are connecting to the system
through the team interface.
IPv6 addressed traffic is load balanced by SLB because ARP is not a feature
of IPv6.