ans.txt Driver File Contents (

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


- 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 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 
	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

- 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 

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 

      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' 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 

	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:

	IPADDR=""   (sample)
	NETMASK=""  (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 


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 

  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 

  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 

  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 

  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.


  "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.


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:

  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 

	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:


  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

    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:


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 netmask
  ifconfig vadapt2 netmask


1.  If an adapter has been running standalone with an assigned IP 
    address, you must configure the IP address to before 
    adding it to a team:

	ifconfig ethx {}.

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:


     -For 2.4.x kernels:

     - /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


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.


*  Third-party trademarks are the property of their respective owners.
Download Driver Pack

How To Update Drivers Manually

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.

server: web2, load: 1.30