IBM's Advanced Networking Services for NetWare* 4.1x and Higher CONTENTS: I. INTRODUCTION II. REQUIREMENTS Switch capabilities Server Adapters Supported III. LOCATIONS of ANS DRIVER IV. TEAMING COMMAND LINES Basic Structure Example Mixed Speed Fault Tolerance Team V. VLANS COMMAND LINES Allocating Memory for VLANs Example for a Single Adapter VLAN Team VI. USAGE NOTES * * * * * * * * * * * * * * * * * I. INTRODUCTION BANS.LAN is the IBM software for NetWare 4.11 and higher that provides a variety of advanced networking services (ANS). These benefits include the teaming and VLAN based features. Teaming includes: Adapter Fault Tolerance (AFT), Adaptive Load Balancing (ALB), Port Aggregation (IBM Link Aggregation, Cisco* Fast EtherChannel* (FEC) or Gigabit EtherChannel* (GEC), VLAN (Virtual LAN) support includes support of IEEE 802.1q and Cisco ISL*. With NetWare, VLAN and ANS (teaming) features may be used simultaneously. Descriptions of the various modes and their specific requirements are: AFT (Adapter Fault Tolerance). Default mode. A secondary adapter in the team will automatically take over on any failure of the primary connection (cable, adapter or port). Only one card is active at a time. If there is a failover to a second card, control passes back to the primary adapter when it is restored. May use a mixed speed team. May use a hub or any switch. ALB (Adaptive Load Balancing or asymmetrical link aggregation). A team of 2-8 adapters share the transmission load while the primary receives and transmits. Includes fault tolerance support. Should be a same speed team. May use any hub or switch. FEC (Cisco*'s Fast EtherChannel* Technology and IBM Link Aggregation). A team of 2-8 adapters which simultaneously receive and transmit. Includes fault tolerance support. Should be a same-speed team. Requires a switch that supports IBM Link Aggregation or Cisco's FEC. Spanning Tree Protocol must be turned off. GEC - Gigibit equivalent of FEC. Requires GEC compatable switch and Gigabit Adapters. You may also identify which adapters in a team you want to use as the primary and secondary cards. The Primary will be the first card to be used in a team. For fault tolerance, the primary is the only card used until a failure. For ALB, the primary is the card that both transmits and receives. The Secondary is the preferred adapter (in a more than 2 card team) to fill the role of primary adapter upon a failure of the primary. VLAN (Virtual LAN): VLANs will be enabled if a vlanID is stated when BANS is first loaded. VLAN is a network subset formed through software rather than hardware proximity. VLANs provide secure access, segmented broadcast traffic, and centralized management for improved performance. Requires a VLAN capable switch (10 or 100). Connection must be made to ports tagged with numbers identical to that assigned to the adapter. 802.1q support is provided by all IBM 10/100 Ethernet adapters. There is a limit of 64 VLANs per server. * * * * * * * * * * * * * * * * * II. REQUIREMENTS: These advanced networking features only work with IBM Server adapters. Each team requires at least one Server adapter. All adapters must use the same frame type parameter. Some features require a connection to a switch (preferably 100baseTX or greater) that has link aggregation and/or VLAN capability. Link all adapters of an ALB, FEC or GEC team to the same segment using the same speed and duplex, otherwise performance will be greatly degraded. AFT teams must also be connected to the same segment but may consist of adapters using different speeds and duplex modes. If using different speed adapters on an AFT team, set the fastest adapter as the "primary". When using BANS.LAN, do NOT bind the network protocols (IPX, IP, etc) directly to the base driver of an adapter used with BANS. Instead, bind BANS to the base driver and the protocol(s) to BANS. Doing otherwise can cause routing error messages, but most likely the protocols bound directly to the base drivers will simply not work. The install utility (INSTALL.NLM for NetWare 4.x, and NWCONFIG.NLM for NetWare 5.0) should not be used to configure BANS.LAN because of the configuration complexity of this driver. It may be used to copy BANS.LAN into place which will be done automatically if the utility is used to install CIBMFE. However, an attempt to install and configure BANS.LAN with that tool will result in several lines being added to the AUTOEXEC.NCF that appear as a normal LAN driver load and bind statement. These lines will need to be removed or replaced with a valid set of BANS commands. An alternative is to manually copy the the BANS.LAN driver to the sys:\system directory. Some advanced features are also adapter dependent as the table below depicts. The term "Teaming' used here implies teaming modes of AFT(T), ALB(B), FEC(F), and GEC(G). Server Adapters supported Teaming VLAN(.1q) T B F G IBM NetfinityGigabit Server Adapter x x x x 10/100 Ethernet Server Adapter x x x x 10/100 Ethernet Dual Port Server Adapter x x x x 10/100 Ethernet Security Server Adapters x x x x Note: Only fault tolerance should use mixed speed teams. All other IBM 10/100 Ethernet adapters may be part of an ANS team with all features except for some VLAN capability. All 10/100 Ethernet adapters will work for 802.1q VLAN. For more information on features, switches, and specific adapter compatability, see the IBM web site. * * * * * * * * * * * * * * * * * III. LOCATIONS of ANS DRIVER (required for some ANS features): For 10/100 Ethernet Server Adapters: \NWSERVER\BANS.LAN * * * * * * * * * * * * * * * * * IV. COMMAND LINES Basic Structure: LOAD base driver (e.g. CIBMFE.LAN) with appropriate parameters. LOAD BANS driver For a VLAN you would 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. BIND BANS driver to adapter name. If creating multiple teams, include the team # here to define which team uses which adapter(s). If you want to specify which adapter is to be primary or secondary, list on this line. LOAD BANS COMMIT . Creates the team. ( will distinguish which advanced services to enable.) If creating multiple teams, include the team #. BIND the protocol to the BANS driver using the name that was assigned when BANS was loaded. If you are using only one frame type, a single team and no VLAN, you can bind the protocol directly to the BANS driver without using an assigned name. Include a net=n number (especially in a script since the system will request the number if not given.) Example of Mixed Speed Fault Tolerance Team: Load CE100b name=100Meg Load IBMGE name=Gigabit Load BANS Bind BANS Gigabit Primary Bind BANS 100Meg Load BANS COMMIT MODE = AFT Bind IPX BANS Net=2 For more information on specific load commands for AFT, ALB or FEC see the Adapter Teaming example file (examples.txt) in the \Info\NetWare directory on the CD. * * * * * * * * * * * * * * * * * V. VLAN COMMAND LINES Allocating Memory for VLANS: When using multiple VLANs, the server's default packet buffers will probably need to 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 = 200 (or higher) SET MAXIMUM PACKET RECEIVE BUFFERS = 500 (or higher) "SET MINIMUM PACKET" designates the minimum number of packet receive buffers the system will 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 whether or not load balancing or FEC / GEC is in use. For every VLAN used, BANS will request 64 buffers. When in load sharing modes (ALB, FEC and GEC) 64 buffers are needed for each adapter in the team. The non load sharing fault tolerant mode (AFT) only requires the 64 buffers for one of the adapters in the team. As an example, an ALB team of 2 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. The default amount of memory used by each NetWare receive buffer is approximately 4K (varies slightly with different versions). If the extra memory requirement for VLAN is a problem, there are several things that can be done 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 BANS) 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 = 2000 Note that this will not work if ethernet "jumbo frames" are in use. In fact, the packet size will have to be increased to accommodate the Jumbo Frames. Jumbo frames are supported only with Gigabit adatpter and requires switch infrastructure that supports Jumbo Frames. A keyword is included for BANS that allows the administrator to reduce the buffer requirement per VLAN from 64 down to as low as 32, however, this will negatively impact the server's performance. The syntax is: LOAD BANS TX_ECBS_TO_USE = X Where "X" is the number of buffers to use for each VLAN. Example for a Single 802.1q VLAN Team: Load cibmfe slot=5 frame=ethernet_802.3 name=e83 Load bans vlanid=2 frame=ethernet_802.3 name=T1-VL2 team=1 Load bans vlanid=3 frame=ethernet_802.3 name=T1-VL3 team=1 Bind bans e83 team=1 Load bans commit mode=AFT team=1 Bind ipx T1-VL2 net=2 Bind ipx T1-VL3 net=3) See examples.txt for several examples of configuring teams, vlans and both. In order to function properly, the adapters configured for VLAN must be connected to a "tagged" port (called a trunk port by Cisco) on an 802.1q capable switch. * * * * * * * * * * * * * * * * * VI. USAGE NOTES: 1. Gigabit adapters - The IBM Netfinityadapter may be teamed with certain IBM(R) Fast Ethernet adapters for AFT mode only. The IBM Netfinityshould be designated the preferred primary adapter for best performance. Drivers may be found on the IBM web site. Intelligent Server Adapters (CE100snw basedriver) also require a recent basedriver (ce100snw v.1.20 or later), available on the IBM web site. 2. Required Settings in STARTUP.NCF SET MINIMUM PACKET RECEIVE BUFFERS = 200 (or larger) SET MAXIMUM PACKET RECEIVE BUFFERS = 500 (or larger) See the section "Allocating Memory for VLANS" in Section V. VLAN COMMAND LINES earlier in this document for more information. 3. If you receive the ERROR MESSAGE (at commit): "Failed to create new team," check the following: a. All adapters have loaded drivers and have the same frame types loaded. b. BANS is loaded once for each vlan and frame type. c. All adapters are connected to the same network segment. d. BANS is not being bound to an unsupported adapter. e. An "BANS BIND" command has been issued for each adapter and frame type in the team. Note: Novell's CONFIG command will not reflect the BANS BIND statements until after the COMMIT has been successfully issued. 4. To display the current status for all adapters in a BANS team: LOAD BANS STATUS team=(name) 5. To create the primary adapter: BIND BANS PRIMARY Example: BIND BANS CIBMFE_1_E82 PRIMARY This can only be done during in the BIND command. 6. The default amount of memory used by each NetWare receive buffer is approximately 4K (varies slightly with different versions). If the extra memory requirement for VLAN is a problem, there are several things that can be done to reduce the impact: a. If Ethernet is the only network topology that the server uses, and you are not using "jumbo frames", add (to STARTUP.ncf): SET MAXIMUM PHYSICAL RECEIVE PACKET SIZE = 2000 b. Use the BANS keyword TX_ECBS_TO_USE to reduce the buffers per VLAN from 64 down to as low as 32. This WILL negatively impact performance (while reducing system resources required). Example: LOAD BANS TX_ECBS_TO_USE = n (# buffers for each VLAN) See the section "Allocating Memory for VLANS" in Section V. VLAN COMMAND LINES earlier in this document for more information. * Third-party trademarks are the property of their respective owners.