mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 01:04:41 +01:00
docs: tls: Enhance TLS resync async process documentation
Expand the tls-offload.rst documentation to provide a more detailed explanation of the asynchronous resync process, including the role of struct tls_offload_resync_async in managing resync requests on the kernel side. Also, add documentation for helper functions tls_offload_rx_resync_async_request_start/ _end/ _cancel. Signed-off-by: Shahar Shitrit <shshitrit@nvidia.com> Signed-off-by: Tariq Toukan <tariqt@nvidia.com> Reviewed-by: Simon Horman <horms@kernel.org> Link: https://patch.msgid.link/1768298883-1602599-1-git-send-email-tariqt@nvidia.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
e8c6888e17
commit
8fc8071041
1 changed files with 30 additions and 0 deletions
|
|
@ -318,6 +318,36 @@ is restarted.
|
|||
When the header is matched the device sends a confirmation request
|
||||
to the kernel, asking if the guessed location is correct (if a TLS record
|
||||
really starts there), and which record sequence number the given header had.
|
||||
|
||||
The asynchronous resync process is coordinated on the kernel side using
|
||||
struct tls_offload_resync_async, which tracks and manages the resync request.
|
||||
|
||||
Helper functions to manage struct tls_offload_resync_async:
|
||||
|
||||
``tls_offload_rx_resync_async_request_start()``
|
||||
Initializes an asynchronous resync attempt by specifying the sequence range to
|
||||
monitor and resetting internal state in the struct.
|
||||
|
||||
``tls_offload_rx_resync_async_request_end()``
|
||||
Retains the device's guessed TCP sequence number for comparison with current or
|
||||
future logged ones. It also clears the RESYNC_REQ_ASYNC flag from the resync
|
||||
request, indicating that the device has submitted its guessed sequence number.
|
||||
|
||||
``tls_offload_rx_resync_async_request_cancel()``
|
||||
Cancels any in-progress resync attempt, clearing the request state.
|
||||
|
||||
When the kernel processes an RX segment that begins a new TLS record, it
|
||||
examines the current status of the asynchronous resynchronization request.
|
||||
|
||||
If the device is still waiting to provide its guessed TCP sequence number
|
||||
(the async state), the kernel records the sequence number of this segment so
|
||||
that it can later be compared once the device's guess becomes available.
|
||||
|
||||
If the device has already submitted its guessed sequence number (the non-async
|
||||
state), the kernel now tries to match that guess against the sequence numbers of
|
||||
all TLS record headers that have been logged since the resync request
|
||||
started.
|
||||
|
||||
The kernel confirms the guessed location was correct and tells the device
|
||||
the record sequence number. Meanwhile, the device had been parsing
|
||||
and counting all records since the just-confirmed one, it adds the number
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue