2011-02-18 08:00:26 +00:00
|
|
|
#
|
|
|
|
# $FreeBSD$
|
|
|
|
#
|
|
|
|
|
2017-03-04 10:10:17 +00:00
|
|
|
SYSDIR?=${SRCTOP}/sys
|
2014-08-11 14:50:49 +00:00
|
|
|
.include "${SYSDIR}/conf/kern.opts.mk"
|
2013-10-18 09:17:35 +00:00
|
|
|
|
2014-08-01 01:30:16 +00:00
|
|
|
SUBDIR= if_cxgbe
|
2015-02-06 01:10:04 +00:00
|
|
|
SUBDIR+= if_cxl
|
2016-09-16 00:08:37 +00:00
|
|
|
SUBDIR+= if_cc
|
Chelsio T4/T5 VF driver.
The cxgbev/cxlv driver supports Virtual Function devices for Chelsio
T4 and T4 adapters. The VF devices share most of their code with the
existing PF4 driver (cxgbe/cxl) and as such the VF device driver
currently depends on the PF4 driver.
Similar to the cxgbe/cxl drivers, the VF driver includes a t4vf/t5vf
PCI device driver that attaches to the VF device. It then creates
child cxgbev/cxlv devices representing ports assigned to the VF.
By default, the PF driver assigns a single port to each VF.
t4vf_hw.c contains VF-specific routines from the shared code used to
fetch VF-specific parameters from the firmware.
t4_vf.c contains the VF-specific PCI device driver and includes its
own attach routine.
VF devices are required to use a different firmware request when
transmitting packets (which in turn requires a different CPL message
to encapsulate messages). This alternate firmware request does not
permit chaining multiple packets in a single message, so each packet
results in a firmware request. In addition, the different CPL message
requires more detailed information when enabling hardware checksums,
so parse_pkt() on VF devices must examine L2 and L3 headers for all
packets (not just TSO packets) for VF devices. Finally, L2 checksums
on non-UDP/non-TCP packets do not work reliably (the firmware trashes
the IPv4 fragment field), so IPv4 checksums for such packets are
calculated in software.
Most of the other changes in the non-VF-specific code are to expose
various variables and functions private to the PF driver so that they
can be used by the VF driver.
Note that a limited subset of cxgbetool functions are supported on VF
devices including register dumps, scheduler classes, and clearing of
statistics. In addition, TOE is not supported on VF devices, only for
the PF interfaces.
Reviewed by: np
MFC after: 2 months
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D7599
2016-09-07 18:13:57 +00:00
|
|
|
SUBDIR+= if_cxgbev
|
|
|
|
SUBDIR+= if_cxlv
|
2016-09-16 00:08:37 +00:00
|
|
|
SUBDIR+= if_ccv
|
2014-08-01 01:30:16 +00:00
|
|
|
SUBDIR+= t4_firmware
|
|
|
|
SUBDIR+= t5_firmware
|
2016-11-30 00:26:35 +00:00
|
|
|
SUBDIR+= t6_firmware
|
2014-08-01 01:30:16 +00:00
|
|
|
SUBDIR+= ${_tom}
|
|
|
|
SUBDIR+= ${_iw_cxgbe}
|
2015-12-26 06:05:21 +00:00
|
|
|
SUBDIR+= ${_cxgbei}
|
Add a driver for the Chelsio T6 crypto accelerator engine.
The ccr(4) driver supports use of the crypto accelerator engine on
Chelsio T6 NICs in "lookaside" mode via the opencrypto framework.
Currently, the driver supports AES-CBC, AES-CTR, AES-GCM, and AES-XTS
cipher algorithms as well as the SHA1-HMAC, SHA2-256-HMAC, SHA2-384-HMAC,
and SHA2-512-HMAC authentication algorithms. The driver also supports
chaining one of AES-CBC, AES-CTR, or AES-XTS with an authentication
algorithm for encrypt-then-authenticate operations.
Note that this driver is still under active development and testing and
may not yet be ready for production use. It does pass the tests in
tests/sys/opencrypto with the exception that the AES-GCM implementation
in the driver does not yet support requests with a zero byte payload.
To use this driver currently, the "uwire" configuration must be used
along with explicitly enabling support for lookaside crypto capabilities
in the cxgbe(4) driver. These can be done by setting the following
tunables before loading the cxgbe(4) driver:
hw.cxgbe.config_file=uwire
hw.cxgbe.cryptocaps_allowed=-1
MFC after: 1 month
Relnotes: yes
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D10763
2017-05-17 22:13:07 +00:00
|
|
|
SUBDIR+= ccr
|
2012-06-19 07:34:13 +00:00
|
|
|
|
2022-03-02 22:30:15 +00:00
|
|
|
.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "aarch64"
|
2014-08-01 01:30:16 +00:00
|
|
|
_tom= tom
|
2015-12-26 06:05:21 +00:00
|
|
|
_cxgbei= cxgbei
|
2013-10-18 09:17:35 +00:00
|
|
|
.if ${MK_OFED} != "no" || defined(ALL_MODULES)
|
2013-10-17 18:37:25 +00:00
|
|
|
_iw_cxgbe= iw_cxgbe
|
2012-06-19 07:34:13 +00:00
|
|
|
.endif
|
2013-10-18 09:17:35 +00:00
|
|
|
.endif
|
2011-02-18 08:00:26 +00:00
|
|
|
|
2013-10-17 18:37:25 +00:00
|
|
|
.if ${MACHINE_CPUARCH} == "i386"
|
2014-08-01 01:30:16 +00:00
|
|
|
_tom= tom
|
2013-10-17 18:37:25 +00:00
|
|
|
.endif
|
|
|
|
|
2011-04-01 00:25:32 +00:00
|
|
|
.include <bsd.subdir.mk>
|