HomeFreeBSD

cxgbe/t4_tom: Implement uld_stop and uld_restart for ULD_TOM.

Description

cxgbe/t4_tom: Implement uld_stop and uld_restart for ULD_TOM.

This allows the adapter to be suspended or reset even when stateful TOE is
active, in some limited configurations.

The LLD has already stopped the adapter hardware and all its queues by the time
these ULD routines get called. The general approach in t4_tom is to purge the
lookup tables immediately so that they are ready for operation by the time the
adapter resumes, and park all the resources left hanging by the stopped hardware
into separate "stranded" queues that can be dealt with at leisure.

Outstanding active opens, live connections, and synq entries (for connections in
the middle of the 3-way handshake) are all treated as if the hardware had
reported an abrupt error for the tid. The servers/listeners are a bit different
in that no error is reported. They're just noted as non-functional when the
hardware stops and are recreated by the driver during restart.

MFC after: 1 month
Sponsored by: Chelsio Communications

Details

Provenance
npAuthored on Jul 12 2024, 11:56 PM
Parents
rG283333c0e329: cxgbe/t4_tom: Track all synq entries in a per-adapter list.
Branches
Unknown
Tags
Unknown