Users Guide
11–Marvell Teaming Services
Executive Summary
151 BC0054508-00 M
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. The intermediate driver (QLASP) does not 
answer ARP requests; only the software protocol stack provides the required ARP 
Reply. 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. 
SLB receive load balancing attempts to load balance incoming traffic for client 
machines across physical ports in the team. It uses a modified gratuitous ARP to 
advertise a different MAC address for the team IP address in the sender physical 
and protocol address. The G-ARP is unicast with the MAC and IP Address of a 
client machine in the target physical and protocol address, respectively. This 
action causes the target client to update its ARP cache with a new MAC address 
map to the team IP address. G-ARPs are not broadcast because this would cause 
all clients to send their traffic to the same port. As a result, the benefits achieved 
through client load balancing would be eliminated, and could cause out-of-order 
frame delivery. This receive load-balancing scheme works as long as all clients 
and the teamed system are on the same subnet or broadcast domain. 
When the clients and the system are on different subnets, and incoming traffic has 
to traverse a router, the received traffic destined for the system is not load 
balanced. The physical adapter that the intermediate driver has selected to carry 
the IP flow carries all of the traffic. When the router sends a frame to the team IP 
address, it broadcasts an ARP request (if not in the ARP cache). The server 
software stack generates an ARP reply with the team MAC address, but the 
intermediate driver modifies the ARP reply and sends it over a specific physical 
adapter, establishing the flow for that session.
NOTE
IPv6 addressed traffic is load balanced by SLB because ARP is not a feature 
of IPv6. 










