Cisco Systems 5709 Network Hardware User Manual


 
User Guide NetXtreme II
January 2010
Broadcom Corporation
Document ENGSRVT52-CDUM100-R Executive Summary Page 21
TOE Teaming
All four basic teaming modes support failover of traffic from a failed adapter to other working adapters. All four teaming
modes also support bidirectional load-balancing of TCP/IP traffic. A primary difference between the modes is that the SLB
modes use a Broadcom proprietary algorithm to control how both inbound and outbound traffic is balanced across the
network interfaces in the team. This has several advantages. First, with Generic Trunking or Link Aggregation modes, the
team of network adapters must be connected to a switch that is specifically configured to support that particular mode of
teaming. Since there is a dependency between the switch and the host team configuration when Generic Trunking or Link
Aggregation is used, it can often lead to configuration difficulties, because both ends must be configured correctly and be
synchronized. Second, with Generic Trunking or Link Aggregation modes, the switch decides how inbound traffic to the team
is balanced across the adapters, while BASP only controls the balancing of outbound traffic. This is problematic for TOE
environments, because in order for TOE to work, state information about a given TCP connection is stored in the hardware
on a given offloaded adapter, but it is not stored in the hardware on every member of the team. So teaming and TOE cannot
co-exist if the teaming software cannot steer incoming TCP/IP traffic to the adapter that contains and updates the state
information for a given TCP connection.
Because Broadcom’s SLB modes can control how both outbound and inbound packets are balanced across the adapters,
the SLB modes are capable of ensuring that all offloaded TCP traffic for a given TCP connection goes in and out of a
particular adapter. This architectural feature allows the SLB modes to also support load-balancing on adapters that have
TOE enabled, since BASP is able to steer traffic on a particular TCP connection to the adapter hardware that contains
offloaded state information for that TCP connection. BASP can simultaneously use TCP offload in conjunction with the SLB
modes of teaming. Other teaming modes (Generic Trunking or Link Aggregation) can still be used on TOE capable devices,
but if those other modes are enabled the TOE feature is disabled.
Since the TOE offloaded state is stored in only one member of a team, it might not be intuitive as to how BASP can support
failover on TOE teams. When a TOE connection has been offloaded to a given adapter, and if that network interface fails in
some way (that is, it loses its network link due to a cable disconnection), then BASP will detect the error and force an upload
of the offloaded TCP state for each previously offloaded TCP connection on that adapter to the host. Once all of the
previously offloaded state has been uploaded, BASP will rebalance the recently uploaded TCP connections and offload
those connections evenly to the remaining members of the team. Basically, if there is a failure on a TOE-enabled adapter,
any TCP connections that had been offloaded to that adapter are migrated to the remaining nonfailed members in the team.
For Broadcom NetXtreme II adapters, there are no specific setup requirements in order for TCP Offload Engine (TOE) to
work with BASP. Once the individual adapters are configured to enable TOE, they can be added to a team and the offload
is transparent to BASP. For information on configuring TOE, see Viewing Resource Reservations.
Limitations of Teaming with Offloading
TOE is enabled for a team only when all of the members support and are configured for TOE.
TOE is only supported on SLB-type teams.
Each virtual BASP device advertises 1024 offload connections. If the number of virtual BASP devices in a team
exceeds the number of active physical members, the maximum offload connections for each virtual device may be
lower.
SOFTWARE COMPONENTS
Teaming is implemented via an NDIS intermediate driver in the Windows Operating System environment. This software
component works with the miniport driver, the NDIS layer, and the protocol stack to enable the teaming architecture (see
Figure 2). The miniport driver controls the host LAN controller directly to enable functions such as sends, receives, and
interrupt processing. The intermediate driver fits between the miniport driver and the protocol layer multiplexing several
miniport driver instances, and creating a virtual adapter that looks like a single adapter to the NDIS layer. NDIS provides a