Page MenuHomeFreeBSD

cxgbe(4): Allow a T6 adapter to switch between TOE and KTLS mode.
ClosedPublic

Authored by np on Mar 16 2021, 7:18 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Nov 14, 2:08 AM
Unknown Object (File)
Tue, Nov 12, 5:34 PM
Unknown Object (File)
Tue, Nov 12, 5:28 PM
Unknown Object (File)
Mon, Nov 4, 1:34 PM
Unknown Object (File)
Mon, Nov 4, 1:34 PM
Unknown Object (File)
Mon, Nov 4, 1:34 PM
Unknown Object (File)
Mon, Nov 4, 1:32 PM
Unknown Object (File)
Mon, Nov 4, 1:13 PM
Subscribers

Details

Summary

The hw.cxgbe.kern_tls tunable was used for this in the past and if it
was set then all T6 adapters would be configured for KTLS operation and
could not be reconfigured for TOE without a reload. With this change
ifconfig can be used to manipulate toe and txtls caps like any other
caps and will configure the hardware appropriately. hw.cxgbe.kern_tls
continues to work as usual but its effects are not permanent any more.

  • Enable nic_ktls_ofld in the default configuration file and use the firmware instead of direct register manipulation to apply/rollback KTLS configuration. This allows the driver to switch the hardware between TOE and KTLS mode in a safe manner. Note that the configuration is adapter-wide and not per-port.
  • Remove the kern_tls config file as it works with 100G T6 cards only and leads to firmware crashes with 25G cards. The configurations included with the driver (with the exception of the FPGA configs) are supposed to work with all adapters.

Reported by: Veeresh U.K. at Chelsio
MFC after: 2 weeks
Sponsored by: Chelsio Communications

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

np requested review of this revision.Mar 16 2021, 7:18 PM

Generally looks good to me. Nice to have this runtime togglelable now. I assume the minimum FW version we require now supports the new feature?

sys/dev/cxgbe/t4_main.c
11319

Maybe call it "NIC TLS" rather than KTLS since TOE TLS is also KTLS?

np marked an inline comment as done.

"NIC TLS" instead of "KTLS" in the message as suggested by jhb@.

I would use "NIC TLS" in a few more messages to be consistent.

sys/dev/cxgbe/t4_main.c
4815
11079
11086
This revision is now accepted and ready to land.Mar 25 2021, 4:52 PM

I should really add a TLS section to cxgbe(4) as well the talks about TOE TLS vs NIC TLS. It's on my todo list, just haven't done it yet :(

np marked 3 inline comments as done.Mar 25 2021, 7:42 PM