Installing and Configuring Intel(R) Advanced Networking Services (ANS) on the Linux 2.2.x and 2.4.x Kernels (Intel 32-bit architecture only) ====================================================================== July 6, 2001 Contents ======== - Overview & Environment - Installation of Advanced Networking Services - Manual Installation and Configuration - Scripted Installation and Configuration - Saving the Configuration across Reboots - Removing Advanced Networking Services - Modifying Advanced Networking Services Configurations - Available Commands - Example of Setting Up an AFT team - Troubleshooting (also includes file distribution and conf.modules example) - License Overview and Environment ======================== This file describes the Intel(R) Advanced Network Services (ANS) package, version 1.3.34, for Linux. This package was tested on Red Hat* Linux* with 2.4.0 on both UP and SMP Intel processor-based PCs. Installation assumes all necessary kernels and build tools are loaded and that you are using the latest Intel base drivers found at http://www.support.intel.com. Base drivers provided in some distributions do not contain the necessary hooks for ANS. NOTE: Base drivers provide support for some beta features which are not supported at this time by ANS, including Compaq Hotplug and Intel(R) Itanium(TM) architecture. These Advanced Networking Services only work with Intel(R) PRO/100 and PRO/1000 server and desktop adapters, and each team requires at least one server adapter. NOTE: Linux is not supported on the Intel(R) PRO/100 Intelligent Server Adapter. ANS is not supported on the Intel(R) PRO/100 VE Adapter. This package supports IEEE VLANs and the following teaming modes: * AFT ( 10/100 and 1000) Adapter Fault Tolerance * ALB ( 10/100 or 1000) Adaptive Load Balancing (includes AFT) * FEC (10/100) or GEC (1000) Link Aggregation/FEC/GEC Descriptions of the teaming modes and their specific requirements are: - AFT (Adapter Fault Tolerance). Default mode. A secondary adapter in the team automatically takes over on any failure of the primary connection (cable, adapter or port). Only one network adapter is active at a time. After a failover, if the connection to the primary adapter is restored, control passes automatically back to that primary adapter. May mix Speed and duplex capabilities and settings. May use a hub or 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. This feature does not support mixed speed/duplex settings between team members at this time. - FEC (Cisco*'s Fast EtherChannel* Technology (FEC) or Intel Link Aggregation). A team of 2-8 10/100 adapters which simultaneously receive and transmit. Includes fault tolerance and load balancing. Must match speed/duplex settings on all team members. This requires a switch that supports Intel Link Aggregation or Cisco's FEC. Spanning Tree Protocol must be turned off. Must match switch aggregation requirements. - GEC (Gigabit equivalent of FEC). Requires GEC compatible switch and PRO/1000 Adapters. Similar requirements to FEC/LA above. NOTE: For AFT and ALB, you may specify which adapters in a team you want to use as the Primary and Secondary adapters. The Primary is the main adapter used in a team. For AFT, the Primary is the only adapter used until a failure occurs. For ALB, the Primary is the adapter that both transmits and receives. The Secondary is the preferred adapter (in a team consisting of more than two adapters) to fill the role of Primary adapter if it fails. If Priority is not specified, the adapter with the highest supported speed is chosen. If all adapters support the same speed, the last one added is the primary. IEEE 802 Virtual LANs (VLANs) are based on the addition of a tag to the packet header. All equipment on the network that passes this traffic must be capable of handling the extra length. Settings on the adapter must match the VLAN settings on the switch. VLANs also add to load time and require additional memory resources. There is a limit of 64 VLANs per team; however, VLANs may be numbered from 1 to 4096. Installation of the ADVANCED NETWORKING SERVICES Package ======================================================== To install and compile the base driver package(s), see the read-me included with those drivers. Use the latest driver from the Intel support Website. *Not for use with eepro100 (module removal may be necessary). Verify that all interfaces are working and that you have the base driver file(s), e100.o and e1000.o, located in: For a 2.2.x kernel: /lib/modules/<kernelversion>/net/ For a 2.4.x kernel: /lib/modules/<kernelversion>/kernel/drivers/net/ 1. Login as root. 2. Copy the iANS-x.x.x.tar.gz package file to a directory of your choice. 3. Open the package file by running 'tar xzf iANS-x.x.x.tar.gz'. This creates a subdirectory for iANS-x.x.x under the current directory. 4. Enter the iANS-x.x.x directory. Choose one of the two separate methods for installation: 1. Manual (suggested for experienced users) 2. Scripted (suggested ONLY for Red Hat* 6.x, 7.0, 7.1, SuSE* 6.4, Caldera* 2.2, and TurboLinux* Server 6.0 users) Manual Installation and Configuration ------------------------------------- 1. From the directory iANS-x.x.x run 'make' to compile the module. NOTE: SMP/UP and MODVERSIONS are determined by 'make'. If there is a mismatch between the configuration for the kernel source tree and the kernel itself, run 'make options' to list the options available for overriding the source tree settings. Options include SMP, MODVERSIONS, and NODEBUG (not listed). NODEBUG values are 0 (debugging is on) and 1 (debugging is off). The default is 0. 2. Run 'make install'. The default file locations may be changed by editing the paths at the top of Makefile. There are not any messages after make install. For a list of files and their default locations, see the Troubleshooting section in this guide. 3. For ANS support, you must use Base Driver version 1.5.5 (or higher) for PRO/100 and/or Base Driver version 2.6.6 (or higher) for PRO/1000. NOTE: Make sure no other base drivers are loaded nor compiled into the kernel for any of the Intel adapters (e.g., eepro, eepro100, eexpress, e100, e1000). Be sure the configuration files have been edited to alias the new driver(s) and not any previous drivers. See the Troubleshooting section for an example file. 4. After the required base drivers are loaded, down any Intel adapters that are to be added to a team. If they already have an IP address, run 'ifconfig ethx 0.0.0.0' to remove the IP number. ifconfig - a - lists all current network devices ifconfig ethx down - downs adapters so ANS may be loaded NOTE: You should leave other vendor's Ethernet adapters configured, as well as any Intel adapters that are not added to teams. This ensures that the network device name assignment remains consistent after rebooting. 5. Load the Advanced Networking Services module by running 'insmod ians'. In the following command lines, optional items are placed in [ ]. All VLAN settings are shown as optional. 6. Create team(s): ianscfg -a -t<team_name> [-M<mode >] [-V] Use the -M flag to specify the teaming mode (default AFT, others NONE | ALB | FEC | GEC ). Use the -V flag to specify a VLAN. Use -M NONE if you want VLANs on single adapters without link aggregation. Any other mode may be specified to use VLANs and link aggregation simultaneously. 7. Determine the teaming mode (AFT, ALB, FEC, GEC) for each team: ianscfg -C -t<team_name> -M<mode> NOTE: team mode may be specified in either steps 6 or 7 8. Add Intel adapters to the team and specify their role (priority): ianscfg -a -t<team_name> -m<ethNN> [-p <priority role>] Priority may be none, primary, or secondary 9. Create virtual adapters: ianscfg -a -t<team_name> -v<vadapter_name> [-i<vlan_id>] vadapter_name may be anything except 'ethx' as long as it ends with an instance suffix. Specify the -i options (vlan_id) only on VLAN based teams or adapters. 10. Activate the team: ianscfg -c<team_name> 11. Activate the virtual adapter: ifconfig <vad_name> <ip#> netmask <mask#> [broadcast <broadcast>] NOTE: This binds the protocol to the VIRTUAL adapter. 12. Check the team status: ianscfg -s At this point the team is now active. You should be able to send and receive packets via the virtual adapter. Scripted Installation and Configuration --------------------------------------- For ease of configuration, Intel supplies interactive scripts that are only supported on: Red Hat* (6.x, 7.0, 7.1) SuSE* (6.4) Caldera* (2.2) TurboLinux* (6.0 server) ANS sets up four directories named Red Hat, SuSE, Caldera, and Turbo to match each of these distributions under 'iANS-x.x.x/install/'. To use the install script, enter 'iANS-x.x.x/install/[dist_name]', and type './INSTALL'. NOTE: The module is created with support for the SMP/UP and MODVERSIONS features as defined by the configuration of the current kernel source tree (/usr/src/linux/). On some systems, there may be a mismatch between this configuration and the kernel image itself. If there is a mismatch, it will not be apparent until further in the process. Run 'INSTALL options' to see extra compilation switches that allow overriding the kernel source tree settings. Then, follow the instructions displayed on the console. You must answer some questions during the process: 1. "Would you like the configuration utility to remove all network interfaces automatically?" The installation process must bring down the network interfaces related to Intel adapters in order to unload the old Intel drivers and replace them with the new ones. Select 'Yes' (default) to remove all network interfaces, including other brands. Select 'No' to choose each interface. 2. "Enter team name,(Enter) to end." You must enter either a team name (often a number) or press Enter (CR) to quit adding teams (skips to Step 6). "Would you like to have VLANs in team (name)?" Select 'Yes' to create a VLAN-based team. "Select members for team (name)" lists all applicable interfaces. Type the number of the adapter to add to the team. Select the role (none, primary or secondary). Repeat this for each adapter. Enter 0 when done. 3. "Enter virtual adapter name for team (name)." The virtual adapter name can be anything but 'ethx' and must end in an instance suffix. "Enter VLAN id for virtual adapter (name)." The VLAN id is for VLAN-based teams only. Enter a number from 1 to 4095 to specify the Virtual LAN. "Enter boot protocol (none, bootp, dhcp, or other)." Choose 'none' to manually enter the IP address and netmask. Choose 'bootp' or 'DHCP' to enter the IP address and netmask from another machine. Or, choose 'other' to enter the protocol name (such as IP). NOTE: This information is NOT saved until you completely configure the team and confirm your selection. 4. "Select Teaming Mode for Team (name) - None\AFT\ALB\FEC\GEC\." For descriptions, see the Overview and Environment section of this read-me. For Intel Link Aggregation, use FEC or GEC. WARNING: Choosing 'none' still creates a team! 5. "Are you sure?" Choose 'Yes' to commit to the chosen team. Choose 'No' to return to step 3. After committing to the team, you may make another team or press 'Enter' to proceed. 6. "Would you like to save this configuration and load it on boot?" Choose ‘Yes’ (default) to merge the ans initialization script into the boot time sequence. Choose the run levels that should load the ANS module automatically. It is recommended that you select the same level as the network boot, usually 2,3,4, or 5. If you do not want to save the configuration for boot, select 'No'. 7. "Would you like to start the network now?" Select 'Yes' to activate the team. Choosing 'No' should still show that installation and configuration completed successfully. ANS starts at reboot if the settings were saved in step 4. Saving ADVANCED NETWORKING SERVICES configuration across reboots ================================================================ NOTE: Do not complete these steps if you are using the scripted configuration method. Sample lines are Red Hat 6.x specific. You must modify the examples for your distribution. Now that the Ethernet and ANS drivers are configured, follow the instructions below to configure the system to activate ANS the same way every time it boots. 1. Save the ANS configuration to a file by running: ianscfg -w [-f<file_name>] The default is '/etc/ians/ians.conf'. 2. Make sure that the adapters that were selected as members of the team(s) are NOT configured on boot. To do so, change "ONBOOT=yes" to "ONBOOT=no" in every matching '/etc/sysconfig/ network-scripts/ifcfg-ethX' file. 3. Set each virtual adapter to configure on boot by creating a config file, '/etc/sysconfig/network-scripts/ifcfg-<vadapter_name>'. The file must look something like this: DEVICE=<vadapter_name> BOOTPROTO="none" ONBOOT="yes" IPADDR="192.168.1.1" (sample) NETMASK="255.255.255.0" (sample) 4. Create an init script that loads the e100.o, e1000.o (if needed) and ians.o modules and configures the ANS topology. You may use the sample script file by copying 'iANS-x.x.x/install/Red Hat/ans' to '/etc/rc.d/init.d/ans'. Configuration is read from '/etc/ians/ ians.conf' by default. If you wish to use any other file, modify the script. 5. Add the ANS script to the init process for the appropriate run levels. Run 'chkconfig --level <run levels> ans on' where <run levels> is the run level where ANS starts. NOTE: This script must be invoked BEFORE the system starts the network services. For example, if your network init script for run level 3 is '/etc/rc.d/rc3.d/S10network', create a symbolic link '/etc/rc.d/rc3.d/S09ans' that points to '/etc/rc.d/init.d/ans'. ANS service is automatically stopped when the network service is stopped. Removing ADVANCED NETWORKING SERVICES ===================================== There are several stages to removing Advanced Networking Services: * Bringing down all vadapter interfaces * Removing the ANS configuration from future reboots * Removing the ANS module * Removing the files from the system There are two methods for removing ANS: manual and scripted. Manual method of Removing ANS ----------------------------- 1. Login as root. 2. Run 'ifconfig -a' to see every virtual adapter configured in the system. 3. For each virtual adapter, run 'ifconfig <vadapter_name> down'. 4. Remove the ians module by running 'rmmod ians'. 5. In each virtual adapter file, either modify the file to contain the line 'ONBOOT="no"' instead of 'ONBOOT="yes"' or remove the file completely. 6. For each file for stand alone adapters, modify the file to contain the line 'ONBOOT="yes"' instead of 'ONBOOT="no"'. 7. You may leave the Intel base driver or you may edit the modules config file (usually '/etc/conf.modules' or '/etc/modules.conf') and restore its original form by removing the lines containing e100 or e1000 as the drivers that were added and restoring every line that was commented out. 8. Remove the ANS initialization script and all the links to it (e.g., '/etc/rc.d/init.d/ans' and '/etc/rc.d/rc.3/S09ans'). 9. From the iANS-x.x.x directory, run 'make uninstall' to remove all the files. Scripted Method (only those distributions covered by scripted install) ---------------------------------------------------------------------- 1. Login as root. 2. Enter the iANS-x.x.x/install/[distribution_name] directory. 3. Run 'UNINSTALL'. 4. The rest of the process is interactive. Follow the instructions displayed on the console. Prompts: "Restore member adapters to original role (stand alone)." Answer 'Yes' for each adapter you wish to continue using stand alone mode. This configuration is made using Intel's e100(0).o driver; although, you may restore other drivers. Removal of the ANS module from memory does not down the adapters running in stand alone mode. The script removes all files, scripts, and links created except '/etc/ians/ians.conf'. Restarting the Network with the Original Configuration: For the new settings to take effect, you must restart the network service by either rebooting the system or running the network init script with the restart parameter: /etc/rc.d/init.d/network restart NOTE: If you used the automatic INSTALL method for configuring ANS, note that lines were added to the '/etc/conf.modules' file. These lines are not removed by the UNINSTALL script. If you want to remove them, you must do so manually. Modifying ADVANCED NETWORKING SERVICES Configuration ==================================================== ANS configuration and topology may be changed, with a few limitations. After commit, you may change priority, add team members, or remove all but the last team member. You may not: -Change the team mode. -Remove a team or a virtual adapter. -Remove the last member of an active team. Teams, member adapters and virtual adapters may be added on the fly with the same set of commands while the service is running via the hot add and hot remove features. Do not confuse this with PCI Hot Plug Add/Remove. There are two methods of reconfiguring: - Semi-automatic: good for changing the mode and/or moving members between teams. New teams cannot be created with this feature, and all adapters must remain in teams. - Manual reconfiguration (see below) Semi-automatic Reconfiguration ------------------------------ 1. Manually modify the ANS topology description file: /etc/ians/ians.conf 2. Call the ANS initialization script with the restart parameter: /etc/rc.d/init.d/ans restart 3. To reactivate, run the network service initialization script with the restart parameter: /etc/rc.d/init.d/network restart Manual Reconfiguration ---------------------- 1. Take down the virtual adapter: ifconfig <vadapter_name> down 2. Remove the ians module: rmmod ians 3. Create or modify the ians topology file to match the new desired topology: default location: /etc/ians/ians.conf or create a script containing a set of calls to ianscfg that generates the desired topology. 4. Load the ians module: insmod ians 5. Run the script created in step 3, or run the command: ianscfg -r [-f<filename>] where <filename> is the new topology file. 6. Reset each created virtual adapter: ifconfig <vadapter_name> <IPaddr> [netmask <NETMASK>] [broadcast <BROADCAST>] 7. Save the new configuration: ianscfg -w [-f<filename>] Create an interface configuration file for each new virtual adapter: * The files would normally reside in '/etc/sysconfig/network-scripts/' * The name format should be 'ifcfg-<vadapter_name>' * Sample file content: DEVICE=<vadapter_name> BOOTPROTO="none" ONBOOT="yes" IPADDR="192.168.1.1" NETMASK="255.255.255.0" 8. If any unnecessary virtual adapter configuration file is left, remove it or modify it. 9. For any adapter that is desired as stand alone connection, you may continue to use the Intel base driver. List of Available Commands: ============================= Create a team: Create team(s): ianscfg -a -t<team_name> [-M<mode>] [-V] Use the -M flag to specify the teaming mode. The default is 'AFT'. Other options include 'NONE', 'ALB', 'FEC', or 'GEC'. Use the -V flag to specify a VLAN. Set/Change team mode (only before commit): ianscfg -C -t<team_name> -M <mode> Add team members: ianscfg -a -t<team_name> -m<ethNN> [-p Y] where Y can be none, primary or secondary, optional. Only existing Intel Ethernet devices may be added to a team. Add virtual adapter: ianscfg -a -t<team_name> -v<vadapter_name> [-i<vlan_id>] NOTE: On non-VLAN teams, define ONLY one virtual adapter per team. On VLAN teams, the -i options (vlan_id) must be specified. The name of the virtual adapter can be any except 'ethx' but must include instance number suffix. Activate (commit) the team: ianscfg -c<team_name> After a team has been activated, members may still be added or removed. NOTE: At this point the virtual adapter appears (ifconfig -a) in the adapters list, but it is in the down state. Activate the virtual adapter: ifconfig <vadap_name> <ip#> netmask <mask#> broadcast <broadcast> Get Status: ianscfg -s Get help on the ianscfg utility: ianscfg To remove a member: ianscfg -d -m<ethX> NOTE: You cannot remove the last member of a team. Do not specify the team here. To Disable the Virtual Adapter: ifconfig <virtual_adapter_name> down To remove a team (only before commit): ianscfg -d -t<team_name> To remove a virtual adapter: (only before commit) ianscfg -d -v<vadapter_name> To Remove the ANS Module: (down all vadapters first) rmmod iANS To remove ANS files from your system (after downing vadapters and resetting the configuration), from the iANS-x.x.x directory: make uninstall To Save the current configuration in a file (only after commit): ianscfg -w [-f <filename>] The default is an editable text file named '/etc/ians/ians.conf'. To automatically program a topology configuration from a file: ianscfg -r [-f <filename>] The default file is '/etc/ians/ians.conf)'. Turn off probes: ianscfg -P -t<team_name> -d Example File for Setting up AFT Mode with VLANs: (two PRO/100 adapters) ======================================================================= insmod e100 insmod ians ianscfg -a -t team1 -M AFT -V ianscfg -at team1 -m eth0 -p primary ianscfg -at team1 -m eth1 -p secondary ianscfg -at team1 -v vadapt1 -i 10 ianscfg -at team1 -v vadapt2 -i 15 ianscfg -c team1 ianscfg -s ifconfig vadapt1 143.185.254.10 netmask 255.255.255.0 ifconfig vadapt2 143.185.254.10 netmask 255.255.255.0 Troubleshooting =============== 1. If an adapter has been running standalone with an assigned IP address, you must configure the IP address to 0.0.0.0 before adding it to a team: ifconfig ethx {0.0.0.0}. 2. Always bind the protocol to the virtual adapter and NOT to the physical adapter for adapters that are in a team. This applies to standalone adapters as well. 3. If you do not remove references to other possible base drivers in the configurations, you risk multiple interfaces and unpredictable outcomes for adapters you wish to use in the team. 4. If you receive an error message, "module not loaded," during configuration of the team, start over. To do so, type: ./INSTALL veryclean all SMP=[0|1] MODVERSIONS=[0|1] Choose 0 or 1 for SMP, and select MODVERSIONS to match the configuration for the current kernel tree. NOTE: This error occurs when the target module does not match the kernel version and when install was done without parameters (found using './INSTALL' options). 5. If, when adding the ANS script to the init process, you receive an error message, "service ans does not support chkconfig," manually create the symbolic link to the ans file for each run level desired by entering: ln -s /etc/rc.d/init.d/ans /etc/rc.d/rcX.d/S09ans where X is the number of the desired run level. 6. If you are moving adapters in and out of teams with Jumbo Frames, check the MTU settings for Jumbo Frames. 7. MAC Address changes for virtual adapters are not supported. Structure of the ANS build tree: * kernel dependant source files (src/*.[ch], src/lib/*.[ch]) * kernel independent precompiled object file (bin/iANS_core.o). * Makefiles. * Advanced Networking Services configuration utility (bin/ianscfg). * installation, uninstall and configuration scripts Distribution of files: By default, the components are distributed as follows: -For 2.2.x kernels: /lib/modules/[KERNEL_VERSION]/net/ians.o -For 2.4.x kernels: /lib/modules/[KERNEL_VERSION]/kernel/drivers/net/ians.o - /usr/sbin/ianscfg - /usr/man/man1/ianscfg.1 conf.modules file example: #alias eth0 eepro100 #alias eth1 eepro100 #alias eth2 eepro100 alias eth0 e100 alias eth1 e100 alias eth2 e100 alias parport_lowlevel parport_pc alias scsi_hostadapter aic7xxx License ======= Copyright (c) 1999 - 2001, Intel Corporation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistribution's of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistribution's in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of Intel Corporation nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * Third-party trademarks are the property of their respective owners.Download Driver Pack
After your driver has been downloaded, follow these simple steps to install it.
Expand the archive file (if the download file is in zip or rar format).
If the expanded file has an .exe extension, double click it and follow the installation instructions.
Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.
Find the device and model you want to update in the device list.
Double-click on it to open the Properties dialog box.
From the Properties dialog box, select the Driver tab.
Click the Update Driver button, then follow the instructions.
Very important: You must reboot your system to ensure that any driver updates have taken effect.
For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.