Document support for Terminator 6 adapters in cxgbe(4) and cxgbev(4).
Approved by: np MFC after: 3 days Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D8716
This commit is contained in:
parent
a5d19b81b4
commit
f6e648b896
@ -607,11 +607,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
|
||||
|
@ -36,7 +36,7 @@
|
||||
.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,17 +67,46 @@ 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 will provide port MIBs under dev.cxl and
|
||||
adapter-wide MIBs under dev.t5nex.
|
||||
References to sysctl MIBs in the remainder of this page will 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
|
||||
@ -139,11 +169,11 @@ 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.
|
||||
The number of tx queues to use 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.
|
||||
The number of rx queues to use 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
|
||||
@ -155,11 +185,11 @@ The number of rx queues to use 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.
|
||||
The number of TOE tx queues to use 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.
|
||||
The number of TOE rx queues to use 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
|
||||
@ -174,8 +204,8 @@ The 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.
|
||||
@ -187,7 +217,7 @@ 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.
|
||||
@ -196,7 +226,7 @@ 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
|
||||
@ -208,7 +238,7 @@ 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
|
||||
@ -216,7 +246,7 @@ The size, in number of entries, of the descriptor ring used for an
|
||||
rx queue.
|
||||
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
|
||||
@ -261,7 +291,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.
|
||||
@ -290,8 +320,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
|
||||
@ -305,7 +335,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,
|
||||
@ -332,6 +362,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
|
||||
|
@ -36,7 +36,7 @@
|
||||
.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 will provide port MIBs under dev.cxlv and
|
||||
parent device MIBs under dev.t5vf.
|
||||
References to sysctl MIBs in the remainder of this page will 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,11 +173,11 @@ 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.
|
||||
The number of tx queues to use 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.
|
||||
The number of rx queues to use 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
|
||||
@ -164,7 +196,7 @@ 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.
|
||||
@ -173,7 +205,7 @@ 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
|
||||
@ -185,7 +217,7 @@ 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
|
||||
@ -193,7 +225,7 @@ The size, in number of entries, of the descriptor ring used for an
|
||||
rx queue.
|
||||
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
|
||||
@ -279,6 +311,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
|
||||
|
Loading…
Reference in New Issue
Block a user