summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2016-12-27 20:06:26 +0000
committerjhb <jhb@FreeBSD.org>2016-12-27 20:06:26 +0000
commit76da61dcddff74442976f148a5c7cd1aa919790d (patch)
treec77b9368bf2489623e47326b26e400da4313625b /share
parentce42e3ad31009592adf21bfbbb1b817ca3550386 (diff)
downloadFreeBSD-src-76da61dcddff74442976f148a5c7cd1aa919790d.zip
FreeBSD-src-76da61dcddff74442976f148a5c7cd1aa919790d.tar.gz
MFC 309581,309582,310424: Document T6 support.
309581: Document support for Terminator 6 adapters in cxgbe(4) and cxgbev(4). 309582: Bump Dd for addition of T6. 310424: Replace passive voice with active voice and other tweaks. - Drop uses of 'will'. - Replace 'to use' with active voice. - Tidy language around interrupt types and clarify that INTx doesn't work on VFs. - Drop leading articles from sysctl/tunable descriptions. - Tweak the wording of several sysctl/tunable descriptions.
Diffstat (limited to 'share')
-rw-r--r--share/man/man4/Makefile14
-rw-r--r--share/man/man4/cxgbe.4115
-rw-r--r--share/man/man4/cxgbev.4101
3 files changed, 152 insertions, 78 deletions
diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile
index 74f5e70..8edad10 100644
--- a/share/man/man4/Makefile
+++ b/share/man/man4/Makefile
@@ -584,11 +584,21 @@ MLINKS+=crypto.4 cryptodev.4
MLINKS+=cue.4 if_cue.4
MLINKS+=cxgb.4 if_cxgb.4
MLINKS+=cxgbe.4 if_cxgbe.4 \
+ cxgbe.4 vcxgbe.4 \
+ cxgbe.4 if_vcxgbe.4 \
cxgbe.4 cxl.4 \
- cxgbe.4 if_cxl.4
+ cxgbe.4 if_cxl.4 \
+ cxgbe.4 vcxl.4 \
+ cxgbe.4 if_vcxl.4 \
+ cxgbe.4 cc.4 \
+ cxgbe.4 if_cc.4 \
+ cxgbe.4 vcc.4 \
+ cxgbe.4 if_vcc.4
MLINKS+=cxgbev.4 if_cxgbev.4 \
cxgbev.4 cxlv.4 \
- cxgbev.4 if_cxlv.4
+ cxgbev.4 if_cxlv.4 \
+ cxgbev.4 ccv.4 \
+ cxgbev.4 if_ccv.4
MLINKS+=dc.4 if_dc.4
MLINKS+=de.4 if_de.4
MLINKS+=disc.4 if_disc.4
diff --git a/share/man/man4/cxgbe.4 b/share/man/man4/cxgbe.4
index c9d1de0..fceda86 100644
--- a/share/man/man4/cxgbe.4
+++ b/share/man/man4/cxgbe.4
@@ -1,4 +1,4 @@
-.\" Copyright (c) 2011-2014, Chelsio Inc
+.\" Copyright (c) 2011-2016, Chelsio Inc
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
@@ -31,12 +31,12 @@
.\"
.\" $FreeBSD$
.\"
-.Dd December 2, 2015
+.Dd December 22, 2016
.Dt CXGBE 4
.Os
.Sh NAME
.Nm cxgbe
-.Nd "Chelsio T4 and T5 based 40Gb, 10Gb, and 1Gb Ethernet adapter driver"
+.Nd "Chelsio T4-, T5-, and T6-based 100Gb, 40Gb, 25Gb, 10Gb, and 1Gb Ethernet adapter driver"
.Sh SYNOPSIS
To compile this driver into the kernel,
place the following lines in your
@@ -51,13 +51,14 @@ module at boot time, place the following lines in
.Bd -literal -offset indent
t4fw_cfg_load="YES"
t5fw_cfg_load="YES"
+t6fw_cfg_load="YES"
if_cxgbe_load="YES"
.Ed
.Sh DESCRIPTION
The
.Nm
driver provides support for PCI Express Ethernet adapters based on
-the Chelsio Terminator 4 and Terminator 5 ASICs (T4 and T5).
+the Chelsio Terminator 4, Terminator 5, and Terminator 6 ASICs (T4, T5, and T6).
The driver supports Jumbo Frames, Transmit/Receive checksum offload,
TCP segmentation offload (TSO), Large Receive Offload (LRO), VLAN
tag insertion/extraction, VLAN checksum offload, VLAN TSO, and
@@ -66,18 +67,47 @@ For further hardware information and questions related to hardware
requirements, see
.Pa http://www.chelsio.com/ .
.Pp
-Note that ports of T5 cards are named cxl and attach to a t5nex parent device
-(in contrast to ports named cxgbe that attach to a t4nex parent for a T4 card).
-Loader tunables with the hw.cxgbe prefix apply to both T4 and T5 cards.
-The sysctl MIBs are at dev.t5nex and dev.cxl for T5 cards and at dev.t4nex and
-dev.cxgbe for T4 cards.
+The
+.Nm
+driver uses different names for devices based on the associated ASIC:
+.Bl -column -offset indent "ASIC" "Port Name" "Parent Device"
+.It Sy ASIC Ta Sy Port Name Ta Sy Parent Device Ta Sy Virtual Interface
+.It T4 Ta cxgbe Ta t4nex Ta vcxgbe
+.It T5 Ta cxl Ta t5nex Ta vcxl
+.It T6 Ta cc Ta t6nex Ta vcc
+.El
.Pp
+Loader tunables with the hw.cxgbe prefix apply to all cards.
+The driver provides sysctl MIBs for both ports and parent devices using
+the names above.
+For example, a T5 adapter provides port MIBs under dev.cxl and
+adapter-wide MIBs under dev.t5nex.
+References to sysctl MIBs in the remainder of this page use
+dev.<port> for port MIBs and dev.<nexus> for adapter-wide MIBs.
+.Pp
For more information on configuring this device, see
.Xr ifconfig 8 .
.Sh HARDWARE
The
.Nm
+driver supports 100Gb and 25Gb Ethernet adapters based on the T6 ASIC:
+.Pp
+.Bl -bullet -compact
+.It
+Chelsio T6225-CR
+.It
+Chelsio T6225-SO-CR
+.It
+Chelsio T62100-LP-CR
+.It
+Chelsio T62100-SO-CR
+.It
+Chelsio T62100-CR
+.El
+.Pp
+The
+.Nm
driver supports 40Gb, 10Gb and 1Gb Ethernet adapters based on the T5 ASIC:
.Pp
.Bl -bullet -compact
@@ -140,92 +170,89 @@ prompt before booting the kernel or stored in
.Xr loader.conf 5 .
.Bl -tag -width indent
.It Va hw.cxgbe.ntxq10g
-The number of tx queues to use for a 10Gb or 40Gb port.
+Number of tx queues used for a 10Gb or higher-speed port.
The default is 16 or the number
of CPU cores in the system, whichever is less.
.It Va hw.cxgbe.nrxq10g
-The number of rx queues to use for a 10Gb or 40Gb port.
+Number of rx queues used for a 10Gb or higher-speed port.
The default is 8 or the number
of CPU cores in the system, whichever is less.
.It Va hw.cxgbe.ntxq1g
-The number of tx queues to use for a 1Gb port.
+Number of tx queues used for a 1Gb port.
The default is 4 or the number
of CPU cores in the system, whichever is less.
.It Va hw.cxgbe.nrxq1g
-The number of rx queues to use for a 1Gb port.
+Number of rx queues used for a 1Gb port.
The default is 2 or the number
of CPU cores in the system, whichever is less.
.It Va hw.cxgbe.nofldtxq10g
-The number of TOE tx queues to use for a 10Gb or 40Gb port.
+Number of TOE tx queues used for a 10Gb or higher-speed port.
The default is 8 or the
number of CPU cores in the system, whichever is less.
.It Va hw.cxgbe.nofldrxq10g
-The number of TOE rx queues to use for a 10Gb or 40Gb port.
+Number of TOE rx queues used for a 10Gb or higher-speed port.
The default is 2 or the
number of CPU cores in the system, whichever is less.
.It Va hw.cxgbe.nofldtxq1g
-The number of TOE tx queues to use for a 1Gb port.
+Number of TOE tx queues used for a 1Gb port.
The default is 2 or the
number of CPU cores in the system, whichever is less.
.It Va hw.cxgbe.nofldrxq1g
-The number of TOE rx queues to use for a 1Gb port.
+Number of TOE rx queues used for a 1Gb port.
The default is 1.
.It Va hw.cxgbe.num_vis
-The number of virtual interfaces (VIs) created for each port.
+Number of virtual interfaces (VIs) created for each port.
Each virtual interface creates a separate network interface.
The first virtual interface on each port is required and represents
the primary network interface on the port.
-Additional virtual interfaces on a port are named vcxgbe (T4) or
-vcxl (T5) and only use a single rx and tx queue.
+Additional virtual interfaces on a port are named using the Virtual Interface
+name from the table above.
Additional virtual interfaces use a single pair of queues
for rx and tx as well an additional pair of queues for TOE rx and tx.
The default is 1.
.It Va hw.cxgbe.holdoff_timer_idx_10G
.It Va hw.cxgbe.holdoff_timer_idx_1G
-The timer index value to use to delay interrupts.
+Timer index value used to delay interrupts.
The holdoff timer list has the values 1, 5, 10, 50, 100, and 200
by default (all values are in microseconds) and the index selects a
value from this list.
The default value is 1 which means the timer value is 5us.
Different interfaces can be assigned different values at any time via the
-dev.cxgbe.X.holdoff_tmr_idx or dev.cxl.X.holdoff_tmr_idx sysctl.
+dev.<port>.X.holdoff_tmr_idx sysctl.
.It Va hw.cxgbe.holdoff_pktc_idx_10G
.It Va hw.cxgbe.holdoff_pktc_idx_1G
-The packet-count index value to use to delay interrupts.
-The packet-count list has the values 1, 8, 16, and 32 by default
+Packet-count index value used to delay interrupts.
+The packet-count list has the values 1, 8, 16, and 32 by default,
and the index selects a value from this list.
The default value is -1 which means packet counting is disabled and interrupts
are generated based solely on the holdoff timer value.
Different interfaces can be assigned different values via the
-dev.cxgbe.X.holdoff_pktc_idx or dev.cxl.X.holdoff_pktc_idx sysctl.
+dev.<port>.X.holdoff_pktc_idx sysctl.
This sysctl works only when the interface has never been marked up (as done by
ifconfig up).
.It Va hw.cxgbe.qsize_txq
-The size, in number of entries, of the descriptor ring used for a tx
-queue.
+Number of entries in a transmit queue's descriptor ring.
A buf_ring of the same size is also allocated for additional
software queuing.
See
.Xr ifnet 9 .
The default value is 1024.
Different interfaces can be assigned different values via the
-dev.cxgbe.X.qsize_txq sysctl or dev.cxl.X.qsize_txq sysctl.
+dev.<port>.X.qsize_txq sysctl.
This sysctl works only when the interface has never been marked up (as done by
ifconfig up).
.It Va hw.cxgbe.qsize_rxq
-The size, in number of entries, of the descriptor ring used for an
-rx queue.
+Number of entries in a receive queue's descriptor ring.
The default value is 1024.
Different interfaces can be assigned different values via the
-dev.cxgbe.X.qsize_rxq or dev.cxl.X.qsize_rxq sysctl.
+dev.<port>.X.qsize_rxq sysctl.
This sysctl works only when the interface has never been marked up (as done by
ifconfig up).
.It Va hw.cxgbe.interrupt_types
-The interrupt types that the driver is allowed to use.
-Bit 0 represents INTx (line interrupts), bit 1 MSI, bit 2 MSI-X.
+Permitted interrupt types.
+Bit 0 represents INTx (line interrupts), bit 1 MSI, and bit 2 MSI-X.
The default is 7 (all allowed).
-The driver will select the best possible type out of the allowed types by
-itself.
+The driver selects the best possible type out of the allowed types.
.It Va hw.cxgbe.fw_install
0 prohibits the driver from installing a firmware on the card.
1 allows the driver to install a new firmware if internal driver
@@ -236,7 +263,7 @@ long as it is compatible with the driver and is a different version than
the one already on the card.
The default is 1.
.It Va hw.cxgbe.fl_pktshift
-The number of bytes of padding inserted before the beginning of an Ethernet
+Number of padding bytes inserted before the beginning of an Ethernet
frame in the receive buffer.
The default value of 2 ensures that the Ethernet payload (usually the IP header)
is at a 4 byte aligned address.
@@ -262,7 +289,7 @@ reaches a high threshold, 0 prohibits the hardware from emitting PAUSE frames.
The default is 3 (both rx_pause and tx_pause = 1).
This tunable establishes the default PAUSE settings for all ports.
Settings can be displayed and controlled on a per-port basis via the
-dev.cxgbe.X.pause_settings (dev.cxl.X.pause_settings for T5 cards) sysctl.
+dev.<port>.X.pause_settings sysctl.
.It Va hw.cxgbe.buffer_packing
Allow the hardware to deliver multiple frames in the same receive buffer
opportunistically.
@@ -278,8 +305,8 @@ Sizes of rx clusters. Each of these must be set to one of the sizes available
(usually 2048, 4096, 9216, and 16384) and largest_rx_cluster must be greater
than or equal to safest_rx_cluster.
The defaults are 16384 and 4096 respectively.
-The driver will never attempt to allocate a receive buffer larger than
-largest_rx_cluster and will fall back to allocating buffers of
+The driver never attempts to allocate a receive buffer larger than
+largest_rx_cluster and falls back to allocating buffers of
safest_rx_cluster size if an allocation larger than safest_rx_cluster fails.
Note that largest_rx_cluster merely establishes a ceiling -- the driver is
allowed to allocate buffers of smaller sizes.
@@ -289,8 +316,8 @@ A configuration file contains a recipe for partitioning and configuring the
hardware resources on the card.
This tunable is for specialized applications only and should not be used in
normal operation.
-The configuration profile currently in use is available in the dev.t4nex.X.cf
-and dev.t4nex.X.cfcsum (dev.t5nex for T5 cards) sysctls.
+The configuration profile currently in use is available in the dev.<nexus>.X.cf
+and dev.<nexus>.X.cfcsum sysctls.
.It Va hw.cxgbe.linkcaps_allowed
.It Va hw.cxgbe.niccaps_allowed
.It Va hw.cxgbe.toecaps_allowed
@@ -304,7 +331,7 @@ capability.
This tunable is for specialized applications only and should not be used in
normal operation.
The capabilities for which hardware resources have been reserved are listed in
-dev.t4nex.X.*caps or dev.t5nex.X.*caps sysctls.
+dev.<nexus>.X.*caps sysctls.
.El
.Sh SUPPORT
For general information and support,
@@ -331,6 +358,10 @@ Support for T5 cards first appeared in
.Fx 9.2
and
.Fx 10.0 .
+Support for T6 cards first appeared in
+.Fx 11.1
+and
+.Fx 12.0 .
.Sh AUTHORS
.An -nosplit
The
diff --git a/share/man/man4/cxgbev.4 b/share/man/man4/cxgbev.4
index f4e3dc5..a442d14 100644
--- a/share/man/man4/cxgbev.4
+++ b/share/man/man4/cxgbev.4
@@ -31,12 +31,12 @@
.\"
.\" $FreeBSD$
.\"
-.Dd August 22, 2016
+.Dd December 22, 2016
.Dt CXGBEV 4
.Os
.Sh NAME
.Nm cxgbev
-.Nd "Chelsio T4 and T5 based 40Gb, 10Gb, and 1Gb Ethernet VF driver"
+.Nd "Chelsio T4-, T5-, and T6-based 100Gb, 40Gb, 25Gb, 10Gb, and 1Gb Ethernet VF driver"
.Sh SYNOPSIS
To compile this driver into the kernel,
place the following lines in your
@@ -56,7 +56,8 @@ if_cxgbev_load="YES"
The
.Nm
driver provides support for Virtual Functions on PCI Express Ethernet adapters
-based on the Chelsio Terminator 4 and Terminator 5 ASICs (T4 and T5).
+based on the Chelsio Terminator 4, Terminator 5, and Terminator 6 ASICs
+(T4, T5, and T6).
The driver supports Jumbo Frames, Transmit/Receive checksum offload,
TCP segmentation offload (TSO), Large Receive Offload (LRO), VLAN
tag insertion/extraction, VLAN checksum offload, VLAN TSO, and
@@ -65,18 +66,49 @@ For further hardware information and questions related to hardware
requirements, see
.Pa http://www.chelsio.com/ .
.Pp
-Note that ports of T5 VFs are named cxlv and attach to a t5vf parent device
-(in contrast to ports named cxgbev that attach to a t4vf parent for a T4 VF).
-Loader tunables with the hw.cxgbe prefix apply to both T4 and T5 VFs.
-The Physical Function driver for T4 and T5 adapters shares these tunables.
-The sysctl MIBs are at dev.t5vf and dev.cxlv for T5 cards and at dev.t4vf and
-dev.cxgbev for T4 cards.
+The
+.Nm
+driver uses different names for devices based on the associated ASIC:
+.Bl -column -offset indent "ASIC" "Port Name"
+.It Sy ASIC Ta Sy Port Name Ta Sy Parent Device
+.It T4 Ta cxgbev Ta t4vf
+.It T5 Ta cxlv Ta t5vf
+.It T6 Ta ccv Ta t6vf
+.El
+.Pp
+Loader tunables with the hw.cxgbe prefix apply to VFs from all cards.
+The Physical Function driver for Chelsio Terminator adapters shares these
+tunables.
+The driver provides sysctl MIBs for both ports and parent devices using
+the names above.
+For example, a T5 VF provides port MIBs under dev.cxlv and
+parent device MIBs under dev.t5vf.
+References to sysctl MIBs in the remainder of this page use
+dev.<port> for port MIBs and dev.<nexus> for parent device MIBs.
.Pp
For more information on configuring this device, see
.Xr ifconfig 8 .
.Sh HARDWARE
The
.Nm
+driver supports Virtual Functions on 100Gb and 25Gb Ethernet adapters
+based on the T6 ASIC:
+.Pp
+.Bl -bullet -compact
+.It
+Chelsio T6225-CR
+.It
+Chelsio T6225-SO-CR
+.It
+Chelsio T62100-LP-CR
+.It
+Chelsio T62100-SO-CR
+.It
+Chelsio T62100-CR
+.El
+.Pp
+The
+.Nm
driver supports Virtual Functions on 40Gb, 10Gb and 1Gb Ethernet adapters
based on the T5 ASIC:
.Pp
@@ -141,69 +173,68 @@ prompt before booting the kernel or stored in
.Xr loader.conf 5 .
.Bl -tag -width indent
.It Va hw.cxgbe.ntxq10g
-The number of tx queues to use for a 10Gb or 40Gb port.
+Number of tx queues used for a 10Gb or higher-speed port.
The default is 16 or the number
of CPU cores in the system, whichever is less.
.It Va hw.cxgbe.nrxq10g
-The number of rx queues to use for a 10Gb or 40Gb port.
+Number of rx queues used for a 10Gb or higher-speed port.
The default is 8 or the number
of CPU cores in the system, whichever is less.
.It Va hw.cxgbe.ntxq1g
-The number of tx queues to use for a 1Gb port.
+Number of tx queues used for a 1Gb port.
The default is 4 or the number
of CPU cores in the system, whichever is less.
.It Va hw.cxgbe.nrxq1g
-The number of rx queues to use for a 1Gb port.
+Number of rx queues used for a 1Gb port.
The default is 2 or the number
of CPU cores in the system, whichever is less.
.It Va hw.cxgbe.holdoff_timer_idx_10G
.It Va hw.cxgbe.holdoff_timer_idx_1G
-The timer index value to use to delay interrupts.
+Timer index value used to delay interrupts.
The holdoff timer list has the values 1, 5, 10, 50, 100, and 200
by default (all values are in microseconds) and the index selects a
value from this list.
The default value is 1 which means the timer value is 5us.
Different interfaces can be assigned different values at any time via the
-dev.cxgbev.X.holdoff_tmr_idx or dev.cxlv.X.holdoff_tmr_idx sysctl.
+dev.<port>.X.holdoff_tmr_idx sysctl.
.It Va hw.cxgbe.holdoff_pktc_idx_10G
.It Va hw.cxgbe.holdoff_pktc_idx_1G
-The packet-count index value to use to delay interrupts.
-The packet-count list has the values 1, 8, 16, and 32 by default
+Packet-count index value used to delay interrupts.
+The packet-count list has the values 1, 8, 16, and 32 by default,
and the index selects a value from this list.
The default value is -1 which means packet counting is disabled and interrupts
are generated based solely on the holdoff timer value.
Different interfaces can be assigned different values via the
-dev.cxgbev.X.holdoff_pktc_idx or dev.cxlv.X.holdoff_pktc_idx sysctl.
+dev.<port>.X.holdoff_pktc_idx sysctl.
This sysctl works only when the interface has never been marked up (as done by
ifconfig up).
.It Va hw.cxgbe.qsize_txq
-The size, in number of entries, of the descriptor ring used for a tx
-queue.
+Number of entries in a transmit queue's descriptor ring.
A buf_ring of the same size is also allocated for additional
software queuing.
See
.Xr ifnet 9 .
The default value is 1024.
Different interfaces can be assigned different values via the
-dev.cxgbev.X.qsize_txq sysctl or dev.cxlv.X.qsize_txq sysctl.
+dev.<port>.X.qsize_txq sysctl.
This sysctl works only when the interface has never been marked up (as done by
ifconfig up).
.It Va hw.cxgbe.qsize_rxq
-The size, in number of entries, of the descriptor ring used for an
-rx queue.
+Number of entries in a receive queue's descriptor ring.
The default value is 1024.
Different interfaces can be assigned different values via the
-dev.cxgbev.X.qsize_rxq or dev.cxlv.X.qsize_rxq sysctl.
+dev.<port>.X.qsize_rxq sysctl.
This sysctl works only when the interface has never been marked up (as done by
ifconfig up).
.It Va hw.cxgbe.interrupt_types
-The interrupt types that the driver is allowed to use.
-Bit 0 represents INTx (line interrupts), bit 1 MSI, bit 2 MSI-X.
+Permitted interrupt types.
+Bit 0 represents INTx (line interrupts), bit 1 MSI, and bit 2 MSI-X.
The default is 7 (all allowed).
-The driver will select the best possible type out of the allowed types by
-itself.
+The driver selects the best possible type out of the allowed types.
+Note that Virtual Functions do not support INTx interrupts and fail
+to attach if neither MSI nor MSI-X are enabled.
.It Va hw.cxgbe.fl_pktshift
-The number of bytes of padding inserted before the beginning of an Ethernet
+Number of padding bytes inserted before the beginning of an Ethernet
frame in the receive buffer.
The default value of 2 ensures that the Ethernet payload (usually the IP header)
is at a 4 byte aligned address.
@@ -230,8 +261,8 @@ Each of these must be set to one of the sizes available
(usually 2048, 4096, 9216, and 16384) and largest_rx_cluster must be greater
than or equal to safest_rx_cluster.
The defaults are 16384 and 4096 respectively.
-The driver will never attempt to allocate a receive buffer larger than
-largest_rx_cluster and will fall back to allocating buffers of
+The driver never attempts to allocate a receive buffer larger than
+largest_rx_cluster and falls back to allocating buffers of
safest_rx_cluster size if an allocation larger than safest_rx_cluster fails.
Note that largest_rx_cluster merely establishes a ceiling -- the driver is
allowed to allocate buffers of smaller sizes.
@@ -239,8 +270,8 @@ allowed to allocate buffers of smaller sizes.
.Pp
Certain settings and resources for Virtual Functions are dictated
by the parent Physical Function driver.
-For example, the Physical Function driver limits the number of queues a
-Virtual Function is permitted to use.
+For example, the Physical Function driver limits the number of queues
+available to a Virtual Function.
Some of these limits can be adjusted in the firmware configuration file
used with the Physical Function driver.
.Pp
@@ -258,7 +289,7 @@ to 1
.Pc .
.Pp
The VF driver currently depends on the PF driver.
-As a result, loading the VF driver will also load the PF driver as a
+As a result, loading the VF driver also loads the PF driver as a
dependency.
.Sh SUPPORT
For general information and support,
@@ -279,6 +310,8 @@ email all the specific information related to the issue to
The
.Nm
device driver first appeared in
+.Fx 11.1
+and
.Fx 12.0 .
.Sh AUTHORS
.An -nosplit
OpenPOWER on IntegriCloud