git: 39b724b72775 - stable/13 - cxgbe TOE TLS: Fix handling of unusual record types.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 25 Aug 2022 17:31:34 UTC
The branch stable/13 has been updated by jhb:
URL: https://cgit.FreeBSD.org/src/commit/?id=39b724b72775bcb328ac1c220c67b288ff6f6aee
commit 39b724b72775bcb328ac1c220c67b288ff6f6aee
Author: John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2022-08-08 18:21:54 +0000
Commit: John Baldwin <jhb@FreeBSD.org>
CommitDate: 2022-08-25 16:33:04 +0000
cxgbe TOE TLS: Fix handling of unusual record types.
This doesn't matter for real traffic but fixes failures in the KTLS
unit tests that use unusual record types.
Sponsored by: Chelsio Communications
(cherry picked from commit 782db2881b6b9c8460f7f311e0e4bbbab36eb88a)
---
sys/dev/cxgbe/tom/t4_tls.c | 14 +++++---------
sys/dev/cxgbe/tom/t4_tls.h | 2 +-
2 files changed, 6 insertions(+), 10 deletions(-)
diff --git a/sys/dev/cxgbe/tom/t4_tls.c b/sys/dev/cxgbe/tom/t4_tls.c
index 97bf3a016fb2..0a97d020eb94 100644
--- a/sys/dev/cxgbe/tom/t4_tls.c
+++ b/sys/dev/cxgbe/tom/t4_tls.c
@@ -268,11 +268,6 @@ tls_copy_tx_key(struct toepcb *toep, void *dst)
static inline unsigned char
tls_content_type(unsigned char content_type)
{
- /*
- * XXX: Shouldn't this map CONTENT_TYPE_APP_DATA to DATA and
- * default to "CUSTOM" for all other types including
- * heartbeat?
- */
switch (content_type) {
case CONTENT_TYPE_CCS:
return CPL_TX_TLS_SFO_TYPE_CCS;
@@ -280,10 +275,11 @@ tls_content_type(unsigned char content_type)
return CPL_TX_TLS_SFO_TYPE_ALERT;
case CONTENT_TYPE_HANDSHAKE:
return CPL_TX_TLS_SFO_TYPE_HANDSHAKE;
- case CONTENT_TYPE_HEARTBEAT:
- return CPL_TX_TLS_SFO_TYPE_HEARTBEAT;
+ case CONTENT_TYPE_APP_DATA:
+ return CPL_TX_TLS_SFO_TYPE_DATA;
+ default:
+ return CPL_TX_TLS_SFO_TYPE_CUSTOM;
}
- return CPL_TX_TLS_SFO_TYPE_DATA;
}
static unsigned char
@@ -1277,7 +1273,7 @@ write_tlstx_cpl(struct cpl_tx_tls_sfo *cpl, struct toepcb *toep,
V_CPL_TX_TLS_SFO_DATA_TYPE(data_type) |
V_CPL_TX_TLS_SFO_CPL_LEN(2) | V_CPL_TX_TLS_SFO_SEG_LEN(seglen));
cpl->pld_len = htobe32(plen);
- if (data_type == CPL_TX_TLS_SFO_TYPE_HEARTBEAT)
+ if (data_type == CPL_TX_TLS_SFO_TYPE_CUSTOM)
cpl->type_protover = htobe32(
V_CPL_TX_TLS_SFO_TYPE(tls_hdr->type));
cpl->seqno_numivs = htobe32(tls_ofld->scmd0.seqno_numivs |
diff --git a/sys/dev/cxgbe/tom/t4_tls.h b/sys/dev/cxgbe/tom/t4_tls.h
index 37266206c31f..1950e6f927da 100644
--- a/sys/dev/cxgbe/tom/t4_tls.h
+++ b/sys/dev/cxgbe/tom/t4_tls.h
@@ -230,7 +230,7 @@ enum {
CPL_TX_TLS_SFO_TYPE_ALERT,
CPL_TX_TLS_SFO_TYPE_HANDSHAKE,
CPL_TX_TLS_SFO_TYPE_DATA,
- CPL_TX_TLS_SFO_TYPE_HEARTBEAT, /* XXX: Shouldn't this be "CUSTOM"? */
+ CPL_TX_TLS_SFO_TYPE_CUSTOM,
};
enum {