***SPAM*** Re: [ewg] [PATCH] QLogic VNIC: Changes to QLogic VNIC Documentation

Ramachandra K ramachandra.kuchimanchi at qlogic.com
Mon Jul 14 05:35:21 PDT 2008


Tziporet,

Did you get a chance to apply this documentation patch ?

Regards,
Ram

On Thu, Jul 10, 2008 at 9:10 PM, Ramachandra K
<ramachandra.kuchimanchi at qlogic.com> wrote:
> From: Ramachandra K <ramachandra.kuchimanchi at qlogic.com>
>
> With inclusion of new features and tools into QLogic VNIC package,
> documentation of the same is being updated.
>
> Signed-off-by: Ramachandra K <ramachandra.kuchimanchi at qlogic.com>
> Signed-off-by: Poornima Kamath <poornima.kamath at qlogic.com>
> Signed-off-by: Amar Mudrankit <amar.mudrankit at qlogic.com>
> ---
>
>  QLOGIC_VNIC_README.txt |  365 ++++++++++++++++++++++++++++++++++++++++--------
>  qlgc_vnic.cfg.sample   |  154 ++++++++++++++++++++
>  qlogic_vnic.cfg.sample |  102 -------------
>  3 files changed, 456 insertions(+), 165 deletions(-)
>  create mode 100644 qlgc_vnic.cfg.sample
>  delete mode 100644 qlogic_vnic.cfg.sample
>
> diff --git a/QLOGIC_VNIC_README.txt b/QLOGIC_VNIC_README.txt
> index dc1f412..5450565 100644
> --- a/QLOGIC_VNIC_README.txt
> +++ b/QLOGIC_VNIC_README.txt
> @@ -1,49 +1,69 @@
> -This is a technology preview release of the QLogic VNIC driver on OFED 1.3.
> -This driver is currently supported on Intel x86 32 and 64 bit machines with
> -Mellanox HCAs. Supported OS are RHEL 4 Update 3, RHEL 4 Update 4, SLES 10
> -and the vanilla 2.6.19 kernel.
> -
> -The VNIC driver in conjunction with the QLogic Virtual Ethernet I/O gateway
> -(VEx) provides Ethernet interfaces on a host with IB HCA(s) without the need
> +This is a release of the QLogic VNIC driver on OFED 1.4.  This driver is
> +currently supported on Intel x86 32 and 64 bit machines.
> +Supported OS are:
> +-  RHEL 4 Update 4.
> +-  RHEL 4 Update 5.
> +-  RHEL 4 Update 6.
> +-  SLES 10.
> +-  SLES 10 Service Pack 1.
> +-  SLES 10 Service Pack 1 Update 1.
> +-  SLES 10 Service Pack 2.
> +-  RHEL 5.
> +-  RHEL 5 Update 1.
> +-  RHEL 5 Update 2.
> +-  vanilla 2.6.27 kernel.
> +
> +The VNIC driver in conjunction with the QLogic Ethernet Virtual I/O Controller
> +(EVIC) provides Ethernet interfaces on a host with IB HCA(s) without the need
>  for any physical Ethernet NIC.
>
> -This file describes the use of the VNIC ULP service on an OFED stack
> +This file describes the use of the QLogic VNIC ULP service on an OFED stack
>  and covers the following points:
>
> -A) Creating VNIC interfaces
> -B) Discovering VEx IOCs present on the fabric using ibvexdm
> -C) Starting the VNIC driver and the VNIC interfaces
> -D) Assigning IP addresses etc for the VNIC interfaces
> -E) Information about the VNIC interfaces
> -F) Deleting a specific VNIC interface
> +A) Creating QLogic VNIC interfaces
> +B) Discovering VEx/EVIC IOCs present on the fabric using ib_qlgc_vnic_query
> +C) Starting the QLogic VNIC driver and the VNIC interfaces
> +D) Assigning IP addresses etc for the QLogic VNIC interfaces
> +E) Information about the QLogic VNIC interfaces
> +F) Deleting a specific QLogic VNIC interface
> +G) QLogic VNIC Dynamic Update Daemon Tool and Hot Swap support
> +H) Information about creating VLAN interfaces
> +I) Information about enabling IB Multicast for QLogic VNIC interface
> +J) Basic Troubleshooting
>
> -A) Creating VNIC interfaces
> +A) Creating QLogic VNIC interfaces
>
>  The VNIC interfaces can be created with the help of
> -a configuration file which must be placed at /etc/infiniband/qlogic_vnic.cfg.
> +the configuration file which must be placed at /etc/infiniband/qlgc_vnic.cfg.
>
> -Please take a look at qlogic_vnic.cfg.sample file (available as part of the
> -documentation) to see how VNIC configuration files are written. You can use
> -this configuration file as the basis for creating a VNIC configuration file by
> -copying it to /etc/infiniband/qlogic_vnic.cfg. Of course you will have to
> +Please take a look at /etc/infiniband/qlgc_vnic.cfg.sample file (available also
> +as part of the documentation) to see how VNIC configuration files are written.
> +You can use this configuration file as the basis for creating a VNIC configuration
> +file by copying it to /etc/infiniband/qlgc_vnic.cfg. Of course you will have to
>  replace the IOCGUID, IOCSTRING values etc in the sample configuration file
> -with those of the VEx IOCs present on your fabric.
> +with those of the EVIC IOCs present on your fabric.
> +
> +(For backward compatibilty, if this file is missing,
> +/etc/infiniband/qlogic_vnic.cfg or /etc/sysconfig/ics_inic.cfg
> +will be used for configuration)
>
> -[As back ward compatibility for the QLogic Infiniserv stack, if the
> -/etc/infiniband/qlogic_vnic.cfg file is not present, the VNIC service will
> -look for the /etc/sysconfig/ics_inic.cfg configuration file]
> +Please note that using DGID of the EVIC/VEx IOC is
> +recommended as it will ensure the quickest startup of the
> +VNIC service. If DGID is specified then you must also
> +specify the IOCGUID. More details can be found in
> +the qlgc_vnic.cfg.sample file.
>
> -B) Discovering VEx IOCs present on the fabric using ibvexdm
> +B) Discovering EVIC/VEx IOCs present on the fabric using ib_qlgc_vnic_query
>
>  For writing the configuration file, you will need information
> -about the VEx IOCs present on the fabric like their IOCGUID,
> -IOCSTRING etc. The ibvexdm tool should be used to get this
> +about the EVIC/VEx IOCs present on the fabric like their IOCGUID,
> +IOCSTRING etc. The ib_qlgc_vnic_query tool should be used to get this
>  information.
>
> -When ibvexdm is executed without any options, it displays
> -detailed information about all the VEx IOCs present on the fabric:
> +When ib_qlgc_vnic_query is executed without any options, it displays
> +detailed information about all the EVIC/VEx IOCs present on the fabric:
>
> -# ibvexdm
> +# ib_qlgc_vnic_query
>  IO Unit Info:
>     port LID:        0003
>     port GID:        fe8000000000000000066a0258000001
> @@ -82,75 +102,294 @@ IO Unit Info:
>             service[  1]: 1000066a00000103 / InfiniNIC.InfiniConSys.Data:03
>
>
> -When ibvexdm is run with -e option, it reports the IOCGUID information
> +When ib_qlgc_vnic_query is run with -e option, it reports the IOCGUID information
>  and with -s option it reports the IOCSTRING information for the VEx IOCs
>  present on the fabric.
>
> -# ibvexdm -e
> +# ib_qlgc_vnic_query -e
>  ioc_guid=00066a0130000001,dgid=fe8000000000000000066a0258000001,pkey=ffff
>  ioc_guid=00066a0230000001,dgid=fe8000000000000000066a0258000001,pkey=ffff
>  ioc_guid=00066a0330000001,dgid=fe8000000000000000066a0258000001,pkey=ffff
>
> -#ibvexdm -s
> +#ib_qlgc_vnic_query -s
>  "Chassis 0x00066A00010003F2, Slot 1, IOC 1"
>  "Chassis 0x00066A00010003F2, Slot 1, IOC 2"
>  "Chassis 0x00066A00010003F2, Slot 1, IOC 3"
>
> -#ibvexdm -es
> +#ib_qlgc_vnic_query -es
>  ioc_guid=00066a0130000001,dgid=fe8000000000000000066a0258000001,pkey=ffff,"Chassis 0x00066A00010003F2, Slot 1, IOC 1"
>  ioc_guid=00066a0230000001,dgid=fe8000000000000000066a0258000001,pkey=ffff,"Chassis 0x00066A00010003F2, Slot 1, IOC 2"
>  ioc_guid=00066a0330000001,dgid=fe8000000000000000066a0258000001,pkey=ffff,"Chassis 0x00066A00010003F2, Slot 1, IOC 3"
>
> -C) Starting the VNIC driver and the VNIC interfaces
> +ib_qlgc_vnic_query uses Port 1 of HCA on host as a default port to obtain the information
> +about EVIC/VEx IOCs. But, the default port can be overridden by using a -d
> +option and then specifying "umad" device name corresponding to desired HCA port.
> +
> +Typically, Port 1 of HCA corresponds to umad device "umad0" and Port 2 of HCA
> +corresponds to umad device "umad1". Thus,
> +
> +# ib_qlgc_vnic_query -es
> +
> +is same as :
> +
> +# ib_qlgc_vnic_query -es -d /dev/infiniband/umad0
> +
> +and to collect the information about EVIC/VEx IOCs accessible through port 2,
> +use "umad1" device :
> +
> +# ib_qlgc_vnic_query -es -d /dev/infiniband/umad1
> +
> +C) Starting the QLogic VNIC driver and the QLogic VNIC interfaces
> +
> +To start the QLogic VNIC service as a part of startup of OFED stack, set
> +
> +QLGC_VNIC_LOAD=yes
> +
> +in /etc/infiniband/openib.conf file. With this actually, the QLogic VNIC
> +service will also be stopped when the OFED stack is stopped.  Also, if OFED
> +stack has been marked to start on boot, QLogic VNIC service will also start
> +on boot.
> +
> +The rest of the discussion in this subsection C) is valid only if
> +
> +QLGC_VNIC_LOAD=no
> +
> +is set into /etc/infiniband/openib.conf.
>
>  Once you have created a configuration file, you can start the VNIC driver
>  and create the VNIC interfaces specified in the configuration file with:
> -#/etc/init.d/openibd start
>
> +#/sbin/service qlgc_vnic start
> +
> +You can stop the VNIC driver and bring down the VNIC interfaces with
>
> -The VNIC driver is started by default as a part of openibd service.
> -(If openibd is configured to start on boot VNIC driver will also start on boot)
> -If you do not want to start the VNIC driver as a part of openibd service, set
> -VNIC_LOAD=no in /etc/infiniband/openib.conf
> +#/sbin/service qlgc_vnic stop
>
> -You can stop the VNIC driver and openibd services with
> -#/etc/init.d/openibd stop
> +To restart the QLogic VNIC driver, you can use
>
> -You can restart the VNIC driver and openibd service using
> -#/etc/init.d/openibd restart
> +#/sbin/service qlgc_vnic restart
>
> -After starting openibd service you can independently control the VNIC driver using ql_vnic service
> -To stop the VNIC driver you  can use
> -#/etc/init.d/ql_vnic stop
> +If you have not started the Infiniband network stack (Infinipath or OFED),
> +then running "/sbin/service qlgc_vnic start" command will also cause the
> +Infiniband network stack to be started since the QLogic VNIC service requires
> +the Infiniband stack.
>
> -If you make changes to the VNIC configuration file and want the changes to be
> -reflected, you can restart the VNIC service independently, using
> -#/etc/init.d/ql_vnic restart
> +On the other hand if you start the Infiniband network stack separately, then
> +the correct order of starting is:
>
> -Note that it is required to start openibd service before using ql_vnic service
> +-  Start the Infiniband stack
> +-  Start QLogic VNIC service
>
> -D) Assigning IP addresses etc for the VNIC interfaces
> +For example, if you use OFED, correct order of starting is:
> +
> +/sbin/service openibd start
> +/sbin/service qlgc_vnic start
> +
> +Correct order of stopping is:
> +
> +- Stop QLogic VNIC service
> +- Stop the Infiniband stack
> +
> +For example, if you use OFED, correct order of stopping is:
> +
> +/sbin/service qlgc_vnic stop
> +/sbin/service openibd stop
> +
> +If you try to stop the Infiniband stack when the QLogic VNIC service is
> +running,
> +you will get an error message that some of the modules of the Infiniband stack
> +are in use by the QLogic VNIC service. Also, any QLogic VNIC interfaces that
> +you
> +created are removed (because stopping the Infiniband network stack causes the
> +HCA
> +driver to be unloaded which is required for the VNIC interfaces to be
> +present).
> +In this case, do the following:
> +
> +  1. Stop the QLogic VNIC service with "/sbin/service qlgc_vnic stop"
> +
> +  2. Stop the Infiniband stack again.
> +
> +  3. If you want to restart the QLogic VNIC interfaces, use
> +    "/sbin/service qlgc_vnic start".
> +
> +
> +D) Assigning IP addresses etc for the QLogic VNIC interfaces
>
>  This can be done with ifconfig or by setting up the ifcfg-XXX (ifcfg-veth0 for
>  an interface named veth0 etc) network files for the corresponding VNIC interfaces.
>
> -E) Information about the VNIC interfaces
> +E) Information about the QLogic VNIC interfaces
>
> -Information about the created VNIC interfaces can be obtained from
> -/sys/class/infiniband_vnic/interfaces/. A directory is created
> -for each interface under this directory.
> +Information about VNIC interfaces on a given host can be obtained using a
> +script "ib_qlgc_vnic_info" :-
>
> -The directory for each interface contains information about the interface
> -and the primary and secondary connections.
> +# ib_qlgc_vnic_info
>
> -F) Deleting a specific VNIC interface
> +VNIC Interface : eioc0
> +    VNIC State        : VNIC_REGISTERED
> +    Current Path      : primary path
> +    Receive Checksum  : true
> +    Transmit checksum : true
> +
> +    Primary Path :
> +        VIPORT State  : VIPORT_CONNECTED
> +        Link State    : LINK_IDLING
> +        HCA Info.     : vnic-mthca0-1
> +        Heartbeat     : 100
> +        IOC String    : EVIC in Chassis 0x00066a00db000010, Slot 4, Ioc 1
> +        IOC GUID      : 66a01de000037
> +        DGID          : fe8000000000000000066a11de000037
> +        P Key         : ffff
> +
> +    Secondary Path :
> +        VIPORT State  : VIPORT_DISCONNECTED
> +        Link State    : INVALID STATE
> +        HCA Info.     : vnic-mthca0-2
> +        Heartbeat     : 100
> +        IOC String    :
> +        IOC GUID      : 66a01de000037
> +        DGID          : 00000000000000000000000000000000
> +        P Key         : 0
> +
> +This information is collected from /sys/class/infiniband_qlgc_vnic/interfaces/
> +directory under which there is a separate directory corresponding to each
> +VNIC interface.
> +
> +F) Deleting a specific QLogic VNIC interface
>
>  VNIC interfaces can be deleted by writing the name of the interface to
> -the /sys/class/infiniband_vnic/interfaces/delete_vnic file.
> +the /sys/class/infiniband_qlgc_vnic/interfaces/delete_vnic file.
>
>  For example to delete interface veth0
>
> -echo -n veth0 > /sys/class/infiniband_vnic/interfaces/delete_vnic
> -
> +echo -n veth0 > /sys/class/infiniband_qlgc_vnic/interfaces/delete_vnic
> +
> +G) QLogic VNIC Dynamic Update Daemon Tool and Hot Swap support:-
> +
> +This tool is started and stopped as part of the QLogic VNIC service
> +(refer to C above) and provides the following features:
> +
> +1. Dynamic update of disconnected interfaces (which have been configured
> +WITHOUT using the DGID option in the configuration file) :
> +
> +At the start up of VNIC driver, if the HCA port through which a particular VNIC
> +interface path (primary or secondary) connects to target is down or the
> +EVIC/VEx IOC is not available then all the required parameters (DGID etc) for connecting
> +with the EVIC/VEx cannot be determined. Hence the corresponding VNIC interface
> +path is not available at the start of the VNIC service. This daemon constantly
> +monitors the configured VNIC interfaces to check if any of them are disconnected.
> +If any of the interfaces are disconnected, it scans for available EVIC/VEx targets using
> +"ib_qlgc_vnic_query" tool. When daemon sees that for a given path of a VNIC interface,
> +the configured EVIC/VEx IOC has become available, it dynamically updates the
> +VNIC kernel driver with the required information to establish connection for
> +that path of the interface. In this way, the interface gets connected with
> +the configured EVIC/VEx whenever it becomes available without any manual
> +intervention.
> +
> +2. Hot Swap support :
> +
> +Hot swap is an operation in which an existing EVIC/VEx is replaced by another
> +EVIC/VEx (in the same slot of the switch chassis as the older one). In such a
> +case, the current connection for the corresponding VNIC interface will have to
> +be re-established. The daemon detects this hot swap case and re-establishes
> +the connection automatically. To make use of this feature of the daemon, it is
> +recommended that IOCSTRING be used in the configuration file to configure the
> +VNIC interfaces.
> +
> +This is because, after a hot swap though all other parameters like DGID, IOCGUID etc
> +of the EVIC/VEx change, the IOCSTRING remains the same. Thus the daemon monitors
> +for changes in IOCGUID and DGID of disconnected interfaces based on the IOCSTRING.
> +If these values have changed it updates the kernel driver so that the VNIC
> +interface can start using the new EVIC/VEx.
> +
> +If in addition to IOCSTRING, DGID and IOCGUID have been used to configure
> +a VNIC interface, then on a hotswap the daemon will update the parameters as required.
> +But to have that VNIC interface available immediately on the next restart of the
> +QLogic VNIC service, please make sure to update the configuration file with the
> +new DGID and IOCGUID values. Otherwise, the creation of such interfaces will be
> +delayed till the daemon runs and updates the parameters.
> +
> +H) Information about creating VLAN interfaces
> +
> +The EVIC/VEx supports VLAN tagging without having to explicitly create VLAN
> +interfaces for the VNIC interface on the host. This is done by enabling
> +Egress/Ingress tagging on the EVIC/VEx and setting the "Host ignores VLAN"
> +option for the VNIC interface. The "Host ignores VLAN" option is enabled
> +by default due to which VLAN tags are ignored on the host by the QLogic
> +VNIC driver. Thus explicitly created VLAN interfaces (using vconfig command)
> +for a given VNIC interface will not be operational.
> +
> +If you want to explicitly create a VLAN interface for a given VNIC interface,
> +then you will have to disable the "Host ignores VLAN" option for the
> +VNIC interface on the EVIC/VEx. The qlgc_vnic service must be restarted
> +on the host after disabling (or enabling) the "Host ignores VLAN" option.
> +
> +Please refer to the EVIC/VEx documentation for more information on Egress/Ingress
> +port tagging feature and disabling the "Host ignores VLAN" option.
> +
> +I) Information about enabling IB Multicast for QLogic VNIC interface
> +
> +QLogic VNIC driver has been upgraded to support the IB Multicasting feature of
> +EVIC/VEx. This feature enables the QLogic VNIC host driver to support the IP
> +multicasting more efficiently. With this feature enabled, infiniband multicast
> +group acts as a carrier of IP multicast traffic. EVIC will make use of such IB
> +multicast groups for forwarding IP multicast traffic to VNIC interfaces which
> +are member of given IP multicast group. In the older QLogic VNIC host driver,
> +IB multicasting was not being used to carry IP multicast traffic.
> +
> +By default, IB multicasting is disabled on EVIC/VEx; but it is enabled by
> +default at the QLogic VNIC host driver.
> +
> +To disable IB multicast feature on the host driver, VNIC configuration file
> +needs to be modified by setting the parameter IB_MULTICAST=FALSE in the
> +interface configuration. Please refer to the qlgc_vnic.cfg.sample for more
> +details on configuration of VNIC interfaces for IB multicasting.
> +IB multicasting also needs to be enabled over EVIC/VEx. Please refer to the
> +EVIC/VEx documentation for more information on enabling IB multicast
> +feature over EVIC/VEx.
> +
> +J) Basic Troubleshooting
> +
> +1. In case of any problems, make sure that:
> +
> +   a) The HCA ports you are trying to use have IB cables connected and are in an
> +      active state. You can use the "ibv_devinfo" tool to check the state of
> +      your HCA ports.
> +
> +   b) If your HCA ports are not active, check if an SM is running on the fabric
> +      where the HCA ports are connected. If you have done a full install of
> +      OFED, you can use the "sminfo" command ("sminfo -P 2" for port 2) to
> +      check SM information.
> +
> +   c) Make sure that the EVIC/VEx is powered up and its Ethernet cables are connected
> +      properly.
> +
> +   d) Check /var/log/messages for any error messages.
> +
> +2. If some of your VNIC interfaces are not available:
> +
> +   a) Use "ifconfig" tool  with -a option to see if all interfaces are created.
> +      It is possible that the interfaces are created but do not have an
> +      IP address. Make sure that you have setup a correct ifcfg-XXX file for your
> +      VNIC interfaces for automatic assignment of IP addresses.
> +
> +      If the VNIC interface is created and the ifcfg file is also correct
> +      but the VNIC interface is not UP, make sure that the target EVIC/VEx
> +      IOC has an Ethernet cable properly connected.
> +
> +   b) Make sure that the VNIC configuration file has been setup properly
> +      with correct EVIC/VEx target DGID/IOCGUID/IOCSTRING information and
> +      instance numbers.
> +
> +   c) Make sure that the EVIC/VEx target IOC specified for that interface is
> +      available. You can use the "ib_qlgc_vnic_query" tool to verify this. If it is not
> +      available when you started  the service, but it becomes available later
> +      on, then the QLogic VNIC dynamic update daemon  will  bring up the
> +      interface when the target becomes available. You will see messages in
> +      /var/log/messages when the corresponding interface is created.
> +
> +   d) Make sure that you have not exceeded the total number of Virtual interfaces
> +      supported by the EVIC/VEx. You can check the total number of Virtual interfaces
> +      currently in use on the HTTP interface of the EVIC/VEx.
>
> -
> diff --git a/qlgc_vnic.cfg.sample b/qlgc_vnic.cfg.sample
> new file mode 100644
> index 0000000..c474881
> --- /dev/null
> +++ b/qlgc_vnic.cfg.sample
> @@ -0,0 +1,154 @@
> +# QLogic VNIC configuration file
> +#
> +# This file documents and describes the use of the
> +# VNIC configuration file qlgc_vnic.cfg. This file
> +# should reside in /etc/infiniband/qlgc_vnic.cfg
> +#
> +#
> +# Knowing how to fill the configuration file
> +###############################################
> +#
> +# For filling the configuration file you need to know
> +# some information about your EVIC/VEx device. This information
> +# can be obtained with the help of the ib_qlgc_vnic_query tool.
> +# "ib_qlgc_vnic_query -es" command will give DGID, IOCGUID and IOCSTRING information about
> +# the EVIC/VEx IOCs that are available through port 1 and
> +# "ib_qlgc_vnic_query -es -d /dev/infiniband/umad1" will give information about
> +# the EVIC/VEX IOCs available through port 2.
> +#
> +# Refer to the README for more information about the ib_qlgc_vnic_query tool.
> +#
> +#
> +# General structure of the configuration file
> +###############################################
> +#
> +# All lines beginning with a # are treated as comments.
> +#
> +# A simple configuration file consists of CREATE commands
> +# for each VNIC interface to be created.
> +#
> +# A simple CREATE command looks like this:
> +#
> +#  {CREATE; NAME="eioc1";
> +#      DGID=0xfe8000000000000000066a0258000001; IOCGUID=0x66a0130000001; IOCSTRING="Chassis 0x00066A00010003F2, Slot 1, IOC 1";
> +#  }
> +#
> +#Where
> +#
> +#NAME - The device name for the interface
> +#
> +#DGID - The DGID of the IOC to use.
> +#
> +#      If DGID is specified then IOCGUID MUST also be specified.
> +#
> +#      Though specifying DGID is optional, using this option is recommended,
> +#      as it will provide the quickest way of starting up the VNIC service.
> +#
> +#
> +#IOCGUID - The GUID of the IOC to use.
> +#
> +#IOCSTRING - The IOC Profile ID String of the IOC to use.
> +#
> +#        Either an IOCGUID or an IOCSTRING MUST always be specified.
> +#
> +#        If DGID is specified then IOCGUID MUST also be specified.
> +#
> +#        If no DGID is specified and both IOCGUID and IOCSTRING are specified
> +#        then IOCSTRING is given preference and the DGID of the IOC whose
> +#        IOCSTRING is specified is used to create the VNIC interface.
> +#
> +#       If hotswap capability of EVIC/VEx is to be used, then IOCSTRING
> +#       must be specified.
> +#
> +#INSTANCE - Defaults to 0.  Range 0-255.  If a host will connect to the
> +#      same IOC more than once, each connection must be assigned a unique
> +#       number.
> +#
> +#
> +#RX_CSUM - defaults to TRUE.  When true, indicates that the receive checksum
> +#          should be done by the EVIC/VEx
> +#
> +#HEARTBEAT - defaults to 100.  Specifies the time in 1/100'ths of a second
> +#          between heartbeats
> +#
> +#PORT - Specification for local HCA port. First port is 1.
> +#
> +#HCA - Optional HCA specification for use with PORT specification. First HCA is 0.
> +#
> +#
> +#IB_MULTICAST - Controls enabling or disabling of IB multicast feature on VNIC.
> +#               Defaults to TRUE implying IB multicast is enabled for
> +#               the interface. To disable IB multicast, set it to FALSE.
> +#
> +# Example of DGID and IOCGUID based configuration (this configuration will give
> +# the quickest start up of VNIC service):
> +#
> +#  {CREATE; NAME="eioc1";
> +#       DGID=0xfe8000000000000000066a0258000001; IOCGUID=0x66a0130000001;
> +#  }
> +#
> +#
> +# Example of IOCGUID based configuration:
> +#
> +#  {CREATE; NAME="eioc1"; IOCGUID=0x66A013000010C;
> +#     RX_CSUM=TRUE;
> +#     HEARTBEAT=100; }
> +#
> +# Example of IOCSTRING based configuration:
> +#
> +#  {CREATE; NAME="eioc1"; IOCSTRING="Chassis 0x00066A0050000018, Slot 2, IOC 1";
> +#     RX_CSUM=TRUE;
> +#     HEARTBEAT=100; }
> +#
> +#
> +#Failover configuration:
> +#########################
> +#
> +# It is possible to create a VNIC interface with failover configuration
> +# by using the PRIMARY and SECONDARY commands. The IOC specified in
> +# the PRIMARY command will be used as the primary IOC for this interface
> +# and the IOC specified in the SECONDARY command will be used as the
> +# fail-over backup in case the connection with the primary IOC fails
> +# for some reason.
> +#
> +# PRIMARY and SECONDARY commands are written in the following way:
> +#
> +# PRIMARY={DGID=...;IOCGUID=...; IOCSTRING=...;INSTANCE=... } -
> +# IOCGUID, and INSTANCE must be values that are unique to the primary interface
> +#
> +# SECONDARY={DGID=...;IOCGUID=...; INSTANCE=... } -
> +# IOCGUID, and INSTANCE must be values that are unique to the secondary interface
> +#
> +# OR it can also be specified without using DGID, like this:
> +#
> +# PRIMARY={IOCGUID=...; INSTANCE=... } - IOCGUID may be substituted with
> +#   IOCSTRING.  IOCGUID, IOCSTRING, and INSTANCE must be values that are
> +#      unique to the primary interface
> +#
> +#  SECONDARY={IOCGUID=...; INSTANCE=... } - bring up a secondary connection for
> +#      fail-over.  IOCGUID may be substituted with IOCSTRING.  IOCGUID, IOCSTRING,
> +#   and INSTANCE values to be used for the secondary connection
> +#
> +#
> +#Examples of failover configuration:
> +#
> +#{CREATE; NAME="veth1";
> +#        PRIMARY={ DGID=0xfe8000000000000000066a0258000001; IOCGUID=0x66a0130000001; IOCSTRING="Chassis 0x00066A00010003F2, Slot 1, IOC 1";
> +#          INSTANCE=1; PORT=1; }
> +#        SECONDARY={DGID=0xfe8000000000000000066a0258000001; IOCGUID=0x66a0230000001; IOCSTRING="Chassis 0x00066A00010003F2, Slot 1, IOC 2";
> +#          INSTANCE=1; PORT=2; }
> +#}
> +#
> +#  {CREATE; NAME="eioc2";
> +#   PRIMARY = {IOCGUID=0x66A0130000105; INSTANCE=0; PORT=1; }
> +#   SECONDARY = {IOCGUID=0x66A013000010C; INSTANCE=0; PORT=2; }
> +#  }
> +#
> +#Example of configuration with IB_MULTICAST
> +#
> +#  {CREATE; NAME="eioc2";
> +#   PRIMARY = {IOCGUID=0x66A0130000105; INSTANCE=0; PORT=1; IB_MULTICAST=FALSE; }
> +#   SECONDARY = {IOCGUID=0x66A013000010C; INSTANCE=0; PORT=2; IB_MULTICAST=FALSE; }
> +#  }
> +#
> +
> diff --git a/qlogic_vnic.cfg.sample b/qlogic_vnic.cfg.sample
> deleted file mode 100644
> index c74b154..0000000
> --- a/qlogic_vnic.cfg.sample
> +++ /dev/null
> @@ -1,102 +0,0 @@
> -# QLogic VNIC configuration file
> -#
> -# This file documents and describes the use of the
> -# VNIC configuration file qlogic_vnic.cfg. This file
> -# should reside in /etc/infiniband/ql_vnic.cfg
> -#
> -#
> -# Knowing how to fill the configuration file
> -###############################################
> -#
> -# For filling the configuration file you need to know
> -# some information about your VEx device. This information
> -# can be obtained with the help of the ibvexdm tool.
> -# ibvexdm -e will give IOCGUID information about the VEx IOCs
> -# whereas ibvexdm -s will give IOCSTRING information.
> -# Refer to QLogic_VNIC.README available as part of the documentation
> -# for more information about the ibvexdm tool.
> -#
> -#
> -# General structure of the configuration file
> -###############################################
> -#
> -# All lines beginning with a # are treated as comments.
> -#
> -# A simple configuration file consists of CREATE commands
> -# for each VNIC interface to be created.
> -#
> -# A simple CREATE command looks like this:
> -#
> -#  {CREATE; NAME="eioc1"; IOCGUID=0x66A013000010C;
> -#     RX_CSUM=TRUE;
> -#     HEARTBEAT=100; }
> -#
> -#Where
> -#
> -#NAME - The device name for the interface
> -#
> -#IOCGUID - The GUID of the IOC to use.  All of the IOC GUIDS detected on
> -#      the fabric can be found with "ibvexdm -e". This can be used instead
> -#      of IOCSTRING.  It can not be used at the same time as IOCSTRING.
> -#
> -#IOCSTRING - The IOC Profile ID String of the IOC to use.  All of the IOC
> -#      Profile ID Strings detected on the fabric can be found with
> -#      "ibvexdm -s". This can be used instead of IOCGUID.
> -#      It can not be used at the same time as IOCGUID.
> -#
> -#INSTANCE - Defaults to 0.  Range 0-255.  If a host will connect to the
> -#      same IOC more than once, each connection must be assigned a unique
> -#       number.
> -#
> -#RX_CSUM - defaults to TRUE.  When true, indicates that the receive checksum
> -#          should be done by the VEx
> -#
> -#HEARTBEAT - defaults to 100.  Specifies the time in 1/100'ths of a second
> -#          between heartbeats
> -#
> -#PORT - Specification for local HCA port. First port is 1.
> -#
> -#HCA - Optional HCA specification for use with PORT specification. First HCA is 1.
> -#
> -# Example of IOCGUID based configuration:
> -#
> -#  {CREATE; NAME="eioc1"; IOCGUID=0x66A013000010C;
> -#     RX_CSUM=TRUE;
> -#     HEARTBEAT=100; }
> -#
> -# Example of IOCSTRING based configuration:
> -#
> -#  {CREATE; NAME="eioc1"; IOCSTRING="Chassis 0x00066A0050000018, Slot 2, IOC 1";
> -#     RX_CSUM=TRUE;
> -#     HEARTBEAT=100; }
> -#
> -#
> -#Failover configuration:
> -#########################
> -#
> -# It is possible to create a VNIC interface with failover configuration
> -# by using the PRIMARY and SECONDARY commands. The IOC specified in
> -# the PRIMARY command will be used as the primary IOC for this interface
> -# and the IOC specified in the SECONDARY command will be used as the
> -# fail-over backup in case the connection with the primary IOC fails
> -# for some reason.
> -#
> -# PRIMARY and SECONDARY commands are written in the following way:
> -#
> -# PRIMARY={IOCGUID=...; INSTANCE=... } - IOCGUID may be substituted with
> -#   IOCSTRING.  IOCGUID, IOCSTRING, and INSTANCE must be values that are
> -#      unique to the primary interface
> -#
> -#  SECONDARY={IOCGUID=...; INSTANCE=... } - bring up a secondary connection for
> -#      fail-over.  IOCGUID may be substituted with IOCSTRING.  IOCGUID, IOCSTRING,
> -#   and INSTANCE values to be used for the secondary connection
> -#
> -#
> -#Example failover configuration:
> -#
> -#  {CREATE; NAME="eioc2";
> -#   PRIMARY = {IOCGUID=0x66A0130000105; INSTANCE=0; PORT=1; }
> -#   SECONDARY = {IOCGUID=0x66A013000010C; INSTANCE=0; PORT=2; }
> -#  }
> -#
> -
>
> _______________________________________________
> ewg mailing list
> ewg at lists.openfabrics.org
> http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg
>



More information about the ewg mailing list