From: Ramachandra K <[ramachandra.kuchimanchi@qlogic.com]> Date: Tue, 15 Jul 2008 12:48:15 +0000 (+0300) Subject: poornima.kamath@qlogic.com; amar.mudrankit@qlogic.com X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=689f362f6aae99ee80b627950cf50b729396d7f6;p=compat-rdma%2Fdocs.git poornima.kamath@qlogic.com; amar.mudrankit@qlogic.com Subject: [PATCH] QLogic VNIC: Changes to QLogic VNIC Documentation From: Ramachandra K With inclusion of new features and tools into QLogic VNIC package, documentation of the same is being updated. Signed-off-by: Ramachandra K Signed-off-by: Poornima Kamath Signed-off-by: Amar Mudrankit --- 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; } -# } -# -