Receive-side scaling – Dell Emulex Family of Adapters User Manual

Page 748

Advertising
background image

OneCommand NIC Teaming and VLAN Manager User Manual

P009415-01A Rev. A

1. Overview

Receive-Side Scaling

748

Transmit load balancing is achieved by creating a hashing table using the hashing

algorithm based on load distribution type. When the virtual teaming adapter selects a

physical adapter (or port) to carry all the frames to the destination, the unique MAC

address of the physical adapter is included in the frame, and not the team MAC

address. This 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 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 gratuitous ARP is unicast with the MAC and IP address of a client

machine in the target physical and protocol address respectively. This causes the target

client to update its ARP cache with a new MAC address map to the team IP address.

This has the potential to direct the received traffic to a different adapter than learned

from the transmission. Gratuitous 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 server

are on the same subnet or broadcast domain.
When the clients and the server are on different subnets, and incoming traffic has to

traverse a router, the received traffic destined for the server 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 needs to send 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 particular physical adapter, establishing the

flow for that session over the particular physical adapter. The reason is that ARP is not

a routable protocol. It does not have an IP header and therefore is not sent to the router

or default gateway. ARP is only a local subnet protocol. In addition, since the

gratuitous ARP is not a broadcast packet, the router does not process it and does not

update its own ARP cache.
The only way that the router would process an ARP intended for another network

device is if the router has proxy ARP enabled and the host has no default gateway. This

is very rare and not recommended for most applications.
Transmitted traffic through a router is load balanced and is based on the source and

destination IP address and TCP/UDP port number. Since routers do not alter the

source and destination IP address, the load balancing algorithm works as intended.

Receive-Side Scaling

Receive-side scaling (RSS) improves the received traffic performance by distributing

multiple incoming traffic sessions to multiple processors.
On the OCe10102 UCNA, receive-side scaling (RSS) works only on incoming packets

that match the MAC address programmed into the NIC port. This limitation applies to

secondary members of the Failover, LACP and 802.3ad team types.

Advertising