aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Joyner <erj@FreeBSD.org>2018-10-12 22:57:52 +0000
committerEric Joyner <erj@FreeBSD.org>2018-10-12 22:57:52 +0000
commit9343a1cd71fc13e6fd2b32ac23e30d6059e66f81 (patch)
tree82f209968a76b79de53f0009d822dbdf396a43ce
parent4ba16a92c7fd1715b1a6c99ffb2558de1701bf1e (diff)
downloadsrc-9343a1cd71fc13e6fd2b32ac23e30d6059e66f81.tar.gz
src-9343a1cd71fc13e6fd2b32ac23e30d6059e66f81.zip
ixl/iavf: Update ixl(4) and iavf(4) [previously ixlv] man pages
Since there have been major updates to both drivers in r339338, refresh the man pages with new and updated information. Reviewed by: sbruno@, 0mp@, jeffrey.e.pieper@intel.com, manpages Approved by: re (gjb@, kib@) Sponsored by: Intel Corporation Differential Revision: https://reviews.freebsd.org/D15927
Notes
Notes: svn path=/head/; revision=339340
-rw-r--r--share/man/man4/Makefile4
-rw-r--r--share/man/man4/iavf.4 (renamed from share/man/man4/ixlv.4)77
-rw-r--r--share/man/man4/ixl.4213
3 files changed, 198 insertions, 96 deletions
diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile
index 3a6738a2ef42..e52a098a67de 100644
--- a/share/man/man4/Makefile
+++ b/share/man/man4/Makefile
@@ -196,6 +196,7 @@ MAN= aac.4 \
${_hv_vmbus.4} \
${_hv_vss.4} \
hwpmc.4 \
+ iavf.4 \
ichsmb.4 \
${_ichwd.4} \
icmp.4 \
@@ -240,7 +241,6 @@ MAN= aac.4 \
iwnfw.4 \
ixgbe.4 \
ixl.4 \
- ixlv.4 \
jedec_dimm.4 \
jme.4 \
joy.4 \
@@ -669,7 +669,7 @@ MLINKS+=ixgbe.4 ix.4
MLINKS+=ixgbe.4 if_ix.4
MLINKS+=ixgbe.4 if_ixgbe.4
MLINKS+=ixl.4 if_ixl.4
-MLINKS+=ixlv.4 if_ixlv.4
+MLINKS+=iavf.4 if_iavf.4
MLINKS+=jme.4 if_jme.4
MLINKS+=kue.4 if_kue.4
MLINKS+=lagg.4 trunk.4
diff --git a/share/man/man4/ixlv.4 b/share/man/man4/iavf.4
index 1fb0eb9a2435..0531c89ed8b3 100644
--- a/share/man/man4/ixlv.4
+++ b/share/man/man4/iavf.4
@@ -1,4 +1,4 @@
-.\" Copyright (c) 2013-2015, Intel Corporation
+.\" Copyright (c) 2013-2018, Intel Corporation
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -31,31 +31,29 @@
.\"
.\" $FreeBSD$
.\"
-.Dd March 25, 2015
-.Dt IXLV 4
+.Dd October 5, 2018
+.Dt IAVF 4
.Os
.Sh NAME
-.Nm ixlv
-.Nd "Intel XL710 Ethernet 40Gb VF driver"
+.Nm iavf
+.Nd "Intel Adaptive Virtual Function driver"
.Sh SYNOPSIS
-To compile this driver into the kernel,
-place the following lines in your
+To compile this driver into the kernel, place the following lines in your
kernel configuration file:
.Bd -ragged -offset indent
-.Cd "device ixlv"
+.Cd "device iavf"
.Ed
.Pp
-To load the driver as a
-module at boot time, place the following lines in
+To load the driver as a module at boot time, place the following lines in
.Xr loader.conf 5 :
.Bd -literal -offset indent
-if_ixlv_load="YES"
+if_iavf_load="YES"
.Ed
.Sh DESCRIPTION
The
.Nm
-driver provides virtualization support for PCI Express adapters
-or LOMs in the XL710 Family of ethernet devices.
+driver provides support for the PCI Virtual Functions from the 700 Series of
+ethernet devices and newer product families.
The driver supports Jumbo Frames, TX/RX checksum offload,
TCP segmentation offload (TSO), Large Receive Offload (LRO), VLAN
tag insertion/extraction, VLAN checksum offload, VLAN TSO, and
@@ -78,10 +76,10 @@ For more information on configuring this device, see
.Xr ifconfig 8 .
.Pp
.Em NOTE :
-The
+This
.Nm
-driver is only used by means of SRIOV, normally in a VM on a
-hosting server with the
+driver is only for Virtual Functions.
+For 700 series Physical Functions, use the
.Xr ixl 4
driver.
.Sh LOADER TUNABLES
@@ -90,24 +88,17 @@ Tunables can be set at the
prompt before booting the kernel or stored in
.Xr loader.conf 5 .
.Bl -tag -width indent
-.It Va hw.ixlv.ringsz
-Set the number of descriptors in the rings, note that this
-changes BOTH the TX and RX rings, they cannot be set independently.
-.It Va hw.ixlv.max_queues
-Set the number of queues (each a TX/RX pair) for the port, this
-allows one to override the autocalculation if it is set to 0.
-.It Va hw.ixlv.txbrsz
-Set the size of the buff ring used by the transmit side of the
-stack, we have found that it is necessary to have it quite large
-in order to get UDP to perform well.
-.It Va hw.ixlv.dynamic_rx_itr
-The dynamic RX interrupt control, set to 1 to enable, off by default.
-.It Va hw.ixlv.dynamic_tx_itr
-The dynamic TX interrupt control, set to 1 to enable, off by default.
-.It Va hw.ixlv.rx_itr
-The RX interrupt rate value, set to 8K by default.
-.It Va hw.ixlv.tx_itr
-The TX interrupt rate value, set to 4K by default.
+.It Va hw.iavf.rx_itr
+The RX interrupt rate value, set to 62 (124 usec) by default.
+.It Va hw.iavf.tx_itr
+The TX interrupt rate value, set to 122 (244 usec) by default.
+.It Va hw.iavf.enable_head_writeback
+When the driver is finding the last TX descriptor processed by the hardware,
+use a value written to memory by the hardware instead of scanning the
+descriptor ring for completed descriptors.
+Disabled by default; this mimics the "legacy" TX behavior found in
+.Xr ixgbe 4 .
+to ensure compatibility with future, non-700 series VF devices.
.El
.Sh SUPPORT
For general information and support,
@@ -116,24 +107,32 @@ go to the Intel support website at:
.Pp
If an issue is identified with this driver with a supported adapter,
email all the specific information related to the issue to
-.Aq freebsd@intel.com .
+.Mt freebsd@intel.com .
.Sh SEE ALSO
.Xr arp 4 ,
.Xr ixl 4 ,
.Xr netintro 4 ,
-.Xr ng_ether 4 ,
.Xr vlan 4 ,
-.Xr ifconfig 8
+.Xr ifconfig 8 ,
+.Xr iflib 9
.Sh HISTORY
The
.Nm
device driver first appeared in
.Fx 10.1 .
+under the name "ixlv"
+It was converted to use
+.Xr iflib 9
+and changed to its current name in
+.Fx 12 .
.Sh AUTHORS
.An -nosplit
The
.Nm
driver was written by
-.An Jack Vogel Aq Mt jfv@FreeBSD.org
+.An Jack Vogel Aq Mt jfv@freebsd.org
and
-.An Eric Joyner Aq Mt ricera10@gmail.com .
+.An Eric Joyner Aq Mt erj@freebsd.org .
+.Sh CAVEATS
+This driver is supposed to function on VFs spawned from future network devices by Intel,
+but at the time of this writing, has only been tested on the 700 series VFs.
diff --git a/share/man/man4/ixl.4 b/share/man/man4/ixl.4
index 60aa5e67ac40..d98ffd365c96 100644
--- a/share/man/man4/ixl.4
+++ b/share/man/man4/ixl.4
@@ -1,4 +1,4 @@
-.\" Copyright (c) 2013-2015, Intel Corporation
+.\" Copyright (c) 2013-2018, Intel Corporation
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -31,31 +31,44 @@
.\"
.\" $FreeBSD$
.\"
-.Dd March 25, 2015
+.Dd October 5, 2018
.Dt IXL 4
.Os
.Sh NAME
.Nm ixl
-.Nd "Intel XL710 Ethernet 40Gb Base driver"
+.Nd "Intel Ethernet 700 Series Driver"
.Sh SYNOPSIS
-To compile this driver into the kernel,
-place the following lines in your
+To compile this driver into the kernel, place the following lines in your
kernel configuration file:
.Bd -ragged -offset indent
.Cd "device ixl"
.Ed
.Pp
-To load the driver as a
-module at boot time, place the following lines in
+To load the driver as a module at boot time, place the following lines in
.Xr loader.conf 5 :
.Bd -literal -offset indent
if_ixl_load="YES"
.Ed
.Sh DESCRIPTION
+.Ss Features
The
.Nm
-driver provides support for PCI Express adapters or LOMs
-in the XL710 Family of ethernet devices.
+driver provides support for any PCI Express adapter or LOM
+(LAN On Motherboard)
+in the Intel Ethernet 700 Series.
+As of this writing, the series includes devices with these model numbers:
+.Pp
+.Bl -bullet -compact
+.It
+XL710 (40G)
+.It
+X710 (10G)
+.It
+XXV710 (25G)
+.It
+X722 (10G)
+.El
+.Pp
The driver supports Jumbo Frames, TX/RX checksum offload,
TCP segmentation offload (TSO), Large Receive Offload (LRO), VLAN
tag insertion/extraction, VLAN checksum offload, VLAN TSO, and
@@ -76,91 +89,176 @@ and/or TSO6, and finally LRO can be set and unset.
.Pp
For more information on configuring this device, see
.Xr ifconfig 8 .
+.Ss Additional Utilities
+There are additional tools available from Intel to help configure and update
+the adapters covered by this driver.
+These tools can be downloaded directly from Intel at
+.Pa downloadcenter.intel.com ,
+by searching for their names, or by installing certain packages:
+.Bl -item
+.It
+To change the behavior of the QSFP+ ports on XL710 adapters, use the
+Intel QCU (QSFP+ configuration utility); installed by the
+.Em sysutils/intel-qcu
+package.
+.It
+To update the firmware on an adapter, use the Intel Non-Volatile Memory (NVM)
+Update Utility; installed by the
+.Em sysutils/intel-nvmupdate
+package.
+.It
+Drivers are provided by Intel outside of the
+.Fx
+kernel; install the
+.Em net/intel-ixl-kmod
+package for the latest driver.
+.El
.Sh HARDWARE
+Most adapters in the Intel Ethernet 700 Series with SFP+/SFP28/QSFP+ cages
+have firmware that requires that Intel qualified modules are used; these
+qualified modules are listed below.
+This qualification check cannot be disabled by the driver.
+.Pp
The
.Nm
-driver supports these SFP+ Pluggable Optics:
+driver supports 40Gb Ethernet adapters with these QSFP+ modules:
.Pp
.Bl -bullet -compact
.It
-Intel TRIPLE RATE 1G/10G/40G QSFP+ SR (bailed) E40GQSFPSR
+Intel 4x10G/40G QSFP+ 40GBASE-SR4 E40GQSFPSR
.It
-Intel TRIPLE RATE 1G/10G/40G QSFP+ SR (bailed) E40GQSFPLR
+Intel 4x10G/40G QSFP+ 40GBASE-LR4 E40GQSFPLR
.El
.Pp
The
.Nm
-driver supports 10Gb and 1Gb Ethernet adapters with SR Modules:
+driver supports 25Gb Ethernet adapters with these SFP28 modules:
.Pp
.Bl -bullet -compact
.It
-Intel DUAL RATE 1G/10G SFP+ SR (bailed) FTLX8571D3BCV-IT
+Intel 10G/25G SFP28 25GBASE-SR E25GSFP28SR
.It
-Intel DUAL RATE 1G/10G SFP+ SR (bailed) AFBR-703SDZ-IN2
+Intel 10G/25G SFP28 25GBASE-SR E25GSFP28SRX (Extended Temp)
.El
.Pp
The
.Nm
-driver supports 10Gb and 1Gb Ethernet adapters with LR Modules:
+driver supports 25Gb and 10Gb Ethernet adapters with these SFP+ modules:
.Pp
.Bl -bullet -compact
.It
-Intel DUAL RATE 1G/10G SFP+ LR (bailed) FTLX1471D3BCV-IT
+Intel 1G/10G SFP+ SR FTLX8571D3BCV-IT
+.It
+Intel 1G/10G SFP+ SR AFBR-703SDZ-IN2
.It
-Intel DUAL RATE 1G/10G SFP+ LR (bailed) AFCT-701SDZ-IN2
+Intel 1G/10G SFP+ LR FTLX1471D3BCV-IT
+.It
+Intel 1G/10G SFP+ LR AFCT-701SDZ-IN2
+.It
+Intel 1G/10G SFP+ 10GBASE-SR E10GSFPSR
+.It
+Intel 10G SFP+ 10GBASE-SR E10GSFPSRX (Extended Temp)
+.It
+Intel 1G/10G SFP+ 10GBASE-LR E10GSFPLR
.El
.Pp
-Note that X710/XL710 Based SFP+ adapters also support all passive and active
+Note that adapters also support all passive and active
limiting direct attach cables that comply with SFF-8431 v4.1 and
SFF-8472 v10.4 specifications.
+.Pp
+This is not an exhaustive list; please consult product documentation for an
+up-to-date list of supported media.
.Sh LOADER TUNABLES
Tunables can be set at the
.Xr loader 8
prompt before booting the kernel or stored in
.Xr loader.conf 5 .
.Bl -tag -width indent
-.It Va hw.ixl.enable_msix
-Allows one to enable/disable MSIX, thus forcing MSI instead.
-.It Va hw.ixl.ringsz
-Set the number of descriptors in the rings, note that this
-changes BOTH the TX and RX rings, they cannot be set independently.
-.It Va hw.ixl.max_queues
-Set the number of queues (each a TX/RX pair) for the port, this
-allows one to override the autocalculation if it is set to 0.
-.It Va hw.ixl.dynamic_rx_itr
-The dynamic RX interrupt control, set to 1 to enable.
-.It Va hw.ixl.dynamic_tx_itr
-The dynamic TX interrupt control, set to 1 to enable.
.It Va hw.ixl.rx_itr
-The RX interrupt rate value, set to 8K by default.
+The RX interrupt rate value, set to 62 (124 usec) by default.
.It Va hw.ixl.tx_itr
-The TX interrupt rate value, set to 4K by default.
+The TX interrupt rate value, set to 122 (244 usec) by default.
+.It Va hw.ixl.i2c_access_method
+Access method that driver will use for I2C read and writes via
+.Xr sysctl 8
+or verbose
+.Xr ifconfig 8
+information display:
+.Bd -literal -offset indent
+0 - best available method
+1 - bit bang via I2CPARAMS register
+2 - register read/write via I2CCMD register
+3 - Use Admin Queue command (default best)
+.Ed
+.Pp
+Using the Admin Queue is only supported on 710 devices with FW version 1.7 or
+newer.
+Set to 0 by default.
+.It Va hw.ixl.enable_tx_fc_filter
+Filter out packets with Ethertype 0x8808 from being sent out by non-adapter
+sources.
+This prevents (potentially untrusted) software or
+.Xr iavf 4
+devices from sending out flow control packets and creating a DoS (Denial of
+Service) event.
+Enabled by default.
+.It Va hw.ixl.enable_head_writeback
+When the driver is finding the last TX descriptor processed by the hardware,
+use a value written to memory by the hardware instead of scanning the
+descriptor ring for completed descriptors.
+Enabled by default; disable to mimic the TX behavior found in
+.Xr ixgbe 4 .
.El
.Sh SYSCTL PROCEDURES
.Bl -tag -width indent
-.It Va hw.ixl.fc
-Allows one to set the flow control value.
-A value of 0 disables
-flow control, 3 enables full, 1 is RX, and 2 is TX pause.
-.It Va hw.ixl.advertise_speed
-Allows one to set advertised link speeds, this will then
-cause a link renegotiation.
-With the appropriate adapter
-this can cause a link at 10GB, 1GB, or 100MB.
-.It Va hw.ixl.current_speed
-This is a display of the current setting.
-.It Va hw.ixl.fw_version
-This is a display of the Firmware version.
+.It Va dev.ixl.#.fc
+Sets the 802.3x flow control mode that the adapter will advertise on the link.
+A value of 0 disables flow control, 3 enables full, 1 is RX, and 2 is TX pause.
+.Pp
+The negotiated flow control setting can be viewed in
+.Xr ifconfig 8 ,
+in the interface's media field.
+.It Va dev.ixl.#.advertise_speed
+Set the speeds that the interface will advertise on the link.
+.Va dev.ixl.#.supported_speeds
+contains the speeds that are allowed to be set.
+.It Va dev.ixl.#.current_speed
+Displays the current speed.
+.It Va dev.ixl.#.fw_version
+Displays the current firmware and NVM versions of the adapter.
.El
-.Sh Interrupt Storms
+.Sh INTERRUPT STORMS
It is important to note that 40G operation can generate high
numbers of interrupts, often incorrectly being interpreted as
a storm condition in the kernel.
-It is suggested that this
-be resolved by setting:
+It is suggested that this be resolved by setting:
.Bl -tag -width indent
.It Va hw.intr_storm_threshold: 0
.El
+.Sh IOVCTL OPTIONS
+The driver supports additional optional parameters for created VFs
+(Virtual Functions) when using
+.Xr iovctl 8 :
+.Bl -tag -width indent
+.It mac-addr Pq unicast-mac
+Set the Ethernet MAC address that the VF will use.
+If unspecified, the VF will use a randomly generated MAC address.
+.It mac-anti-spoof Pq bool
+Prevent the VF from sending Ethernet frames with a source address
+that does not match its own.
+.It allow-set-mac Pq bool
+Allow the VF to set its own Ethernet MAC address
+.It allow-promisc Pq bool
+Allow the VF to inspect all of the traffic sent to the port.
+.It num-queues Pq uint16_t
+Specify the number of queues the VF will have.
+By default, this is set to the number of MSI-X vectors supported by the VF
+minus one.
+.El
+.Pp
+An up to date list of parameters and their defaults can be found by using
+.Xr iovctl 8
+with the -S option.
.Sh SUPPORT
For general information and support,
go to the Intel support website at:
@@ -168,24 +266,29 @@ go to the Intel support website at:
.Pp
If an issue is identified with this driver with a supported adapter,
email all the specific information related to the issue to
-.Aq freebsd@intel.com .
+.Mt freebsd@intel.com .
.Sh SEE ALSO
.Xr arp 4 ,
-.Xr ixlv 4 ,
+.Xr iavf 4 ,
.Xr netintro 4 ,
-.Xr ng_ether 4 ,
.Xr vlan 4 ,
-.Xr ifconfig 8
+.Xr ifconfig 8 ,
+.Xr iovctl 8 ,
+.Xr iflib 9
.Sh HISTORY
The
.Nm
device driver first appeared in
.Fx 10.1 .
+It was converted to use
+.Xr iflib 9
+in
+.Fx 12 .
.Sh AUTHORS
.An -nosplit
The
.Nm
driver was written by
-.An Jack Vogel Aq Mt jfv@FreeBSD.org
+.An Jack Vogel Aq Mt jfv@freebsd.org
and
-.An Eric Joyner Aq Mt ricera10@gmail.com .
+.An Eric Joyner Aq Mt erj@freebsd.org .