Дано: сервер с несколькими NIC. Нужен транк. Желательно через INETCFG, ибо так кошернее...
НО! По всем документам этого вроде бы сделать низя, ибо Аггрегатор (IANS/CPQANS или BASP/QASP) грузится дважды - один раз как карта, второй раз как протокол. Но нет предела человеческой хитрости, а равно и предусмотрительности товарищей из N. Они оставили последнюю лазейку - User-Defined Protocol. Воспользуемся же этим шансом!
Все примеры будут на базе платформы HP/Compaq (уж не обессудьте...) и, соответственно, карт Intel с драйвером N1000 и аггрегатором CPQANS, а также карт Broadcom с драйвером Q57 и аггрегатором QASP. Режим 802.3ad Dynamic Aggregation. ОС - NW6.5sp3. Протокол - чистый IP.
Первое, что было сделано - подвергнуты глубокому анализу и модификации на предмет включения скрытых параметров все нужные файлы описаний, а именно: N1000.LDI, CPQANS.LDI, Q57.LDI, QASP.LDI.
Результаты ниже:
- Код: Выделить всё
N1000.LDI ====================
;DrIvEr DeScRiPtIoN
;VeRsIoN=6.78
;CoPyRiGhT=Copyright 1998, 2003 Hewlett-Packard Development Company, L.P.
;All Rights Reserved.
;
;Modifications by Alex-M, alex-m@mid.ru
;
VER: 6.78
Syn: 1.00
;- Internal Version 6.78
;- File: N1000.LDI
;- HP Gigabit Server Adapter Installation Information File
Dr N1000
{
Des: $N1000_1
Help: $N1000_2
PAR: 2.00
Prod: 'PCI.8086.1000.0E11.B0DF.*',
'PCI.8086.1000.0E11.B0E0.*',
'PCI.8086.1000.0E11.B123.*',
'PCI.8086.1001.0E11.004A.*',
'PCI.8086.1004.0E11.B1A4.*',
'PCI.8086.1004.0E11.0049.*',
'PCI.8086.1010.0E11.00DB.*',
'PCI.8086.1012.0E11.00DC.*'
;@# Sprod: 'HP~NC6132 Gigabit Upgrade Module',
;@# 'HP~NC6133 Gigabit Upgrade Module',
;@# 'HP~NC6134 Gigabit NIC',
;@# 'HP~NC6136 Gigabit Server Adapter',
;@# 'HP~NC7131 Gigabit Server Adapter',
;@# 'HP~NC7132 Gigabit Upgrade Module',
;@# 'HP~NC7170 Dual Gigabit Server Adapter',
;@# 'HP~NC6170 Dual Gigabit Server Adapter'
;@# Client: N1000.LAN
;@# Alias: N1000.LAN
File: N1000.LAN
; OF: CPQANS.LAN
; OF: MSM.NLM, ETHERTSM.NLM, NBI.NLM
PR SLOT OPT
{
Description: "Slot"
Help: $N1000_3
Type: DEC (5)
Values: 1 - 65535
Default: UND
}
PR SPEED OPT
{
Description: "Speed"
Type: DEC (4)
Help: $N1000_4
Values: 0, 10, 100, 1000
Default: 0
Out: 'SPEED=%s'
}
PR FORCEDUPLEX OPT
{
Description: "Force Duplex"
Help: $N1000_5
Type: DECIMAL (1)
Values: 0, 1, 2
Default: 0
Out: 'FORCEDUPLEX=%s'
}
FR FrameSelect OPT
{
Help: $N1000_6
CD: $N1000_7
CH: 'Ethernet_802.2'
CD: $N1000_8
CH: 'Ethernet_802.3'
CD: $N1000_9
CH: 'Ethernet_II'
CD: $N1000_10
CH: 'Ethernet_SNAP'
Default: 1,3
}
PR NODE OPT
{
Help: $N1000_11
Type: HEX (12)
Values: 000000000000-FFFFFFFFFFFF
Default: UND
Out: 'NODE=%s'
}
PR POLL OPT
{
Description: "Polling Mode"
Help: $N1000_12
Type: DECIMAL (1)
Values: 0, 1
Default: 0
Out: 'Poll=%s'
}
LIST FLOWCONTROL OPT
{
DES: "Flow Control"
HELP: $N1000_13
CD: $N1000_14
CH: 'ON'
CD: $N1000_15
CH: 'OFF'
Default: 1
OutputFormat: 'FLOWCONTROL=%s'
}
PR TXDESCRIPTORS OPT
{
DES: "TX Descriptors"
HELP: $N1000_16
TYPE: DECIMAL(3)
VAL: 32-128
Default: 128
OutputFormat: 'TXDESCRIPTORS=%s'
}
PR RXDESCRIPTORS OPT
{
DES: "RX Descriptors"
HELP: $N1000_17
TYPE: DECIMAL(3)
VAL: 8-128
Default: 128
OutputFormat: 'RXDESCRIPTORS=%s'
}
LIST TXCHECKSUM OPT
{
DES: "TX Checksum offload"
HELP: $N1000_18
CD: $N1000_19
CH: 'ON'
CD: $N1000_20
CH: 'OFF'
Default: 1
OutputFormat: 'TXCHECKSUM=%s'
}
LIST RXCHECKSUM OPT
{
DES: "RX Checksum offload"
HELP: $N1000_21
CD: $N1000_22
CH: 'ON'
CD: $N1000_23
CH: 'OFF'
Default: 1
OutputFormat: 'RXCHECKSUM=%s'
}
LIST AUTONEG OPT
{
DES: "Autonegotiation control"
HELP: $N1000_24
CD: $N1000_25
CH: 'ON'
CD: $N1000_26
CH: 'OFF'
Default: 1
OutputFormat: 'AUTONEG=%s'
}
PR JUMBO OPT
{
DES: "Jumbo Frames (1514, 4088, 9014, 16128)"
HELP: $N1000_27
Default: UND
OutputFormat: 'JUMBO=%s'
}
}
DLANG: 4
;English
$N1000_1 = "HP NC71xx/NC61xx Gigabit Server Adapter"
$N1000_2 = "This driver supports the HP Gigabit Server Adapter.
Speed and Duplex settings are intended for NC713x adapters
only, and will be disregarded if specified for an NC613x
adapter."
$N1000_3 = "Enter the Slot Number or Hardware Identification Number
(HIN) for the adapter."
$N1000_4 = "Line speed override for the Adapter.
Valid options are 0 (Auto), 10, 100, and 1000."
$N1000_5 = "Force the operation mode to Half or Full Duplex.
Valid options are 0 (Auto), 1 (HALF), and 2 (FULL)."
$N1000_6 = "The driver defaults to 802.2 frame format.
You may use this default or select from the other 3
options => Ethernet 802.3, Ethernet II or Ethernet SNAP."
$N1000_7 = "Ethernet 802.2"
$N1000_8 = "Ethernet 802.3"
$N1000_9 = "Ethernet II"
$N1000_10 = "Ethernet SNAP"
$N1000_11 = "Specifies the MAC address to be used by the NIC."
$N1000_12 = "Enables polling mode for this NIC"
$N1000_13 = "Specifies the flow control options"
$N1000_14 = "Enable Flow Control"
$N1000_15 = "Disable Flow Control"
$N1000_16 = "Specifies the number of TX descriptors"
$N1000_17 = "Specifies the number of RX descriptors"
$N1000_18 = "Specifies the TX checksum offload options"
$N1000_19 = "Enable TX Checksum Offloading"
$N1000_20 = "Disable TX Checksum offloading"
$N1000_21 = "To set the RX checksum offload options"
$N1000_22 = "Enable RX Checksum Offloading"
$N1000_23 = "Disable RX Checksum offloading"
$N1000_24 = "Specifies the autonegotiation options"
$N1000_25 = "Enable Autonegotiation"
$N1000_26 = "Disable Autonegotiation"
$N1000_27 = "Specifies the Jumbo frames options"
;DrIvEr DeScRiPtIoN EnD
===========================
CPQANS.LDI ===================
;DrIvEr DeScRiPtIoN
;VeRsIoN=6.16
;HP ANS Installation Information File
;CoPyRiGhT=Copyright 1998, 2003 Hewlett-Packard Development Company, L.P.
;All Rights Reserved.
;
;Modifications by Alex-M, alex-m@mid.ru
;
;- File: CPQANS.LDI
;
;
VER: 6.16
SYN: 1.00
DR ANS
{
DES: $ANS_1
HELP: $ANS_2
PAR: 1.00 ; NOT A HIN AWARE DRIVER
FILE: CPQANS.LAN
FRAME FrameSelect
{
Help: $ANS_3
CD: $ANS_100
CH: 'Ethernet_802.2'
CD: $ANS_101
CH: 'Ethernet_802.3'
CD: $ANS_102
CH: 'Ethernet_II'
CD: $ANS_103
CH: 'Ethernet_SNAP'
Default: 3
}
PROMPT TEAM OPTIONAL
{
Description: "Team"
Type: DEC (1)
Help: $ANS_4
Values: 1, 2, 3, 4, 5, 6, 7, 8
Default: 1
Out: 'TEAM=%s'
}
LIST MODE OPTIONAL
{
Description: "Mode"
Help: $ANS_5
CD: $ANS_104
CH: 'NFT'
CD: $ANS_105
CH: 'ALB'
CD: $ANS_106
CH: 'FEC'
CD: $ANS_107
CH: 'GEC'
CD: $ANS_108
CH: 'AD'
Default: 1
Out: 'MODE=%s'
}
LIST PROBES OPTIONAL
{
Description: "Probes"
Help: $ANS_6
CD: $ANS_109
CH: 'ON'
CD: $ANS_110
CH: 'OFF'
Default: 1
Out: 'PROBES=%s'
}
LIST AGG_SELECTION OPTIONAL
{
Description: "Aggregator mode selection"
Help: $ANS_7
CD: $ANS_111
CH: 'BANDWIDTH'
CD: $ANS_112
CH: 'COUNT'
Default: 1
Out: 'AGG_SELECTION=%s'
}
LIST SMPMODE OPTIONAL
{
Description: "SMP mode selection"
Help: $ANS_8
CD: $ANS_113
CH: 'SMP'
CD: $ANS_114
CH: 'NONSMP'
Default: 1
Out: 'SMPMODE=%s'
}
LIST JOIN_INDIVIDUALS OPTIONAL
{
Description: "Join Individuals"
Help: $ANS_9
CD: $ANS_115
CH: 'YES'
CD: $ANS_116
CH: 'NO'
Default: 1
Out: 'JOIN_INDIVIDUALS=%s'
}
}
DLANG: 4
;English
$ANS_1 = "Advanced Network Services driver"
$ANS_2 = "Installation of teams is not supported with NWCONFIG.\n
Use INETCFG to configure teams.\n
Use the command 'load cpqans help' for online assistance.\n"
$ANS_3 = "The driver defaults to Ethernet II frame format. You may use \n
this default or select from the other 3 \n
options => Ethernet 802.3, Ethernet 802.2 or Ethernet SNAP."
$ANS_4 = "Select the team number. Creates team (tag=nnn). "
$ANS_5 = "Syntax: mode=[NFT | ALB | FEC | GEC | AD]. \n
Specifies teaming mode."
$ANS_6 = "Enables or disables link-probes for this team. \n
(not supported in 802.3ad mode)"
$ANS_7 = "Sets Active Aggregator mode: link bandwidth \n
utilization or packets count (Round-Robin)"
$ANS_8 = "Enables/Disables SMP mode"
$ANS_9 = "Enables/Disables individual joining mode"
$ANS_100 = "Ethernet 802.2"
$ANS_101 = "Ethernet 802.3"
$ANS_102 = "Ethernet II"
$ANS_103 = "Ethernet SNAP"
$ANS_104 = "Network Fault Tolerance"
$ANS_105 = "Adaptive Load Balancing"
$ANS_106 = "Fast Ether-Channel"
$ANS_107 = "Gigabit Ether-Channel"
$ANS_108 = "IEEE 802.3ad"
$ANS_109 = "Enable Probes"
$ANS_110 = "Disable Probes"
$ANS_111 = "Bandwidth utilization"
$ANS_112 = "Packets count"
$ANS_113 = "SMP mode"
$ANS_114 = "Non-SMP mode"
$ANS_115 = "Enable individual joining"
$ANS_116 = "Disable individual joining"
;DrIvEr DeScRiPtIoN EnD
============================
Q57.LDI ======================
; q57.ldi
; Broadcom Corporation
; VeRsIoN=1.00 Novell LAN Installation Information File for NC77xx & NC67xx.
; CoPyRiGhT=(c) Copyright 2000,2001,2002,2003 Broadcom Corporation. All rights reserved.
;
; Modifications by Alex-M, alex-m@mid.ru
;
VER: 1.00
SYN: 1.00
DR CMPQ570X
{
DES: $bcm_1
HELP: $bcm_2
PAR: 2.00
FILE: Q57.LAN
PROD: 'PCI.14E4.1645.0E11.007C.*',
'PCI.14E4.1645.0E11.00C1.*',
'PCI.14E4.1645.0E11.0085.*',
'PCI.14E4.1646.0E11.00BB.*',
'PCI.14E4.16A6.0E11.00BB.*',
'PCI.14E4.1647.0E11.00CA.*',
'PCI.14E4.16C7.0E11.00CA.*',
'PCI.14E4.1647.0E11.00CB.*',
'PCI.14E4.16A7.0E11.00CB.*',
'PCI.14E4.16C7.0E11.00CB.*',
'PCI.14E4.1654.0E11.00E3.*',
'PCI.14E4.1648.0E11.00D0.*',
'PCI.14E4.1654.103C.3100.*'
;@# SPROD:'HP~NC7770 Gigabit Server Adapter',
;@# 'HP~NC6770 Gigabit Server Adapter',
;@# 'HP~NC7780 Gigabit Server Adapter',
;@# 'HP~NC7760 Gigabit Server Adapter',
;@# 'HP~NC7760 Gigabit Server Adapter',
;@# 'HP~NC7771 Gigabit Server Adapter',
;@# 'HP~NC7771 Gigabit Server Adapter',
;@# 'HP~NC7781 Gigabit Server Adapter',
;@# 'HP~NC7781 Gigabit Server Adapter',
;@# 'HP~NC7781 Gigabit Server Adapter',
;@# 'HP~NC7761 Gigabit Server Adapter',
;@# 'HP~NC7782 Gigabit Server Adapter',
;@# 'HP~NC1020 ProLiant Gigabit Server Adapter 32 PCI'
;@# CLIENT:Q57.LAN
;@# ALIAS: Q57.LAN
PR SLOT OPT
{
DES: "Slot Number"
HELP: $bcm_3
default: UND
}
FR FrameSelect
{
DES: "Frame Types"
HELP: $bcm_4
CD: $bcm_5
CH: 'Ethernet_802.2'
CD: $bcm_6
CH: 'Ethernet_802.3'
CD: $bcm_7
CH: 'Ethernet_SNAP'
CD: $bcm_8
CH: 'Ethernet_II'
Default: 1,2,3,4
}
LIST SPEED OPT
{
DES: "Line Speed"
HELP: $bcm_9
CD: $bcm_10
CH: 'AUTO'
CD: $bcm_11
CH: '100FD'
CD: $bcm_12
CH: '100HD'
CD: $bcm_13
CH: '10FD'
CD: $bcm_14
CH: '10HD'
Default: 1
OutputFormat: 'Speed=%s'
}
PR POLL OPT
{
DES: "Polling Mode"
HELP: $bcm_15
TYPE: DECIMAL (1)
VAL: 0, 1
Default: 0
OutputFormat: 'Poll=%s'
}
PR RXBUFFERS OPT
{
DES: "Receive Buffers"
HELP: $bcm_16
TYPE: DECIMAL(3)
VAL: 32-512
Default: 200
OutputFormat: 'RxBuffers=%s'
}
PR TxDescriptors OPT
{
DES: "Transmit Descriptors"
HELP: $bcm_17
TYPE: DECIMAL(3)
VAL: 32-512
Default: 200
OutputFormat: 'TxDescriptors=%s'
}
LIST CheckSum OPT
{
DES: "Checksum offload"
HELP: $bcm_18
CD: $bcm_19
CH: 'ON'
CD: $bcm_20
CH: 'OFF'
CD: $bcm_21
CH: 'TX'
CD: $bcm_22
CH: 'RX'
Default: 1
OutputFormat: 'CheckSum=%s'
}
LIST TxFlow OPT
{
DES: "TX Flow control"
HELP: $bcm_23
CD: $bcm_24
CH: 'ON'
CD: $bcm_25
CH: 'OFF'
Default: 1
OutputFormat: 'TxFlow=%s'
}
LIST RxFlow OPT
{
DES: "RX Flow control"
HELP: $bcm_26
CD: $bcm_27
CH: 'ON'
CD: $bcm_28
CH: 'OFF'
Default: 1
OutputFormat: 'RxFlow=%s'
}
PR TxPacketsPer OPT
{
DES: "Batching packets transmit"
HELP: $bcm_29
TYPE: DECIMAL(3)
VAL: 0-100
Default: 64
OutputFormat: 'TxPacketsPer=%s'
}
PR Jumbo OPT
{
DES: "Jumbo Frames (1536-9000)"
HELP: $bcm_30
Default: UND
OutputFormat: 'Jumbo=%s'
}
}
DLANG: 4
;English
$bcm_1 = "HP Gigabit Server Adapter Driver "
$bcm_2 = "This driver supports the NC10xx & NC67xx/NC77xx."
$bcm_3 = "Select a slot number. If unsure which slot the adapter is in, choose an arbitrary slot number."
$bcm_4 = "Select a frame."
$bcm_5 = "802.2"
$bcm_6 = "802.3"
$bcm_7 = "802.2 SNAP"
$bcm_8 = "Ethernet II"
$bcm_9 = "Automatic Detection mode is the default, preferred and reliable mode. \n
To force the media access mode, select a Speed and Duplex mode."
$bcm_10 = "Automatic Detection"
$bcm_11 = "100 Mbs Full Duplex"
$bcm_12 = "100 Mbs Half Duplex"
$bcm_13 = "10 Mbs Full Duplex"
$bcm_14 = "10 Mbs Half Duplex"
$bcm_15 = "Enables polling mode for this NIC"
$bcm_16 = "Changes the default amount of receive buffers, the adapter uses. \n
Enter a value within the allowable range."
$bcm_17 = "Changes the default amount of transmit descriptors, the adapter uses. \n
Enter a value within the allowable range."
$bcm_18 = "Enables or disables checksum offloading mode"
$bcm_19 = "ON (Transmit and Receive)"
$bcm_20 = "OFF"
$bcm_21 = "Transmit only"
$bcm_22 = "Receive only"
$bcm_23 = "Enables or disables TX Flow control"
$bcm_24 = "ON"
$bcm_25 = "OFF"
$bcm_26 = "Enables or disables RX Flow control"
$bcm_27 = "ON"
$bcm_28 = "OFF"
$bcm_29 = "Enables batching packets transmit mode"
$bcm_30 = "Enables Jumbo Frames mode (1536-9000)"
;DrIvEr DeScRiPtIoN EnD
============================
QASP.LDI =====================
;qasp.ldi
;Broadcom Corp
;VeRsIoN=1.00 Novell LAN Installation Information File for QASP.
;CoPyRiGhT=(c) Copyright 2000,2001,2002,2003 by Broadcom Corporation. All rights reserved.
;
;Modifications by Alex-M, alex-m@mid.ru
;
VER: 1.00
SYN: 1.00
DR LB_1
{
DESC: $bcm_1
PAR: 2.00
FILE: QASP.LAN
OFILE: BMAPI.NLM
PROD: 'EISA.ISA.871.2'
;@# Client:qasp
;@# Alias:qasp.lan
PR VSLOT REQUIRED
{
DES: "Virtual Slot for this virtual adapter"
TYPE: DECIMAL(1)
VAL: 1-4
Default: 1
OutputFormat: 'VSLOT=%s'
}
FR FrameSelect
{
DES: "Frame Types"
HELP: $bcm_2
CD: $bcm_3
CH: 'Ethernet_802.2'
CD: $bcm_4
CH: 'Ethernet_802.3'
CD: $bcm_5
CH: 'Ethernet_SNAP'
CD: $bcm_6
CH: 'Ethernet_II'
Default: 4
}
LIST MODE OPT
{
DES: "Balance Mode"
HELP: $bcm_7
CD: $bcm_8
CH: 'SLB'
CD: $bcm_9
CH: 'TRUNK'
CD: $bcm_10
CH: '802.3ad'
Default: 1
OutputFormat: 'MODE=%s'
}
PR VLAN OPT
{
DES: "VLAN ID (0-4095)"
Default: UND
OutputFormat: 'VLAN=%s'
}
LIST CHECKSUM OPT
{
DES: "Checksum offload"
HELP: $bcm_11
CD: $bcm_12
CH: 'ON'
CD: $bcm_13
CH: 'OFF'
Default: 1
OutputFormat: 'CHECKSUM=%s'
}
}
DLANG: 4
;English
$bcm_1 = "HP Virtual Adapter Driver with Advanced Server Features"
$bcm_2 = "Select a frame."
$bcm_3 = "802.2"
$bcm_4 = "802.3"
$bcm_5 = "802.2 SNAP"
$bcm_6 = "Ethernet II"
$bcm_7 = "Smart Load Balance (SLB) is default. Choose Generic Trunk (TRUNK) \n
or IEEE 802.3ad if switch support these modes."
$bcm_8 = "Smart Load Balance"
$bcm_9 = "Generic Trunking"
$bcm_10 = "IEEE 802.3ad"
$bcm_11 = "Enabling checksum offloading for the team"
$bcm_12 = "ON"
$bcm_13 = "OFF"
;DrIvEr DeScRiPtIoN EnD
============================
С этим уже можно приступать к настройке... Ремарка-1 - в разделе Boards всегда лучше первым по порядку заводить и настраивать Virtual-NIC от аггрегатора, ибо он должен быть первым в списке загрузки модулей.
Методика для N1000/CPQANS:
1) Раздел Boards. Создаём карту аггрегатора (CPQANS) и указываем нужные параметры.
2) Идём в раздел Bindings и сразу привязываем протокол к аггрегатору. Это надо для того, чтобы в итоговом файле появилась запись о "карте" аггрегатора в нужном месте (без бинда нету карты...).
3) Снова идём в раздел Boards и создаём нужное (2,3,4 и т.д.) число карт физических линков (N1000). Указываем нужные параметры.
4) Раздел Protocols. Выбираем лазейку по имени User-Specified Protocol. Создаём новый протокол и указываем:
- Protocol Name: CPQANS
- PostBindCommands: LOAD CPQANS COMMIT (Ремарка-2: это нужно для инита LACP и "лучшее места не найти..." )
- NLM Name: CPQANS (Ремарка-3: Эта строка в принципе не нужна, но без неё протокол биндиться не будет. Поэтому варианта 2: указать верное имя модуля - тогда в следующем поле Parameters здесь можно будет поместить какие-либо доп. параметры; или указать неверное/несуществующее имя модуля - см. пример на QASP - тогда сервер ругнётся, но реально ничего страшного не случится. В случае указания имени модуля в следующее поле Parameters можно поместить доп. параметры для тех случаев, когда длина строки параметров основного модуля выходит за размер буфера и остаток строки выплёвывается в STDIN, порождая глюки. См. пример на CPQANS)
- Parameters: TEAM=1 TX_ECBS_TO_USE=512 BALANCE_INTERVAL=90 (Вот оно самое...)
5) Снова раздел Bindings. Привязываем кастом-протокол к физическим линкам. Выбираем User-Specified Protocol и далее для каждого линка:
- Interface: GE0 (имя физического линка)
- Status: Enabled
- Protocol: CPQANS (пишем ручками)
- Frame type: Ethernet_II (Ремарка-4: это нужно для корректной загрузки аггрегатора в режиме "виртуальной карты")
- Parameters: (сюда можно дописывать какие-либо дополнительные параметры привязки, например для CPQANS параметры PRIMARY/SECONDARY для однозначного определения порядка инита карт)
Далее идём в просмотр всей конфигурации и мы должны увидеть что-то похожее на это:
- Код: Выделить всё
(фрагмент NETINFO.CFG для CPQANS)===================
#!
#!BEGINBOARD DRVR=CPQANS NAME=TEAM0 STATUS=ENABLED NUMPORTS=1 DRVRTYPE=LAN VARIABLEPORTS=NO PORTPARAM=CHANNEL TEAM=1 MODE=AD PROBES=OFF AGG_SELECTION=COUNT JOIN_INDIVIDUALS=YES SMPMODE=SMP
#
#!BEGINPORT NAME=TEAM0 NUMBER=1 STATUS=ENABLED FRAMES=YES NUMLINKS=0 MEDIA=EtherTsm WANFRAME=UNCONFIGURED
#
#!REFCOUNT=1
LOAD CPQANS NAME=TEAM0_EII FRAME=Ethernet_II TEAM=1 MODE=AD PROBES=OFF AGG_SELECTION=COUNT JOIN_INDIVIDUALS=YES SMPMODE=SMP
#!END
#!END
#!
#!BEGINBOARD DRVR=N1000 NAME=GE0 STATUS=ENABLED NUMPORTS=1 DRVRTYPE=LAN VARIABLEPORTS=NO PORTPARAM=CHANNEL SLOT=5 SPEED=0 FORCEDUPLEX=0 Poll=0 FLOWCONTROL=ON TXDESCRIPTORS=128 RXDESCRIPTORS=128 TXCHECKSUM=ON RXCHECKSUM=ON AUTONEG=ON
#
#!BEGINPORT NAME=GE0 NUMBER=1 STATUS=ENABLED FRAMES=YES NUMLINKS=0 MEDIA=EtherTsm WANFRAME=UNCONFIGURED
#
#!REFCOUNT=1
LOAD N1000 NAME=GE0_EII FRAME=Ethernet_II SLOT=5 SPEED=0 FORCEDUPLEX=0 Poll=0 FLOWCONTROL=ON TXDESCRIPTORS=128 RXDESCRIPTORS=128 TXCHECKSUM=ON RXCHECKSUM=ON AUTONEG=ON
#!END
#!END
#!
#!BEGINBOARD DRVR=N1000 NAME=GE1 STATUS=ENABLED NUMPORTS=1 DRVRTYPE=LAN VARIABLEPORTS=NO PORTPARAM=CHANNEL SLOT=6 SPEED=0 FORCEDUPLEX=0 Poll=0 FLOWCONTROL=ON TXDESCRIPTORS=128 RXDESCRIPTORS=128 TXCHECKSUM=ON RXCHECKSUM=ON AUTONEG=ON
#
#!BEGINPORT NAME=GE1 NUMBER=1 STATUS=ENABLED FRAMES=YES NUMLINKS=0 MEDIA=EtherTsm WANFRAME=UNCONFIGURED
#
#!REFCOUNT=1
LOAD N1000 NAME=GE1_EII FRAME=Ethernet_II SLOT=6 SPEED=0 FORCEDUPLEX=0 Poll=0 FLOWCONTROL=ON TXDESCRIPTORS=128 RXDESCRIPTORS=128 TXCHECKSUM=ON RXCHECKSUM=ON AUTONEG=ON
#!END
#!END
#!
#!BEGINPROTO PROTO=GENERIC STATUS=ENABLED
LOAD CPQANS TEAM=1 TX_ECBS_TO_USE=512 BALANCE_INTERVAL=90
#PROTONAME CPQANS
#
#!BEGINBIND STATUS=ENABLED
BIND CPQANS GE0_EII TEAM=1 PRIMARY
#
#!END
#!BEGINBIND STATUS=ENABLED
BIND CPQANS GE1_EII TEAM=1 SECONDARY
#
#!END
#!BEGINPOSTBIND
#!CPQANS
load cpqans commit
#!ENDPOSTBIND
#!END
#!
#!BEGINPROTO PROTO=TCPIP STATUS=ENABLED
LOAD Tcpip RIP=No Static=Yes LoadSharing=No Forward=No VIPASupport=No
#
#!BEGINBIND STATUS=ENABLED
BIND IP TEAM0_EII ARP=Yes BCast=172.20.255.255 Mask=255.255.0.0 Address=172.20.5.202
#172.20.5.202
#!END
#!END
=====================================
Методика для Q57/QASP (несколько отличается тем, что QASP не надо указывать команду COMMIT - он сам динамически подхватывает линки):
1) Раздел Boards. Создаём карту аггрегатора (QASP) и указываем нужные параметры.
2) Идём в раздел Bindings и сразу привязываем протокол к аггрегатору. Это надо для того, чтобы в итоговом файле появилась запись о "карте" аггрегатора в нужном месте (без бинда нету карты...).
3) Снова идём в раздел Boards и создаём нужное (2,3,4 и т.д.) число карт физических линков (Q57). Указываем нужные параметры.
4) Раздел Protocols. Выбираем лазейку по имени User-Specified Protocol. Создаём новый протокол и указываем:
- Protocol Name: QASP1 (Ремарка-5: "1" здесь указывает на номер "виртуальной карты" для привязки)
- PostBindCommands: LOAD BMAPI.NLM (Ремарка-6: этот модуль нужен для мониторинга статуса группы. Вообще-то его надо грузить сразу после QASP и перед Q57, но там его всунуть просто некуда...)
- NLM Name: QASP1 (Ремарка-7: вот тот самый случай, когда мы вводим заведомо неверное имя модуля. Это нужно, чтобы не грузить QASP второй раз - ему это не надо.)
- Parameters: (нету их...)
5) Снова раздел Bindings. Привязываем кастом-протокол к физическим линкам. Выбираем User-Specified Protocol и далее для каждого линка:
- Interface: GE0 (имя физического линка)
- Status: Enabled
- Protocol: QASP1 (пишем ручками)
- Frame type: Ethernet_II (Ремарка-4: это нужно для корректной загрузки аггрегатора в режиме "виртуальной карты")
- Parameters: (опять же - нэту парамэтров! )
Далее идём в просмотр всей конфигурации и мы должны увидеть что-то похожее на это:
- Код: Выделить всё
(фрагмент NETINFO.CFG для QASP)=====================
#!
#!BEGINBOARD DRVR=QASP NAME=TEAM0 STATUS=ENABLED NUMPORTS=1 DRVRTYPE=LAN VARIABLEPORTS=NO PORTPARAM=CHANNEL VSLOT=1 MODE=802.3ad CHECKSUM=ON
#
#!BEGINPORT NAME=TEAM0 NUMBER=1 STATUS=ENABLED FRAMES=YES NUMLINKS=0 MEDIA=EtherTsm WANFRAME=UNCONFIGURED
#
#!REFCOUNT=1
LOAD QASP NAME=TEAM0_EII FRAME=Ethernet_II VSLOT=1 MODE=802.3ad CHECKSUM=ON
#!END
#!END
#!
#!BEGINBOARD DRVR=Q57 NAME=GE0 STATUS=ENABLED NUMPORTS=1 DRVRTYPE=LAN VARIABLEPORTS=NO PORTPARAM=CHANNEL SLOT=5 Speed=AUTO Poll=0 RxBuffers=512 TxDescriptors=512 CheckSum=ON TxFlow=ON RxFlow=ON TxPacketsPer=64
#
#!BEGINPORT NAME=GE0 NUMBER=1 STATUS=ENABLED FRAMES=YES NUMLINKS=0 MEDIA=EtherTsm WANFRAME=UNCONFIGURED
#
#!REFCOUNT=1
LOAD Q57 NAME=GE0_EII FRAME=Ethernet_II SLOT=5 Speed=AUTO Poll=0 RxBuffers=512 TxDescriptors=512 CheckSum=ON TxFlow=ON RxFlow=ON TxPacketsPer=64
#!END
#!END
#!
#!BEGINBOARD DRVR=Q57 NAME=GE1 STATUS=ENABLED NUMPORTS=1 DRVRTYPE=LAN VARIABLEPORTS=NO PORTPARAM=CHANNEL SLOT=6 Speed=AUTO Poll=0 RxBuffers=512 TxDescriptors=512 CheckSum=ON TxFlow=ON RxFlow=ON TxPacketsPer=64
#
#!BEGINPORT NAME=GE1 NUMBER=1 STATUS=ENABLED FRAMES=YES NUMLINKS=0 MEDIA=EtherTsm WANFRAME=UNCONFIGURED
#
#!REFCOUNT=1
LOAD Q57 NAME=GE1_EII FRAME=Ethernet_II SLOT=6 Speed=AUTO Poll=0 RxBuffers=512 TxDescriptors=512 CheckSum=ON TxFlow=ON RxFlow=ON TxPacketsPer=64
#!END
#!END
#!
#!BEGINPROTO PROTO=GENERIC STATUS=ENABLED
LOAD QASP1
#PROTONAME QASP1
#
#!BEGINBIND STATUS=ENABLED
BIND QASP1 GE0_EII
#
#!END
#!BEGINBIND STATUS=ENABLED
BIND QASP1 GE1_EII
#
#!END
#!BEGINPOSTBIND
#!QASP1
load bmapi.nlm
#!ENDPOSTBIND
#!END
#!
#!BEGINPROTO PROTO=TCPIP STATUS=ENABLED
LOAD Tcpip RIP=No Static=Yes LoadSharing=No Forward=No VIPASupport=No
#
#!BEGINBIND STATUS=ENABLED
BIND IP TEAM0_EII ARP=Yes BCast=172.20.255.255 Mask=255.255.0.0 Address=172.20.5.202
#172.20.5.202
#!END
#!END
======================================
Вот и всё! Let's try it!
Комментарии приветствуются. Также сие можно в ФАК или статью оформить...