| Current File : //kernel/drv/oce.conf |
#
# Copyright (c) 2009-2014 Emulex. All rights reserved.
# EMULEX CONFIDENTIAL. Unpublished work. Copying, access, use or
# distribution requires an applicable license approved by Emulex.
#
#
# Driver.conf file for Emulex oce driver for Emulex OneConnect CNAs
#
#
# default_mtu
# The MTU to be used by the driver by default
# Allowed values: 1500 or 9000
# Default value: 1500
#default_mtu = 1500;
# flow_control
# Ethernet flow control
# Allowed values: 0 - Disable
# 1 - Transmit only
# 2 - Receive only
# 3 - Both Receive and transmit
# Default value: 3
#
# flow_control = 3;
#
# Note: flow_control cannot be disabled on NIC/FCOE UCNA
#
# max_tx_rings
# Maximum number of Transmit Queues
# Allowed values: 1 (OCE10102)
# 1 - 16 (OCE11102, LPem16002-M6-O, LPe16002-M6-O)
# Default value: 1 (OCE10102)
# 8 (OCE11102, LPem16002-M6-O, LPe16002-M6-O)
#
# max_rx_rings
# Maximum number of Recieve Queues
# Allowed values: 1 - 5 (OCE10102, OCE11102)
# 1 - 16 (OCE11102 Native mode, LPem16002-M6-O, LPe16002-M6-O)
# Default value: 1 - 5 (OCE10102, OCE11102)
# 1 - 8 (OCE11102 Native mode, LPem16002-M6-O, LPe16002-M6-O)
# Note: The actual number of tx/rx queeus created depends on the number of
# vectors allocated. The actual number can be checked using ndd(1m) command.
# On non IRM capable machines with Flex10 or multiadapter setup some of the
# functions may fail to attach because of lack of interrupts refer the section
# "How to change the Interrupt Priorities on non-IRM capable systems" to
# workaround this problem.
# fm_capability
# sets the driver's device fault management capability
# to one of the values defined for Solaris FM capability. It is a bitmap
# of one or more of these values. A value of zero implies that the
# capability is disabled
# Allowed values: 0x00000000 - DDI_FM_NOT_CAPABLE
# 0x00000001 - DDI_FM_EREPORT_CAPABLE
# 0x00000002 - DDI_FM_ACCCHK_CAPABLE
# 0x00000004 - DDI_FM_DMA_CHK_CAPABLE
# 0x00000008 - DDI_FM_ERRCB_CAPABLE
# Default value: 0x00000007
#
#fm_capability = 7;
#
# log_level
# Sets the driver's verbosity in logs through /var/adm/messages
# It is a bitmask of the form (MOD_MASK | SEVERITY) where
# Valid Values :
# MOD_MASK:
# 0x10000 - MOD_CONFIG
# 0x20000 - MOD_TX
# 0x40000 - MOD_RX
# 0x80000 - MOD_ISR
#
# SEVERITY:
# 0 - CE_CONT
# 1 - CE_NOTE
# 2 - CE_WARN
# 3 - CE_PANIC
# 4 - CE_IGNORE
#
# Default value: 0x00070002
#log_level = 0;
#----- How to change the Interrupt Priorities on non-IRM capable systems -----
#
# The Solaris operating system divides the available interrupts among
# multiple priority levels. Each priority level having a maximum of 31
# vectors. By default each function gets a maximum of two MSIX vectors
# on x86 platforms. With Flex10 and 3 adapters, there are 24 functions
# and the driver needs at least two vectors per function for a total of
# 48 vectors. If the MSIX allocation fails, the driver reverts to the INTX
# allocation that results in suboptimal performance.
# Normally the network drivers allocate vectors at level six, but our
# requirement of 48 vectors is beyond the limit which causes problems. The
# workaround is to assign level six to say 12 functions and level five to the
# remaining functions so that all functions can get 2 MSIX vectors for optimum
# performance. It is not uncommon to assign level 5 or 6 on Solaris under these
# conditions.
# The following example shows how the interrupt-priority for a PCI function can be configured to 5:
# 1. grep elxnic /etc/path_to_inst
#"/pci@0,0/pci8086,340a@3/pci10b5,8624@0/pci10b5,8624@1/pci10df,e702@0" 2 "oce"
#"/pci@0,0/pci8086,340a@3/pci10b5,8624@0/pci10b5,8624@1/pci10df,e702@0,1" 3 "oce"
#"/pci@0,0/pci8086,340a@3/pci10b5,8624@0/pci10b5,8624@5/pci10df,e20e@0" 0 "oce"
#"/pci@0,0/pci8086,340a@3/pci10b5,8624@0/pci10b5,8624@5/pci10df,e20e@0,1" 1 "oce"
#Note: In the example above, /pci@n,n/pcinnnn,nnnd@n represents the parent of the pci
#function, the unit number follows the last @ symbol, and pciexnnan,nnn indicates the
#device name.The path and unit number may vary on your system.
# grep elxnic /etc/driver_aliases
# elxnic "pciex19a2,710"
# 2. Add the following entry to /kernel/drv/oce.conf:
# name= "pciex19a2,710" parent = "/pci@0,0/pci8086,340a@3/pci10b5,8624@0/pci10b5,8624@1" unit-address = "0" interrupt-priorities = 5;
# 3. Now reboot the system. Interrupt priorities can be examined using mdb:
# echo "::interrupts "| mdb -k | grep oce
#0/0x26 - 5 PCI Edg MSI-X 1 - oce_isr
#1/0x28 - 5 PCI Edg MSI-X 1 - oce_isr