# Teaming and VLANs in Novell NetWare*

Overview

Teaming Requirements

Command Lines

Allocating Memory

Adding an Adapter into an Existing Team

Removing an Adapter for an Existing Team

Hot Plug Operations with an Adapter

Removing a Team

Receive Load Balancing (RLB)

NetWare* iANS Command Line Parameters and Keywords

Usage Notes

Troubleshooting

## Overview

Driver name: iANS.LAN Location on CD-ROM: \NWSERVER

iANS.LAN is the Intel software for Novell NetWare* 5.2 through NetWare 6.x that provides a variety of Advanced Network Services (ANS). ANS includes teaming and VLAN-based features.

### Teaming

Teaming includes:

- Adapter Fault Tolerance (AFT)

- Adaptive Load Balancing (ALB)

- Receive Loan balancing (RLB)

- Switch Fault Tolerance (SFT)

- Port Aggregation, also known as SLA (static) and IEEE 802.3ad (dynamic)

- VLAN (Virtual LAN) support of IEEE 802.1Q.

Select the general teaming page (top level item) from the Table of Contents for a complete description of these modes.

For detailed instructions on configuring teams in Novell NetWare, see the Examples File.

### VLANs (Virtual LAN)

See the VLAN page for complete description of VLANs.

General Configuration Notes:

- There is a limit of 64 VLANs per Novell NetWare server.

- Even if you have a single adapter set up for VLANs, it is still called a team, or "virtual adapter."

Example for a Single 802.1Q VLAN Team:

> Load ce100b slot=5 frame=ethernet_802.3 name=e83
> Load ians vlanid=2 frame=ethernet_802.3 name=T1-VL2 team=1
> Load ians vlanid=3 frame=ethernet_802.3 name=T1-VL3 team=1
> Bind ians e83 team=1
> Load ians commit mode=AFT team=1
> Bind ipx T1-VL2 net=2
> Bind ipx T1-VL3 net=3

In order to function properly, the adapters configured for IEEE VLANs must be connected to a "tagged" port (called a trunk port by Cisco) on an 802.1Q-capable switch.

For detailed instructions on configuring VLANs in Novell NetWare, see the Examples File.

## Teaming Requirements

- You must have at least one server adapter in the team.

- All adapters in a team must use the same frame type.

- When creating an 802.3ad team, you must specify "frame=ethernet_II", otherwise you will receive an error message when attempting to create the team.

- All adapters must be connected to a switch with matching capabilities, and the switch should be set to match the settings which you enable on your adapters.

- All adapters in a team that link to the same switch should use the same speed and duplex; otherwise, performance is greatly degraded.

- When using iANS.LAN, do NOT bind the network protocols (IPX, IP, etc) directly to the base driver of an adapter used with iANS. Instead, bind iANS to the base driver and the protocol(s) to iANS. Doing otherwise can cause routing error messages, but most likely the protocols bound directly to the base drivers will simply not work.

- Do not use INSTALL.NLM or NWCONFIG.NLM to configure iANS.LAN. You may use it to install the module (done automatically if the utility is used to install E1000 or E1000E), but do not use it to set the configuration. Alternatively, you can manually copy the iANS driver to sys:\system. To configure to run automatically, set up a configuration NCF file which can be called from AUTOEXEC.NCF, or placed in AUTOEXEC.NCF.

- IMPORTANT: Before creating a team, adding or removing team members, or changing advanced settings of a team member, make sure each team member has been configured similarly. Settings to check include VLANs and QoS Packet Tagging, Jumbo Frames, and the various offloads. Pay particular attention when using different adapter models or adapter versions, as adapter capabilities vary.

### Server Adapters Supporting Teaming:

Some advanced features are also adapter dependent as the table below depicts.

Adapter | VLAN (IEEE 802.1Q) | Teaming Mode
AFT | ALB | SFT | SLA | AD
Intel PRO/100+ Server Adapter | x | x | x | x | x | x
Intel PRO/100S and PRO/100+ Dual Port Server Adapters | x | x | x | x | x | x
Intel PRO/100 and PRO/100S Server Adapters | x | x | x | x | x | x
Intel PRO/1000 Gigabit Server Adapter |  | x | x | x | x | x
Intel PRO/1000 F Server Adapter | x | x | x | x | x | x
Intel PRO/1000 T Server Adapter | x | x | x | x | x | x
Intel PRO/1000 XT Server Adapter | x | x | x | x | x | x
Intel PRO/1000 XF Server Adapter | x | x | x | x | x | x
Intel PRO/1000 MF Server Adapter | x | x | x | x | x | x
Intel PRO/1000 MT Server Adapter | x | x | x | x | x | x
Intel PRO/1000 MT Dual Port Server Adapter | x | x | x | x | x | x
Intel PRO/1000 MF Dual Port Server Adapter | x | x | x | x | x | x
PRO/1000 MT Quad Port Server Adapter | x | x | x | x | x | x

AFT - Adapter Fault Tolerance
ALB - Adaptive Load Balancing
SFT - Switch Fault Tolerance
SLA - Static Link Aggregation
AD - IEEE 802.3ad dynamic teaming mode

| NOTES Copper gigabit adapters may be teamed with Intel PRO/100 adapters at 10 or 100 Mbps or with adapters from other vendors. SFT mode only allows for two adapters in the team.

The ANS driver (required for all ANS features) for Intel PRO/100, as well as PRO/1000 adapters is located at \NWSERVER\iANS.LAN.

### Multi-Vendor Teaming

Multi-vendor teaming (MVT) is supported on Novell NetWare 5.1 through 6.x systems.

- SLA and 802.3ad modes support all frame types, and IPX may also be used.

- AFT, ALB, and SFT modes using the Ethernet_II frame type, and IP protocol may include other vendors’ adapters in the multi-vendor team.

Not all vendors support LAN drivers that register NESL events. These drivers are required for MVT support.

MVT only supports mixed speed adapters in AFT, ALB, and SFT modes. MVT Load Balancing is provided at layer 3 for TCP, UDP (including multicast), and IP/Snap protocols.

Hot Plug operations are not supported for members of a Multi-Vendor Team.

| NOTES: ANS must be loaded prior to installing a non-Intel adapter for Multi-vendor teaming. If a failover occurs or if the primary adapter is changed, the MAC address changes. Clients are notified by an ARP broadcast. When any team member receives an ARP request, the ANS software responds only with the MAC address for the current primary adapter.

## Command Lines

Basic Structure:

1. Load the appropriate base driver with appropriate parameters, including frame size.

   - NetWare driver for all Intel PRO/100 adapters: CE100.LAN

   - NetWare driver for Intel PRO/1000 PCI-X Adapters: E1000.LAN

   - NetWare driver for Intel PRO/1000 PCI-Express Adapters: E1000E.LAN

2. Load iANS driver with appropriate parameters, including frame size.

   - For a VLAN include a VLAN ID number.

   - For a VLAN or multiple frame type configuration, include a name.

   - For a multiple team setup, include a team number.

3. Bind iANS driver to the adapter name.

   - If creating multiple teams, include the team number here to define which team uses which adapters.

   - If you want to specify which adapter is to be primary or secondary, include it here.

4. Create the team: LOAD iANS COMMIT <mode>.

   - <mode> distinguishes which advanced services to enable (AFT, ALB, SLA, RLB, AD).

   - If creating multiple teams, include the team number.

5. Bind the protocol to the iANS driver using the name that was assigned when iANS was loaded.

If you are using only one frame type, a single team, and no VLANs, you can bind the protocol directly to the iANS driver without using an assigned name. Include a net=n number, especially in a script since the system requests the number if not given.

Example of Mixed Speed Fault Tolerance Team:

> Load CE100b name=100Meg
> Load E1000 name=Gigabit
> Load iANS
> Bind iANS Gigabit Primary
> Bind iANS 100Meg
> Load iANS COMMIT MODE = AFT
> Bind IPX iANS Net=2
> Bind <Protocol> iANS <Address>

For more examples of specific load commands for AFT, ALB, RLB, SLA or SLA see the adapter teaming Examples page.

## Allocating Memory

When using teams or multiple VLANs, the server's default packet buffers should be increased. To do this, add the following lines to the STARTUP.NCF file which is located in the same directory that NetWare is launched from, usually C:\NWSERVER\STARTUP.NCF.

> SET MINIMUM PACKET RECEIVE BUFFERS = 500 (or higher)
> SET MAXIMUM PACKET RECEIVE BUFFERS = 2000 (or higher)

"SET MINIMUM PACKET" designates the minimum number of packet receive buffers the system shall allocate, and "SET MAXIMUM PACKET" designates the maximum. Make sure that the maximum setting is equal to or greater than the minimum setting. The number of buffers required is based on the number of VLANs and which teaming features are in use.

For every virtual adapter, team, or VLAN used, iANS requests 64 buffers. When in Adaptive Load Balancing modes (ALB, SLA, SLA, RLB and Link Aggregation - static IEEE 802.3ad), 64 buffers are needed for each adapter in the team. The non-load balancing AFT and SFT modes only require 64 buffers for the team.

As an example, an ALB team of two adapters that uses 12 VLANs would require 64 [buffers] * 2 [adapters] * 12 [VLANs] = 1536 for the minimum packet receive buffers. This number is in addition to any other buffers that the server may require for other purposes, including other adapters.

The default amount of memory used by each NetWare receive buffer is approximately 4K (varies slightly with different versions). If the extra memory requirement is a problem, the following configurations may help to reduce the impact.

- If Ethernet is the only network topology that the server uses, the size of the buffer can be reduced to 2000 bytes (the maximum Ethernet frame size plus some out of band data used by iANS) without impacting the performance of the server. This is done by adding the following line to the STARTUP.NCF file:

  > SET MAXIMUM PHYSICAL RECEIVE PACKET SIZE = 2048

| NOTE: This does not work if Ethernet Jumbo Frames are in use. The packet size must be increased to accommodate the jumbo frames.

- A keyword is included for iANS that allows the administrator to reduce the buffer requirement per VLAN from 64 down to as low as 32; however, this negatively impacts the server's performance. The syntax is:

  > LOAD IANS TX_ECBS_TO_USE = X where "X" is the number of buffers to use for each VLAN.

## Adding an Adapter into an Existing Team

A member can be added into team after a commit is done in the following way:

1. Bind the new adapter to iANS using the 'bind" command. For example "Bind ians ce_100II".

2. Use the "load ians recommit" command to complete the operation.

3. For an SLA team the member should be added to the team with the link down. The reason is that when a port is added to a switch channel before the adapter is added to the ANS team, disconnections will occur as the switch will start forwarding traffic to the port before the member is actually configured. The opposite, where the member is first added to the ANS team and then added to the switch channel, is also problematic because ANS will forward traffic to the member before the port is added to the switch channel and disconnection will occur."

## Removing an Adapter from an Existing Team

In an SLA team the member should be removed from the team with the link down for the same reason as described for Adding an Adapter into an Existing Team.

## Hot Plug Operations with an Adapter

In Static Link Aggregation teams, do not perform Hot Plug operations with an adapter with the link down for the same reason as described for Adding an Adapter into an Existing Team.

## Removing a Team

To remove a team, unload iANS.LAN by typing "UNLOAD IANS" at the console. Remember to comment out any lines you added to autoexec.ncf or a batch file if you do not want them to reload when you restart the server.

## Receive Load Balancing (RLB)

Receive Load Balancing (RLB) is a method for dynamic distribution of received data traffic load among multiple physical channels. The purpose of RLB is to improve overall bandwidth and end-station performance in teaming mode ALB, which currently receives all incoming traffic on the primary member only. RLB provides receive load balancing by dividing incoming IP traffic among all the adapters, with the ability to shift traffic away from any adapter that goes out of service.

#### Supported OS

· Novell NetWare 5.1, and 6.x.

#### Refreshing the load balancing

In order to achieve a fair distribution of clients among all enabled members the receive load balancing client table is refreshed at even intervals (default is 5 minutes). The refresh involves selecting new members for each client.

#### Adapter Failure

In case of adapter failure, the primary member will work in promiscuous mode until the return of the disabled member or the removal via Hot Plug operations of this adapter. Working in promiscuous mode can degrade performance.

In all teaming modes there must be a designated preferred primary. If the user doesn't choose one, ANS will do so.

If the primary adapter has a failure another primary will take its place. As soon as the preferred primary is enabled, a fail back will occur and the preferred primary will return as the team primary.

#### Change Preferred Primary

Change preferred primary is not allowed in RLB mode using Novell NetWare ANS, without reloading the team.

#### Removal of Preferred Primary

Re-adding a dynamically removed preferred primary in a team is not recommended.

#### Removing the Secondary adapter via Hot Plug Operations

All clients are failed over to the primary (such that the team is actually working in ALB mode).

The team will return to work in mode RLB gradually as clients refresh their ARP tables. This process may take up to 10 minutes, depending on the refresh timing of the client's ARP table .

#### Adapter Hot Add

The clients are rebalanced over the new adapter if it is in the highest speed group of adapters.

#### Enabling/Disabling RLB

RLB is enabled by default in ALB team mode. To disable RLB, load the team with ALB mode and write:

rlbmode = disable

Enabling or disabling RLB cannot be done after commit.

Example: Load ans commit mode = ALB rlbmode = disable

## Novell NetWare iANS Command Line Parameters and Keywords

The following Novell NetWare keywords apply to the NetWare iANS driver.

| NOTE: Always type `IANS` before the keyword and always include the team number in the command line if more than one team exists.

See also Examples files for usage.

Keywords | Description
--- | ---
HELP or -h -h <keyword> | Used alone, this command shows a list of all known iANS keywords. If it is followed by a keyword, a specific help message is displayed for that keyword.
STATUS | Displays the status of the team. If more than one team exists, the team name must be included.
NAME | Gives user the ability to set a unique string identifier for each virtual adapter (team or VLAN).
TEAM | Assigns unique numeric identifiers for each virtual adapter (team or VLAN). The number can be user assigned or machine generated. Range: 0-9999 Default: 1 and increments by one
MODE | Sets the teaming type for the given team. Modes: AFT | ALB | SFT | SLA | AD Default: AFT
AFT | Adapter Fault Tolerance
ALB | Adaptive Load Balancing (including RLB)
SFT | Switch Fault Tolerance
SLA |
AD | IEEE 802.3ad dynamic teaming mode (LACP or Dynamic Link Aggregation)
BIND | Matches physical adapters to specific drivers and virtual adapters to protocols.
COMMIT | Used after binding all underlying base drivers as team members before binding to the protocol.
RECOMMIT | Used to dynamically add members or VLANs to an existing team.
REMOVETEAM | Used to remove any team by number except the last team.
PRIMARY | Allows user to set the primary adapter. If not specified, the default is the first team member.
SECONDARY | Allows user to set the secondary adapter.
NO_DEFAULT_PRIMARY | Allows user to block to software from choosing the first team member as the primary.
SMPMODE | Enables SMP awareness. Use only on first load ians line. Values: SMP | NONSMP Default: Matches the machine
TX_ECBS_TO_USE | Sets the number of ECBs (buffers) in RAM for each virtual adapter (team or VLAN). Range: 0-9999 Default: 64 Use on load line.
MAX_TX_QUEUE | Sets the depth of the transmit queues. Range: 0-9999 Default: 1000
RESET LBN | Resets a particular virtual adapter (logical board number).
DELAY | Sets the time interval, in minutes, before actual commit. Range: 0-5 Default: 0

The following commands are specific to certain team modes.

When setting intervals for different probe commands, please note that a "tic" is a unit of time equal to 110 milliseconds.

| NOTE: Always include the team number in the command line if more than one team exists.

Parameter | Description
--- | ---
VLANID | Creates a virtual adapter with a specific VLAN number (must match network). Range: 1-4095
REMOVEVLANID | Removes the set VLANID
PROBES | Allows checking for link state between team members (optional). Only for AFT, ALB, or SFT teams of more than 1 adapter using ETHERNET_II or ETHERNET_SNAP. Range: ON | OFF BROADCAST | MULTICAST Default: ON, BROADCAST
PROBE_RETRY_COUNT | Number of times probes will be resent before deciding the link is down Range: 0-9999 Default: 7
PROBE_BURST_SIZE | Number of back to back probes to send (to attempt to get through heavy traffic). Range: 1-9999 Default: 3
PROBE_SET_DEFAULT | Resets all probe-related parameters except PROBES.
PROBE_SEND_INTERVAL | Sets the time interval between probe transmissions. Range: 4 - 9998 Default: 18 tics
PROBE_CHECK_INTERVAL | Sets the time interval between probe checks (returns). Range: 0 - 9998 Default: 2 tics
PROBE_RECHECK_INTERVAL | Sets the time interval between probe checks during retries. Range: 0 - 9998 Default: 2 tics
BALANCE_INTERVAL | Sets the amount of time between load balance checks (not AFT and SFT). Range: 18-1080 Default: 180 tics
STFORWARD_DELAY | Sets the SFT failover delay for SFT mode. Should be the max spanning tree forward delay for the switches connected to the server. Range: 0-255 Default: 15
RLBMODE | Enable/disable the receive load balancing in the ALB team mode. Values: Enable/Disable Default: Enable

## Usage Notes

- Gigabit adapters - Intel copper-based gigabit server adapters (e.g., PRO/1000 T, PRO/1000 XT) may be teamed with Intel PRO/100 server adapters for AFT, ALB, SFT, and SLA modes. In SLA mode all the adapters in the team must be configured for the same speed and duplex. In all other modes, ANS supports mixed speed adapters in one team.

- Required Settings in STARTUP.NCF:

  > SET MINIMUM PACKET RECEIVE BUFFERS = 500 (or larger)
  > SET MAXIMUM PACKET RECEIVE BUFFERS = 2000 (or larger)

  See "Allocating Memory for VLANS" in Memory Configuration Requirements for more information.

- Display the current status for all adapters in a iANS team. Example:
  LOAD iANS STATUS team=n (where n=team number)

- Create the primary adapter. Example:
  BIND iANS CE100B_1_E82 PRIMARY
  This can only be done with the BIND command.

- When using iANS with SMP mode enabled, do not use the Stop Processors command after loading iANS.LAN. The Novell Netware OS does not currently have a mechanism for informing the intermediate driver of a change in the number of active processors, and this could lead to a server abend if iANS attempts to use a deactivated processor.

- Due to some potentially severe problems in registering our driver with NEB.NLM, a PCI Hot Plug capable server must have iANS.LAN loaded before the Hot Plug modules are loaded. To do this, make sure the iANS.LAN load lines precede the NCMCON.NLM load lines in the AUTOEXEC.NCF.

- When a multiple-adapter team is created (other than AFT), it uses all the functionality of the least-capable adapter in the team. In order to add an adapter to an existing team it must have the same base functionality enabled as that of the adapter with the lowest common feature set in the team.

- ANS probes are turned off by default when only Ethernet_802.2 and/or Ethernet_802.3 frame types are in use. This is due to the fact that Ethernet_802.2 and Ethernet_802.3 frame types may not allow ANS probes to be sent correctly and may cause one or more adapters to failover unnecessarily. If you intend to use the probe feature of ANS, Intel recommends that you load the frame types Ethernet_II or Ethernet_Snap. You do not need to bind any protocols to these frame types.

- If an adapter is TCO enabled and connected to a Baseboard Manageability Controller (BMC), you can add it to any type of ANS team. However, if you are adding it to a Static Link Aggregation (SLA) or an IEEE 802.3ad Dynamic Link Aggregation Team, a warning is displayed indicating that all manageability traffic will be lost. The result is that the system management capabilities will be non-functional. This is due to load balancing requirements within a team and the fact that manageability traffic is restricted to a single port on a specific adapter.
  Also, if the adapter is connected to a BMC device that does not use a dedicated MAC address, Receive Load Balancing and Adaptive Load Balancing teams will lose manageability traffic like SLA and Dynamic Link Aggregation Teams mentioned above.

## Troubleshooting

- When IANS.LAN forms a team, it may report the following error message: "Primary adapter does not sense any probes. Possible reason, partitioned team."

  In addition, if VLANs are enabled at the switch, the adapter will continuously fail over while there is no traffic on the network. This has been observed when connected to Extreme Summit2 and Summit4.2 switches.

  This fail-over does not affect performance. But the error message can be turned off with the command PROBES = OFF.

- If, at commit, you receive the error message: "Failed to create new team," ensure the following:

  1. All adapters have loaded drivers and have the same frame types loaded.

  2. iANS is loaded once for each VLAN and frame type.

  3. All adapters are connected to the same switch.

  4. iANS is not bound to an unsupported adapter.

  5. An "iANS BIND" command has been issued for each adapter and frame type in the team.

     | NOTE: Novell netware's configuration does not reflect the iANS BIND statements until after the COMMIT has been successfully issued.

- In Novell NetWare, the following message may be displayed: "IPX received an incomplete packet from network 00001011:00A0C9AADFC3. 85 incomplete packets received." This message occurs when NetWare's internal routing mechanism mistakes the Intel iANS driver's probe packets for NetWare RIP packets. To prevent this message from displaying, make sure that IPXRTR.NLM is loaded on every NetWare server on the LAN. For more information on IPXRTR, see Novell's documentation or their Support website: http://support.novell.com.

`Last modified on 9/19/05 3:15p Revision 9`