]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC 366955: Handle CPL_RX_DATA on active TLS sockets.
authorJohn Baldwin <jhb@FreeBSD.org>
Sat, 12 Dec 2020 17:04:54 +0000 (17:04 +0000)
committerJohn Baldwin <jhb@FreeBSD.org>
Sat, 12 Dec 2020 17:04:54 +0000 (17:04 +0000)
commitba74b2ef4a4fedd0e4ac8fdda8a1bae324ecc6d2
tree0d850b0a2dc08e6291502b9d683131bb872cf0e1
parentd41804188ce371ccc2286ef531321def9fae7c6b
MFC 366955: Handle CPL_RX_DATA on active TLS sockets.

In certain edge cases, the NIC might have only received a partial TLS
record which it needs to return to the driver.  For example, if the
local socket was closed while data was still in flight, a partial TLS
record might be pending when the connection is closed.  Receiving a
RST in the middle of a TLS record is another example.  When this
happens, the firmware returns the the partial TLS record as plain TCP
data via CPL_RX_DATA.  Handle these requests by returning an error to
OpenSSL (via so_error for KTLS or via an error TLS record header for
the older Chelsio OpenSSL interface).
sys/dev/cxgbe/tom/t4_cpl_io.c
sys/dev/cxgbe/tom/t4_tls.c
sys/dev/cxgbe/tom/t4_tom.h