Мини-статья - как сделать транк через INETCFG.

Обсуждение технических вопросов по продуктам Novell

Мини-статья - как сделать транк через INETCFG.

Сообщение Alex-M » 19 сен 2005, 19:50

Надюсь, эта тема пока ещё представляет собой животрепещущий интерес? Если так - слушайте, братья! :-)

Дано: сервер с несколькими 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! :D
Комментарии приветствуются. Также сие можно в ФАК или статью оформить...
Вагончик тронется, НОВЕЛЛ - останется!!!
Alex-M
 
Сообщения: 298
Зарегистрирован: 21 авг 2002, 16:46
Откуда: Москва, МИД России

Вариант для драйвера iANS

Сообщение Алексей Андреев » 17 фев 2006, 14:12

Спасибо Alex - у за подробную инструкцию. Все проделал с картой Intel PRO/1000 MT Dual Port Server Adapter на Netware 5.1 sp7. Работает!

Ниже модифицированный файл iANS.LDI

Код: Выделить всё
;
;  File name:  IANS.LDI
;  VeRsIoN=0.19
;  Intel(R)IANS Installation Information File
;  CoPyRiGhT=(c)Copyright 2001 by Intel Corporation, All rights reserved.
;
;- File: IANS.LDI
;- Changes to appropriately show the ians info should go here.


VER: 6.66
SYN: 1.00

   DR IANS
   {
      DES: $IANS_1
      HELP: $IANS_2
      PAR: 1.00 ; NOT A HIN AWARE DRIVER??

      FILE: IANS.LAN

      FR   FrameSelect
      {
         Help:   $IANS_3

         CD:     $IANS_100
         CH:     'Ethernet_802.2'

         CD:     $IANS_101
         CH:     'Ethernet_802.3'

         CD:     $IANS_102
         CH:     'Ethernet_SNAP'

         CD:     $IANS_103
         CH:     'Ethernet_II'

         DEF:          1,2,3,4

      }

    PR TEAM OPT
    {
        Description: "Team"
        Type: DEC (1)
        Help: $IANS_4
        Values: 1, 2, 3, 4, 5, 6, 7, 8
        Default: 1
        Out: 'TEAM=%s'
    }

    LIST MODE OPT
    {
        Description: "Mode"
        Help: $IANS_5
        CD: $IANS_104
        CH: 'AFT'
        CD: $IANS_105
        CH: 'ALB'
        CD: $IANS_106
        CH: 'SFT'
        CD: $IANS_107
        CH: 'SLA'
        CD: $IANS_108
        CH: 'AD'
        Default: 1
        Out: 'MODE=%s'
    }

    LIST PROBES OPT
    {
        Description: "Probes"
        Help: $IANS_6
        CD: $IANS_109
        CH: 'ON'
        CD: $IANS_110
        CH: 'OFF'
        Default: 1
        Out: 'PROBES=%s'
    }

    LIST AGG_SELECTION OPT
    {
        Description: "Aggregator mode selection"
        Help: $IANS_7
        CD: $IANS_111
        CH: 'BANDWIDTH'
        CD: $IANS_112
        CH: 'COUNT'
        Default: 1
        Out: 'AGG_SELECTION=%s'
    }

    LIST SMPMODE OPT
    {
        Description: "SMP mode selection"
        Help: $IANS_8
        CD: $IANS_113
        CH: 'SMP'
        CD: $IANS_114
        CH: 'NONSMP'
        Default: 1
        Out: 'SMPMODE=%s'
    }

    LIST JOIN_INDIVIDUALS OPT
    {
        Description: "Join Individuals"
        Help: $IANS_9
        CD: $IANS_115
        CH: 'YES'
        CD: $IANS_116
        CH: 'NO'
        Default: 1
        Out: 'JOIN_INDIVIDUALS=%s'
    }
}
           
DLANG: 4
;English

$IANS_1 = "Advanced Network Services driver"
$IANS_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"
$IANS_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."
$IANS_4 = "Select the team number. Creates team (tag=nnn). "
$IANS_5 = "Syntax: mode=[AFT | ALB | SFT | SLA | AD]. \n
Specifies teaming mode."
$IANS_6 = "Enables or disables link-probes for this team. \n
(not supported in 802.3ad mode)"
$IANS_7 = "Sets Active Aggregator mode: link bandwidth \n
utilization or packets count (Round-Robin)"
$IANS_8 = "Enables/Disables SMP mode"
$IANS_9 = "Enables/Disables individual joining mode"
$IANS_100 = "Ethernet 802.2"
$IANS_101 = "Ethernet 802.3"
$IANS_102 = "Ethernet II"
$IANS_103 = "Ethernet SNAP"
$IANS_104 = "Adapter Fault Tolerance"
$IANS_105 = "Adaptive Load Balancing"
$IANS_106 = "Switch Fault Tolerance"
$IANS_107 = "Static Link Aggregation"
$IANS_108 = "IEEE 802.3ad Dinamic"
$IANS_109 = "Enable Probes"
$IANS_110 = "Disable Probes"
$IANS_111 = "Bandwidth utilization"
$IANS_112 = "Packets count"
$IANS_113 = "SMP mode"
$IANS_114 = "Non-SMP mode"
$IANS_115 = "Enable individual joining"
$IANS_116 = "Disable individual joining"

       
LANG: 6
;French


LANG: 7
;German

LANG: 8
;Italian


LANG: 14
;Spanish


LANG: 9
;Japanese


LANG:   12
;Portugese


LANG:   10
;Korean


LANG:   1
;Chinese (simplified)


LANG:   16
;Chinese (traditional)


LANG:   13
;Russian


;DrIvEr DeScRiPtIoN EnD



Далее все по инструкции Alex -a, файл NETINFO.CFG ниже
Код: Выделить всё
#!BEGINGENLOAD
LOAD SNMP
LOAD BCALLSRV
#!END
#!
#!BEGINTSMLOAD
#!END
#!
#!BEGINBOARD DRVR=IANS NAME=IANS_1 STATUS=ENABLED NUMPORTS=1 DRVRTYPE=LAN VARIABLEPORTS=NO PORTPARAM=CHANNEL TEAM=1 MODE=SLA PROBES=OFF AGG_SELECTION=COUNT SMPMODE=NONSMP JOIN_INDIVIDUALS=YES
#
#!BEGINPORT NAME=IANS_1 NUMBER=1 STATUS=ENABLED FRAMES=YES NUMLINKS=0 MEDIA=EtherTsm WANFRAME=UNCONFIGURED
#
#!REFCOUNT=1
LOAD IANS NAME=IANS_1_EII FRAME=Ethernet_II TEAM=1 MODE=SLA PROBES=OFF AGG_SELECTION=COUNT SMPMODE=NONSMP JOIN_INDIVIDUALS=YES
#!REFCOUNT=1
LOAD IANS NAME=IANS_1_E82 FRAME=Ethernet_802.2 TEAM=1 MODE=SLA PROBES=OFF AGG_SELECTION=COUNT SMPMODE=NONSMP JOIN_INDIVIDUALS=YES
#!END
#!END
#!
#!BEGINBOARD DRVR=E1000 NAME=E1000_1 STATUS=ENABLED NUMPORTS=1 DRVRTYPE=LAN VARIABLEPORTS=NO PORTPARAM=CHANNEL SLOT=301 RXDESCRIPTORS=64 TXDESCRIPTORS=96 SPEED=0 FORCEDUPLEX=0 FLOWCONTROL=3 PMEDISABLE=0 COALESCEBUFFERS=96
#
#!BEGINPORT NAME=E1000_1 NUMBER=1 STATUS=ENABLED FRAMES=YES NUMLINKS=0 MEDIA=EtherTsm WANFRAME=UNCONFIGURED
#
#!REFCOUNT=1
LOAD E1000 NAME=E1000_1_EII FRAME=Ethernet_II SLOT=301 RXDESCRIPTORS=64 TXDESCRIPTORS=96 SPEED=0 FORCEDUPLEX=0 FLOWCONTROL=3 PMEDISABLE=0 COALESCEBUFFERS=96
#!REFCOUNT=1
LOAD E1000 NAME=E1000_1_E82 FRAME=Ethernet_802.2 SLOT=301 RXDESCRIPTORS=64 TXDESCRIPTORS=96 SPEED=0 FORCEDUPLEX=0 FLOWCONTROL=3 PMEDISABLE=0 COALESCEBUFFERS=96
#!END
#!END
#!
#!BEGINBOARD DRVR=E1000 NAME=E1000_2 STATUS=ENABLED NUMPORTS=1 DRVRTYPE=LAN VARIABLEPORTS=NO PORTPARAM=CHANNEL SLOT=302 RXDESCRIPTORS=64 TXDESCRIPTORS=96 SPEED=0 FORCEDUPLEX=0 FLOWCONTROL=3 PMEDISABLE=0 COALESCEBUFFERS=96
#
#!BEGINPORT NAME=E1000_2 NUMBER=1 STATUS=ENABLED FRAMES=YES NUMLINKS=0 MEDIA=EtherTsm WANFRAME=UNCONFIGURED
#
#!REFCOUNT=1
LOAD E1000 NAME=E1000_2_EII FRAME=Ethernet_II SLOT=302 RXDESCRIPTORS=64 TXDESCRIPTORS=96 SPEED=0 FORCEDUPLEX=0 FLOWCONTROL=3 PMEDISABLE=0 COALESCEBUFFERS=96
#!REFCOUNT=1
LOAD E1000 NAME=E1000_2_E82 FRAME=Ethernet_802.2 SLOT=302 RXDESCRIPTORS=64 TXDESCRIPTORS=96 SPEED=0 FORCEDUPLEX=0 FLOWCONTROL=3 PMEDISABLE=0 COALESCEBUFFERS=96
#!END
#!END
#!
#!BEGINPROTO PROTO=GENERIC STATUS=ENABLED
LOAD IANS
#PROTONAME IANS
#
#!BEGINBIND STATUS=ENABLED
BIND IANS E1000_1_EII
#
#!END
#!BEGINBIND STATUS=ENABLED
BIND IANS E1000_2_EII
#
#!END
#!BEGINBIND STATUS=ENABLED
BIND IANS E1000_1_E82
#
#!END
#!BEGINBIND STATUS=ENABLED
BIND IANS E1000_2_E82
#
#!END
#!BEGINPOSTBIND
#!IANS
load ians commit teaM=1
#!ENDPOSTBIND
#!END
#!
#!BEGINPROTO PROTO=TCPIP STATUS=ENABLED
LOAD TCPIP
#Transferred from AUTOEXEC.NCF
#!BEGINBIND STATUS=ENABLED
BIND IP IANS_1_EII ARP=Yes Mask=255.255.224.0 Address=172.20.130.2
#172.20.130.2
#!END
#!END
#!
#!BEGINPROTO PROTO=IPX STATUS=ENABLED
LOAD IPXRTR
#Transferred from AUTOEXEC.NCF
LOAD IPXRTRNM
#Transferred from AUTOEXEC.NCF
#!BEGINBIND STATUS=ENABLED
BIND IPX IANS_1_E82 net=10099992 seq=1
#10099992
#!END
#!END


Привязывал IP и IPX. Все нормально работает!
Алексей Андреев
 
Сообщения: 5
Зарегистрирован: 03 мар 2005, 14:44
Откуда: Москва

для тупых...

Сообщение Антон Савельев » 18 фев 2006, 15:05

может подскажете что меняли в файлах, а то я как-то ни разу не смотрел и не вникал в формат этих файлов... :oops:
желательно выделите то, что появилось или было исправлено...
Антон Савельев
 
Сообщения: 219
Зарегистрирован: 16 авг 2002, 15:31
Откуда: Мурманск


Вернуться в Novell

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron