git: 782db2881b6b - main - cxgbe TOE TLS: Fix handling of unusual record types.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 08 Aug 2022 18:22:25 UTC
The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=782db2881b6b9c8460f7f311e0e4bbbab36eb88a commit 782db2881b6b9c8460f7f311e0e4bbbab36eb88a Author: John Baldwin <jhb@FreeBSD.org> AuthorDate: 2022-08-08 18:21:54 +0000 Commit: John Baldwin <jhb@FreeBSD.org> CommitDate: 2022-08-08 18:21:54 +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 --- 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 deb0c76836e4..447943b5b9db 100644 --- a/sys/dev/cxgbe/tom/t4_tls.c +++ b/sys/dev/cxgbe/tom/t4_tls.c @@ -129,11 +129,6 @@ tls_clr_ofld_mode(struct toepcb *toep) 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; @@ -141,10 +136,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; } /* TLS Key memory management */ @@ -545,7 +541,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 b5b25dd3c6d8..51bf566091e7 100644 --- a/sys/dev/cxgbe/tom/t4_tls.h +++ b/sys/dev/cxgbe/tom/t4_tls.h @@ -63,7 +63,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, }; struct tls_scmd {