|
Revision tags: release/12.2.0, release/11.4.0, release/12.1.0, release/11.3.0, release/12.0.0, release/11.2.0, release/10.4.0, release/11.1.0 |
|
| #
5033c43b |
| 17-May-2017 |
John Baldwin <[email protected]> |
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.
Curre
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
show more ...
|
| #
193d9e76 |
| 04-Mar-2017 |
Enji Cooper <[email protected]> |
sys/modules: normalize .CURDIR-relative paths to SRCTOP
This simplifies make output/logic
Tested with: `cd sys/modules; make ALL_MODULES=` on amd64 MFC after: 1 month Sponsored by: Dell EMC Isilon
|
| #
a10443e8 |
| 30-Nov-2016 |
Navdeep Parhar <[email protected]> |
cxgbe(4): Include firmware for T6 cards in the driver. Update all firmwares to 1.16.12.0.
Obtained from: Chelsio Communications MFC after: 3 days Sponsored by: Chelsio Communications
|
|
Revision tags: release/11.0.1, release/11.0.0 |
|
| #
e6b81479 |
| 16-Sep-2016 |
Navdeep Parhar <[email protected]> |
cxgbe(4): Attach to cards with the Terminator 6 ASIC. T6 cards will come up as 't6nex' nexus devices with 'cc' ports hanging off them.
The T6 firmware and configuration files will be added as soon
cxgbe(4): Attach to cards with the Terminator 6 ASIC. T6 cards will come up as 't6nex' nexus devices with 'cc' ports hanging off them.
The T6 firmware and configuration files will be added as soon as they are released. For now the driver will try to work with whatever firmware and configuration is on the card's flash.
Sponsored by: Chelsio Communications
show more ...
|
| #
6af45170 |
| 07-Sep-2016 |
John Baldwin <[email protected]> |
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) an
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
show more ...
|
|
Revision tags: release/10.3.0 |
|
| #
e3148e46 |
| 26-Dec-2015 |
Navdeep Parhar <[email protected]> |
cxgbei: Hardware accelerated iSCSI target and initiator for TOE capable cards supported by cxgbe(4).
On the host side this driver interfaces with the storage stack via the ICL (iSCSI Common Layer) i
cxgbei: Hardware accelerated iSCSI target and initiator for TOE capable cards supported by cxgbe(4).
On the host side this driver interfaces with the storage stack via the ICL (iSCSI Common Layer) in the kernel. On the wire the traffic is standard iSCSI (SCSI over TCP as per RFC 3720/7143 etc.) that interoperates with all other standards compliant implementations. The driver is layered on top of the TOE driver (t4_tom) and promotes connections being handled by t4_tom to iSCSI ULP (Upper Layer Protocol) mode. Hardware assistance in this mode includes:
- Full TCP processing. - iSCSI PDU identification and recovery within the TCP stream. - Header and/or data digest insertion (tx) and verification (rx). - Zero copy (both tx and rx).
Man page will follow in a separate commit in a couple of weeks.
Relnotes: Yes Sponsored by: Chelsio Communications
show more ...
|
|
Revision tags: release/10.2.0 |
|
| #
2b518852 |
| 11-Mar-2015 |
Navdeep Parhar <[email protected]> |
Improved compliance with style.Makefile(5).
|
| #
b4943e97 |
| 10-Feb-2015 |
Navdeep Parhar <[email protected]> |
Initial drop of the hardare accelerated iSCSI driver.
Submitted by: Sreenivasa Honnur <shonnur at chelsio dot com> Sponsored by: Chelsio Communications
|
| #
85dc4777 |
| 06-Feb-2015 |
Navdeep Parhar <[email protected]> |
cxgbe(4): Add a minimal if_cxl module that pulls in the real driver as a dependency. This ensures "ifconfig cxl<n> ..." does the right thing even when it's run with no driver loaded.
if_cxl.ko is t
cxgbe(4): Add a minimal if_cxl module that pulls in the real driver as a dependency. This ensures "ifconfig cxl<n> ..." does the right thing even when it's run with no driver loaded.
if_cxl.ko is the tiniest module in /boot/kernel.
MFC after: 2 weeks
show more ...
|
|
Revision tags: release/10.1.0 |
|
| #
df3394b3 |
| 11-Aug-2014 |
Warner Losh <[email protected]> |
Remove dependence on source tree options. Move all kernel module options into kern.opts.mk and change all the places where we use src.opts.mk to pull in the options. Conditionally define SYSDIR and u
Remove dependence on source tree options. Move all kernel module options into kern.opts.mk and change all the places where we use src.opts.mk to pull in the options. Conditionally define SYSDIR and use SYSDIR/conf/kern.opts.mk instead of a CURDIR path. Replace all instances of CURDIR/../../etc with STSDIR, but only in the affected files.
As a special compatibility hack, include bsd.owm.mk at the top of kern.opts.mk to allow the bare build of sys/modules to work on older systems. If the defaults ever change between 9.x, 10.x and current for these options, however, you'll wind up with the host OS' defaults rather than the -current defaults. This hack will be removed when we no longer need to support this build scenario.
Reviewed by: jhb Differential Revision: https://phabric.freebsd.org/D529
show more ...
|
| #
88998d7a |
| 01-Aug-2014 |
Navdeep Parhar <[email protected]> |
Improve compliance with style.Makefile(5).
MFC after: 2 weeks
|
|
Revision tags: release/9.3.0 |
|
| #
c6063d0d |
| 06-May-2014 |
Warner Losh <[email protected]> |
Use src.opts.mk in preference to bsd.own.mk except where we need stuff from the latter.
|
|
Revision tags: release/10.0.0 |
|
| #
421b30ef |
| 18-Oct-2013 |
Edward Tomasz Napierala <[email protected]> |
Don't build krping.ko, iw_cxgb.ko, and iw_cxgbe.ko, if MK_OFED=no (the default). They build, but are unloadable, due to missing ibcore.ko.
Sponsored by: FreeBSD Foundation
|
| #
fb93f5c4 |
| 17-Oct-2013 |
Navdeep Parhar <[email protected]> |
iw_cxgbe: iWARP driver for Chelsio T4/T5 chips. This is a straight port of the iw_cxgb4 found in OFED distributions.
Obtained from: Chelsio
|
|
Revision tags: release/9.2.0 |
|
| #
f72b68a1 |
| 03-Jul-2013 |
Navdeep Parhar <[email protected]> |
- Include the T5 firmware with the driver. - Update the T4 firmware to the latest. - Minor reorganization and updates to the version macros, etc.
Obtained from: Chelsio MFC after: 1 day
|
|
Revision tags: release/8.4.0 |
|
| #
d14b0ac1 |
| 30-Mar-2013 |
Navdeep Parhar <[email protected]> |
cxgbe(4): Add support for Chelsio's Terminator 5 (aka T5) ASIC. This includes support for the NIC and TOE features of the 40G, 10G, and 1G/100M cards based on the T5.
The ASIC is mostly backward c
cxgbe(4): Add support for Chelsio's Terminator 5 (aka T5) ASIC. This includes support for the NIC and TOE features of the 40G, 10G, and 1G/100M cards based on the T5.
The ASIC is mostly backward compatible with the Terminator 4 so cxgbe(4) has been updated instead of writing a brand new driver. T5 cards will show up as cxl (short for cxlgb) ports attached to the t5nex bus driver.
Sponsored by: Chelsio
show more ...
|
|
Revision tags: release/9.1.0 |
|
| #
09fe6320 |
| 19-Jun-2012 |
Navdeep Parhar <[email protected]> |
- Updated TOE support in the kernel.
- Stateful TCP offload drivers for Terminator 3 and 4 (T3 and T4) ASICs. These are available as t3_tom and t4_tom modules that augment cxgb(4) and cxgbe(4) r
- Updated TOE support in the kernel.
- Stateful TCP offload drivers for Terminator 3 and 4 (T3 and T4) ASICs. These are available as t3_tom and t4_tom modules that augment cxgb(4) and cxgbe(4) respectively. The cxgb/cxgbe drivers continue to work as usual with or without these extra features.
- iWARP driver for Terminator 3 ASIC (kernel verbs). T4 iWARP in the works and will follow soon.
Build-tested with make universe.
30s overview ============ What interfaces support TCP offload? Look for TOE4 and/or TOE6 in the capabilities of an interface: # ifconfig -m | grep TOE
Enable/disable TCP offload on an interface (just like any other ifnet capability): # ifconfig cxgbe0 toe # ifconfig cxgbe0 -toe
Which connections are offloaded? Look for toe4 and/or toe6 in the output of netstat and sockstat: # netstat -np tcp | grep toe # sockstat -46c | grep toe
Reviewed by: bz, gnn Sponsored by: Chelsio communications. MFC after: ~3 months (after 9.1, and after ensuring MFC is feasible)
show more ...
|
|
Revision tags: release/8.3.0 |
|
| #
733b9277 |
| 16-Dec-2011 |
Navdeep Parhar <[email protected]> |
Many updates to cxgbe(4)
- Device configuration via plain text config file. Also able to operate when not attached to the chip as the master driver.
- Generic "work request" queue that serves as
Many updates to cxgbe(4)
- Device configuration via plain text config file. Also able to operate when not attached to the chip as the master driver.
- Generic "work request" queue that serves as the base for both ctrl and ofld tx queues.
- Generic interrupt handler routine that can process any event on any kind of ingress queue (via a dispatch table).
- A couple of new driver ioctls. cxgbetool can now install a firmware to the card ("loadfw" command) and can read the card's memory ("memdump" and "tcb" commands).
- Lots of assorted information within dev.t4nex.X.misc.* This is primarily for debugging and won't show up in sysctl -a.
- Code to manage the L2 tables on the chip.
- Updates to cxgbe(4) man page to go with the tunables that have changed.
- Updates to the shared code in common/
- Updates to the driver-firmware interface (now at fw 1.4.16.0)
MFC after: 1 month
show more ...
|
| #
230abe75 |
| 01-Apr-2011 |
Navdeep Parhar <[email protected]> |
Allow multiple modules within sys/modules/cxgbe. The first one is if_cxgbe.
MFC after: 3 days
|
| #
54e4ee71 |
| 18-Feb-2011 |
Navdeep Parhar <[email protected]> |
cxgbe(4) - NIC driver for Chelsio T4 (Terminator 4) based 10Gb/1Gb adapters.
MFC after: 3 weeks
|