   Examples using the IANS.LAN (Intel Advanced Network Services) Driver

This file gives examples of load and bind statements to add to 
your AUTOEXEC.NCF file for setting up Advanced Network Services
on Intel(R) ethernet adapters.

CONTENTS
Example 1: 2 Adapter Fault Tolerant Teams (Intel(R) PRO/1000 &
             Intel(R) PRO/100 Intelligent Server adapters)
Example 2: 2 Adapter ALB Team with 2 PROTOCOLS (E_II Frame TYPE)
Example 3: 2 TEAMS - 2 adapter AFT team & 4 Adapter FEC team
Example 4: 1 Adapter, 4 FrameTypes, 2 802.1q VLANs (#5&6),
             2 Protocols
Example 5: 2 Adapter ALB team, 5 VLANs, 1 Frame Type, 2 Protocols
Example 6: 2 ISL VLANs on 1 adapter, 2 frametypes per VLAN

NOTE:
This file gives examples of load and bind statements to add to your 
AUTOEXEC.NCF file for setting up Advanced Network Services on Intel(R)
network adapters. Different models of Intel network adapters are used
from one example to another to illustrate that the syntax for iANS.LAN
is the same from one adapter to another.  You can modify these
examples to reflect a different set of physical adapters by
substituting the base driver loaded in the example with the
appropriate driver for the actual adapter.  For instance, to use an
Intel PRO/1000 adapter (which uses the base driver CE1000.LAN) in place
of an Intel(R) PRO/100 S adapter (which uses CE100B.LAN) replace
"CE100B" with "CE1000" throughout the example for the adapter in
question. 


#XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

# Example 1: 2 Adapter Fault Tolerant Team (PRO/1000 & PRO/100
  Intelligent Server Adapters)

# The following is an example of an AFT team that consists of a
# PRO/1000 adapter and a PRO/100 Intelligent Server adapter. The
# PRO/1000 is the primary and the Intelligent Server is the secondary.
# For the sake of simplicity, only one frame type, the default of
# 802.2, is used.  Because the default frame type is used, it does
# not need to be specified on the command line.  It is also
# assumed that only one instance of each adapter is present in the
# system so a slot number does not need to be specified.

; First the base driver must be loaded for each adapter and frame type
; involved in the team.  As this example only uses 802.2, each adapter
; only has it's base driver loaded once.
load CE1000 
load CE100SNW

; Second step is to load IANS.LAN to form the basis of a team.  For
; this example IANS is only loaded once.  If multiple frame types are
; used, iANS is loaded once for each frame type.
load IANS

; Once IANS.LAN is loaded, it looks like a protocol, so we can bind it
; to the physical adapter.  IANS.LAN needs to be bound to each physical
; adapter in the team.  The "PRIMARY" keyword is used to make iANS
; favor one particular adapter.  If a team loses the connection on it's
; primary adapter it will switch to the other adapter(s).  If the
; primary adapter recovers, iANS will switch back to it.  In mixed
; speed teams always set the fastest adapter in the team as the
; primary.
bind IANS CE1000 PRIMARY
bind IANS CE100SNW

; The commit command creates the team.  The default mode is AFT.  Since
; that is what this example is after, we do not need to specify a mode.
load IANS COMMIT

; Once the team has been committed, it looks like an adapter, so now we
; can bind protocols to IANS.
bind IPX IANS net=102

#XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

# Example 2: 2 Adapter ALB Team with 2 PROTOCOLS (E_II Frame TYPE)

# This example is slightly more complicated.  It still only uses one
# frame type, but it uses ethernet_II which is not the default and must
# be specified.
# It will be a load balanced team (ALB) of Intelligent Server adapters
# and have both IPX and IP bound to the IANS team.  This example
# assumes a server with 2 Intelligent Server adapters, one in PCI slot
# 1 and the other in PCI slot 2.

;Load TCPIP.NLM.  This can be done at any point before binding IP.
Load TCPIP

; Load the base drivers for each adapter in the team.  Since the
; default frame type (802.2) is not the one in use, the frame type
;(ethernet_ii) must be specified on the driver load line.  Also, as two
; different Intelligent Server adapters are in use, each one needs to
; be assigned a name for later reference.
load CE100SNW slot=1 frame=ETHERNET_II name=Primary_CE100SNW_II
load CE100SNW slot=2 frame=ETHERNET_II name=Secondary_CE100SNW_II

; Load IANS.LAN to form the groundwork for the team.  Again, the frame
; type needs to be specified as it is not the default.  If multiple
; frame types, multiple VLANs or multiple teams get used then this
; command requires that a "name" is issued for each instance of IANS.
; In this example a "name" for the team is optional.
load IANS frame=ETHERNET_II

; Bind IANS.LAN to each physical adapter using the names we defined
; when the base drivers were loaded
bind IANS Primary_CE100SNW_II 
bind IANS Secondary_CE100SNW_II 

; Create the team in load balancing mode.
load IANS COMMIT MODE=ALB

; bind both IPX and IP as if IANS was a physical adapter.
bind IPX IANS net=111
bind IP IANS Address=192.168.1.1 Mask=255.255.255.0

#XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

# Example 3: 2 TEAMS - 2 adapter AFT team & 4 Adapter FEC team

# This example will make 2 teams.  The first will be a fault tolerant
# team of a PRO/1000 Server Adapter (CE1000.LAN) and a PRO/100
# (CE100B.LAN). The second team will consist of four PRO/100
# Intelligent Server adapters (CE100SNW.LAN) configured as a "Fast
# Ether Channel" team. This example uses IPX on both ethernet 802.2
# and ethernet II.  It also uses IP on ethernet II.

;load TCPIP.NLM.  Must be done before IP is bound.
LOAD TCPIP

; Load the base drivers for the first team.
LOAD CE1000 SLOT=1 FRAME=Ethernet_802.2 NAME=GIG_E82
LOAD CE1000 SLOT=1 FRAME=Ethernet_II    NAME=GIG_EII

LOAD CE100B SLOT=2 FRAME=Ethernet_802.2 NAME=100M_E82
LOAD CE100B SLOT=2 FRAME=Ethernet_II    NAME=100M_EII

; Load IANS.LAN for the first team.  The team number is included on the
; command line here.  If "TEAM=1" is not included, IANS will default to
; team 1, so for this portion of the example, the "TEAM" command line
; switch is optional.
LOAD IANS FRAME=ETHERNET_802.2 NAME=GIG_FT_E82 TEAM=1
LOAD IANS FRAME=ETHERNET_802.2 NAME=GIG_FT_EII TEAM=1

; Bind IANS to the base driver for each adapter and each frame type.
; Bind to the name of the base driver instance (assigned when the
; driver was loaded) and specify the team number.
BIND IANS GIG_E82 TEAM=1 PRIMARY
BIND IANS GIG_EII TEAM=1 PRIMARY

BIND IANS 100M_E82 TEAM=1
BIND IANS 100M_EII TEAM=1

; commit for team 1
LOAD IANS COMMIT MODE=AFT TEAM=1

; Bind IPX to both frame types and bind IP to ethernet II.

BIND IPX GIG_FT_E82 NET=102
BIND IPX GIG_FT_EII NET=111
BIND IP GIG_FT_EII ADDR=128.181.11.1 MASK=255.255.255.0

; Now load the base drivers for the second team (FEC).
LOAD CE100SNW SLOT=6 FRAME=Ethernet_802.2 NAME=FEC_1_E82
LOAD CE100SNW SLOT=6 FRAME=Ethernet_II    NAME=FEC_1_EII

LOAD CE100SNW SLOT=5 FRAME=Ethernet_802.2 NAME=FEC_2_E82
LOAD CE100SNW SLOT=5 FRAME=Ethernet_II    NAME=FEC_2_EII

LOAD CE100SNW SLOT=4 FRAME=Ethernet_802.2 NAME=FEC_3_E82
LOAD CE100SNW SLOT=4 FRAME=Ethernet_II    NAME=FEC_3_EII

LOAD CE100SNW SLOT=3 FRAME=Ethernet_802.2 NAME=FEC_4_E82
LOAD CE100SNW SLOT=3 FRAME=Ethernet_II    NAME=FEC_4_EII

; Load IANS.LAN for the second team.  Name each frame type with the
; "NAME" keyword and specify the second team with the "TEAM=2" keyword.
LOAD IANS FRAME=ETHERNET_802.2 NAME=FEC_TEAM_E82 TEAM=2
LOAD IANS FRAME=ETHERNET_ii NAME=FEC_TEAM_EII TEAM=2

; Bind IANS to the base driver for each adapter and each frame type.
; Bind to the name of the base driver instance (assigned when the
; driver was loaded) and specify the team number.
bind IANS FEC_1_E82 TEAM=2
bind IANS FEC_1_EII TEAM=2

bind IANS FEC_2_E82 TEAM=2
bind IANS FEC_2_EII TEAM=2

bind IANS FEC_3_E82 TEAM=2
bind IANS FEC_3_EII TEAM=2

bind IANS FEC_4_E82 TEAM=2
bind IANS FEC_4_EII TEAM=2

; commit for team 2
LOAD IANS COMMIT MODE=FEC TEAM=2

; Bind IPX to both frame types and bind IP to ethernet II.

BIND IPX FEC_TEAM_E82 NET=202
BIND IPX FEC_TEAM_EII NET=211
BIND IP FEC_TEAM_EII ADDR=128.181.22.1 MASK=255.255.255.0

#XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

# Example 4: 1 Adapter, 4 FrameTypes, 2 802.1q VLANs (Vlan 5 & 6), 2
# Protocols

# Now for VLAN...
# In order to use iANS.LAN in VLAN mode, the adapter (or adapters) need
# to be connected to a "tagged" port (Cisco calls it a trunk port) on
# an IEEE 802.1Q compliant switch.  The exception to this is a
# specification of VLAN called "ISL VLAN", which is an older, Cisco
# implementation.  For that, the adapter needs to be attached to a
# trunk port on an "ISL" capable Cisco switch, the base driver needs to
# support "ISL VLAN" (Currently only adapters that run under the driver
# for the PRO/100 Intelligent Server adapter support "ISL")  This
# example uses 802.1Q VLAN which is supported by all new Intel
# adapters and most of the older ones.  It will use a single PRO/100
# adapter and be configured for two VLANs, VLAN 5 and VLAN 6.  It will
# also use all four NetWare frame types and bind both the IPX and IP
# protocols.

;load TCPIP.NLM.  Must be done before IP is bound.
LOAD TCPIP

; load the base driver for each frame type
load ce100b slot=5 frame=ethernet_802.2 name=e82
load ce100b slot=5 frame=ethernet_802.3 name=e83
load ce100b slot=5 frame=ethernet_snap name=esp
load ce100b slot=5 frame=ethernet_ii name=eii

; load ians and specify the vlanid for each frame type and each VLAN
; the server is supposed to be part of.  On a single team configuration
; "team=1" is optional as that is the default setting.

; First ians is loaded for vlan 5, assigning a name of 5xx to each
; instance.
load ians vlanid=5 frame=ethernet_802.2 name=582 team=1
load ians vlanid=5 frame=ethernet_802.3 name=583 team=1
load ians vlanid=5 frame=ethernet_snap  name=5sp team=1
load ians vlanid=5 frame=ethernet_ii    name=5ii team=1

; Then ians is loaded for vlan 6, assigning a name of 6xx to each
; instance.
load ians vlanid=6 frame=ethernet_802.2 name=682 team=1
load ians vlanid=6 frame=ethernet_802.3 name=683 team=1
load ians vlanid=6 frame=ethernet_snap  name=6sp team=1
load ians vlanid=6 frame=ethernet_ii    name=6ii team=1

; After loading ians for all the desired VLANs, bind ians to the base
; driver using the name that was defined when the base drivers were
; originally loaded.
bind ians e82 team=1
bind ians e83 team=1
bind ians esp team=1
bind ians eii team=1

; Now the team can be created with an ians commit command.
load ians commit team=1

; Protocols can be bound to each instance (VLAN and frame type) of
; ians in the same manner as if they were being bound to a physical
; adapter.
bind ipx 582 net=502
bind ipx 583 net=503
bind ipx 5sp net=505
bind ipx 5ii net=511
bind ip 5ii addr=192.168.52.1 mask=ff.ff.ff.0

bind ipx 682 net=602
bind ipx 683 net=603
bind ipx 6sp net=605
bind ipx 6ii net=611
bind ip 6ii addr=192.168.62.1 mask=ff.ff.ff.0

#XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

# Example 5: 2 Adapter ALB team, 5 VLANs, 1 Frame Type, 2 Protocols

# Teaming and VLAN can be implemented at the same time.  The script
# gets large quickly so this example will only use one frame type.  So
# that both IP and IPX can be bound to it, the ethernet_II frame type
# will be used instead of Novell's default 802.2.  A homogenous team of
# 2 load balanced PRO/100 Intelligent Server adapters configured as
# members of 5 different VLANs will be used here.

; load TCPIP.NLM.  Must be done before IP is bound.
LOAD TCPIP

; Load the base drivers for each adapter in the team.
LOAD CE100SNW SLOT=1 FRAME=ETHERNET_II NAME=Primary_II
LOAD CE100SNW SLOT=2 FRAME=ETHERNET_II NAME=Secondary_II

; Load IANS.LAN with the VLANID keyword once for each VLAN that the
; server is intended to communicate with.  Assign a name so that each
; instance can referenced when binding the network protocols.
LOAD IANS FRAME=ETHERNET_II VLANID=10 NAME=V10 TEAM=1
LOAD IANS FRAME=ETHERNET_II VLANID=20 NAME=V20 TEAM=1
LOAD IANS FRAME=ETHERNET_II VLANID=30 NAME=V30 TEAM=1
LOAD IANS FRAME=ETHERNET_II VLANID=40 NAME=V40 TEAM=1
LOAD IANS FRAME=ETHERNET_II VLANID=50 NAME=V50 TEAM=1

; Bind ians to each physical adapter.
BIND IANS PRIMARY_II PRIMARY
BIND IANS SECONDARY_II

; Create the team in load balancing mode.
LOAD IANS COMMIT MODE=ALB

; And bind both IPX and IP to iANS for each VLAN.
;IPX first
BIND IPX V10 NET=1011
BIND IPX V20 NET=2011
BIND IPX V30 NET=3011
BIND IPX V40 NET=4011
BIND IPX V50 NET=5011

;and IP
BIND IP V10 ADDR=23.17.10.1 MASK=FF.FF.0.0
BIND IP V20 ADDR=23.17.20.1 MASK=FF.FF.0.0
BIND IP V30 ADDR=23.17.30.1 MASK=FF.FF.0.0
BIND IP V40 ADDR=23.17.40.1 MASK=FF.FF.0.0
BIND IP V50 ADDR=23.17.50.1 MASK=FF.FF.0.0

#XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

# Example 6: 2 ISL VLANs on 1 adapter, 2 frametypes per VLAN

# An ISL VLAN configuration looks very similar to an IEEE VLAN
# configuration. The only real difference is that the keyword
# "VLANMODE=ISL" is added to the first set of IANS load lines.  This
# example creates two ISL VLANs on a single PRO/100 Intelligent Server
# adapter, loads two frame types, ethernet_802.2 and ethernet_ii, on
# each VLAN, binds IPX to each loaded frame type and binds IP
# to each instance of the ethernet_ii frame type.

load tcpip

; Load the base driver for each frame type.
LOAD CE100snw SLOT=2 FRAME=Ethernet_802.2 NAME=PRI_E82
LOAD CE100snw SLOT=2 FRAME=Ethernet_II    NAME=PRI_EII

; Load IANS twice for each frame type, once for each vlan.  Assign the
; vlanid number and include the "VLANMODE=ISL" keyword for each
; instance.
load ians frame=ethernet_802.2 name=E82_vl7 team=1 vlanmode=isl vlanid=7
load ians frame=ethernet_ii    name=EII_vl7 team=1 vlanmode=isl vlanid=7

load ians frame=ethernet_802.2 name=E82_vl8 team=1 vlanmode=isl vlanid=8
load ians frame=ethernet_ii    name=EII_vl8 team=1 vlanmode=isl vlanid=8

; Bind IANS to each frame type on the physical adapter.
bind ians PRI_E82 team=1
bind ians PRI_EII team=1

; Commit the team.
load ians commit team=1

; And bind the protocols to IANS for each VLAN and frame type.
BIND IPX E82_vl7 NET=702
BIND IPX EII_vl7 NET=711
BIND IP EII_vl7 addr=192.168.72.200 mask=255.255.255.0

BIND IPX E82_vl8 NET=802
BIND IPX EII_vl8 NET=811
BIND IP EII_vl8 addr=192.168.82.200 mask=255.255.255.0
