Revision tags: release/14.2.0-p2, release/14.1.0-p8, release/13.4.0-p4 |
|
#
e19d8497 |
| 12-Feb-2025 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Block most access to the hardware as soon as the adapter stops.
Add a new hw_all_ok() routine and use it to avoid hardware access in the public control interfaces (ifnet ioctls, ifmedia ca
cxgbe(4): Block most access to the hardware as soon as the adapter stops.
Add a new hw_all_ok() routine and use it to avoid hardware access in the public control interfaces (ifnet ioctls, ifmedia calls, etc.). Continue to use hw_off_limits() in the private ioctls/sysctls and other debug code. Retire adapter_stopped() as it's of no use by itself.
This fixes problems where ifnet slow-path operations would enter a synch_op just before set_adapter_hwstatus(false) and touch the hardware when it's not safe to do so.
MFC after: 1 week Sponsored by: Chelsio Communications
show more ...
|
Revision tags: release/14.1.0-p7, release/14.2.0-p1, release/13.4.0-p3, release/14.2.0, release/13.4.0, release/14.1.0, release/13.3.0, release/14.0.0 |
|
#
685dc743 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
4d846d26 |
| 10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause.
Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
show more ...
|
Revision tags: release/13.2.0, release/12.4.0 |
|
#
954712e8 |
| 30-May-2022 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Mechanically convert cxgb(4) and cxgbe(4) to IfAPI
Reviewed by: np Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38597
|
Revision tags: release/13.1.0, release/12.3.0 |
|
#
bb877c06 |
| 04-Jun-2021 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Empty the clib_db before trying to destroy it.
This fixes a panic on driver unload.
Reported by: Jithesh Arakkan @ Chelsio MFC after: 1 week Sponsored by: Chelsio Communications
|
#
740d722d |
| 27-May-2021 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Use correct argument in call to hashdestroy.
This fixes a panic on driver module unload.
Fixes: 24b98f288d11 cxgbe(4): Overhaul CLIP (Compressed Local IPv6) table management. MFC after: 2
cxgbe(4): Use correct argument in call to hashdestroy.
This fixes a panic on driver module unload.
Fixes: 24b98f288d11 cxgbe(4): Overhaul CLIP (Compressed Local IPv6) table management. MFC after: 2 weeks Sponsored by: Chelsio Communications
show more ...
|
#
24b98f28 |
| 23-May-2021 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Overhaul CLIP (Compressed Local IPv6) table management.
- Process the list of local IPs once instead of once per adapter. Add addresses from all VNETs to the driver's list but leave har
cxgbe(4): Overhaul CLIP (Compressed Local IPv6) table management.
- Process the list of local IPs once instead of once per adapter. Add addresses from all VNETs to the driver's list but leave hardware updates for later when the global VNET/IFADDR list locks have been released.
- Add address to the hardware table synchronously when a CLIP entry is requested for an address that's not already in there.
- Provide ioctls that allow userspace tools to manage addresses in the CLIP table.
- Add a knob (hw.cxgbe.clip_db_auto) that controls whether local IPs are automatically added to the CLIP table or not.
MFC after: 2 weeks Sponsored by: Chelsio Communications
show more ...
|
#
f4ba035b |
| 02-May-2021 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Use ifaddr_event_ext instead of ifaddr_event for CLIP management.
The _ext event notification includes the address being added/removed and that gives the driver an easy way to ignore non-I
cxgbe(4): Use ifaddr_event_ext instead of ifaddr_event for CLIP management.
The _ext event notification includes the address being added/removed and that gives the driver an easy way to ignore non-IPv6 addresses. Remove 'tom' from the handler's name while here, it was moved out of t4_tom a long time ago.
MFC after: 1 week Sponsored by: Chelsio Communications
show more ...
|
#
83b5cda1 |
| 28-Apr-2021 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Add support for NIC suspend/resume and live reset.
Add suspend/resume callbacks to the driver and a live reset built around them. This commit covers the basic NIC and future commits will
cxgbe(4): Add support for NIC suspend/resume and live reset.
Add suspend/resume callbacks to the driver and a live reset built around them. This commit covers the basic NIC and future commits will expand this functionality to other stateful parts of the chip. Suspend and resume operate on the chip (the t?nex nexus device) and affect all its ports. It is not possible to suspend/resume or reset individual ports. All these operations can be performed on a running NIC. A reset will look like a link bounce to the networking stack.
Here are some ways to exercise this functionality:
/* Manual suspend and resume. */ # devctl suspend t6nex0 # devctl resume t6nex0
/* Manual reset. */ # devctl reset t6nex0
/* Manual reset with driver sysctl. */ # sysctl dev.t6nex.0.reset=1
/* Automatic adapter reset on any fatal error. */ # hw.cxgbe.reset_on_fatal_err=1
Suspend disables the adapter (DMA, interrupts, and the port PHYs) and marks the hardware as unavailable to the driver. All ifnets associated with the adapter are still visible to the kernel but operations that require hardware interaction will fail with ENXIO. All ifnets report link-down while the adapter is suspended.
Resume will reattach to the card, reconfigure it as before, and recreate the queues servicing the existing ifnets. The ifnets are able to send and receive traffic as soon as the link comes back up.
Reset is roughly the same as a suspend and a resume with at least one of these events in between: D0->D3Hot->D0, FLR, PCIe link retrain.
MFC after: 1 month Relnotes: yes Sponsored by: Chelsio Communications
show more ...
|
#
45d5c284 |
| 12-Apr-2021 |
John Baldwin <jhb@FreeBSD.org> |
cxgbe: Ignore doomed virtual interfaces when updating the clip table.
A doomed VI does not have a valid ifnet.
Reported by: Jithesh Arakkan @ Chelsio Reviewed by: np MFC after: 1 week Sponsored by:
cxgbe: Ignore doomed virtual interfaces when updating the clip table.
A doomed VI does not have a valid ifnet.
Reported by: Jithesh Arakkan @ Chelsio Reviewed by: np MFC after: 1 week Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D29662
show more ...
|
Revision tags: release/13.0.0 |
|
#
15f33555 |
| 24-Mar-2021 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Allow a T6 adapter to switch between TOE and NIC TLS mode.
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 NIC TL
cxgbe(4): Allow a T6 adapter to switch between TOE and NIC TLS mode.
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 NIC TLS 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. 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 NIC TLS configuration. This allows the driver to switch the hardware between TOE and NIC TLS 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 Reviewed by: jhb@ Differential Revision: https://reviews.freebsd.org/D29291
show more ...
|
Revision tags: release/12.2.0, release/11.4.0 |
|
#
7a25fb99 |
| 13-Mar-2020 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Do not display error messages related to the CLIP table if it's not in use by TOE or KTLS.
Reviewed by: jhb@ MFC after: 1 week Sponsored by: Chelsio Communications Differential Revision: h
cxgbe(4): Do not display error messages related to the CLIP table if it's not in use by TOE or KTLS.
Reviewed by: jhb@ MFC after: 1 week Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24046
show more ...
|
Revision tags: release/12.1.0, release/11.3.0 |
|
#
37732870 |
| 19-Dec-2018 |
Navdeep Parhar <np@FreeBSD.org> |
cxgbe(4): Do not issue mbox commands after t4_fw_bye.
Sponsored by: Chelsio Communications
|
#
67350cb5 |
| 09-Dec-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r340918 through r341763.
|
Revision tags: release/12.0.0 |
|
#
31562c44 |
| 30-Nov-2018 |
John Baldwin <jhb@FreeBSD.org> |
Make most of the CLIP code conditional on #ifdef INET6.
This fixes builds of kernels without INET6 such as LINT-NOINET6.
Reported by: arybchik Reviewed by: np Sponsored by: Chelsio Communications D
Make most of the CLIP code conditional on #ifdef INET6.
This fixes builds of kernels without INET6 such as LINT-NOINET6.
Reported by: arybchik Reviewed by: np Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D18384
show more ...
|
#
78afed13 |
| 29-Nov-2018 |
John Baldwin <jhb@FreeBSD.org> |
Move CLIP table handling out of TOM and into the base driver.
- Store the clip table in 'struct adapter' instead of in the TOM softc. - Init the clip table during attach and teardown during detach.
Move CLIP table handling out of TOM and into the base driver.
- Store the clip table in 'struct adapter' instead of in the TOM softc. - Init the clip table during attach and teardown during detach. - While here, add a dev.<nexus>.<unit>.misc.clip sysctl to dump the CLIP table.
This does mean that we update the clip table even if TOE is not enabled, but non-TOE things need the CLIP table anyway.
Reviewed by: np, Krishnamraju Eraparaju @ Chelsio Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D18010
show more ...
|