From: Rohit Maheshwari <rohitm@chelsio.com>
To: kuba@kernel.org, netdev@vger.kernel.org, davem@davemloft.net
Cc: secdev@chelsio.com, Rohit Maheshwari <rohitm@chelsio.com>
Subject: [net v6 00/12] cxgb4/ch_ktls: Fixes in nic tls code
Date: Mon, 9 Nov 2020 16:21:30 +0530 [thread overview]
Message-ID: <20201109105142.15398-1-rohitm@chelsio.com> (raw)
This series helps in fixing multiple nic ktls issues. Series is broken
into 12 patches.
Patch 1 avoids deciding tls packet based on decrypted bit. If its a
retransmit packet which has tls handshake and finish (for encryption),
decrypted bit won't be set there, and so we can't rely on decrypted
bit.
Patch 2 helps supporting linear skb. SKBs were assumed non-linear.
Corrected the length extraction.
Patch 3 fixes the checksum offload update in WR.
Patch 4 fixes kernel panic happening due to creating new skb for each
record. As part of fix driver will use same skb to send out one tls
record (partial data) of the same SKB.
Patch 5 fixes the problem of skb data length smaller than remaining data
of the record.
Patch 6 fixes the handling of SKBs which has tls header alone pkt, but
not starting from beginning.
Patch 7 avoids sending extra data which is used to make a record 16 byte
aligned. We don't need to retransmit those extra few bytes.
Patch 8 handles the cases where retransmit packet has tls starting
exchanges which are prior to tls start marker.
Patch 9 fixes the problem os skb free before HW knows about tcp FIN.
Patch 10 handles the small packet case which has partial TAG bytes only.
HW can't handle those, hence using sw crypto for such pkts.
Patch 11 corrects the potential tcb update problem.
Patch 12 stops the queue if queue reaches threshold value.
v1->v2:
- Corrected fixes tag issue.
- Marked chcr_ktls_sw_fallback() static.
v2->v3:
- Replaced GFP_KERNEL with GFP_ATOMIC.
- Removed mixed fixes.
v3->v4:
- Corrected fixes tag issue.
v4->v5:
- Separated mixed fixes from patch 4.
v5-v6:
- Fixes tag should be at the end.
Rohit Maheshwari (12):
cxgb4/ch_ktls: decrypted bit is not enough
ch_ktls: Correction in finding correct length
ch_ktls: Update cheksum information
cxgb4/ch_ktls: creating skbs causes panic
ch_ktls: Correction in trimmed_len calculation
ch_ktls: missing handling of header alone
ch_ktls: Correction in middle record handling
ch_ktls: packet handling prior to start marker
ch_ktls: don't free skb before sending FIN
ch_ktls/cxgb4: handle partial tag alone SKBs
ch_ktls: tcb update fails sometimes
ch_ktls: stop the txq if reaches threshold
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h | 3 +
.../ethernet/chelsio/cxgb4/cxgb4_debugfs.c | 2 +
.../net/ethernet/chelsio/cxgb4/cxgb4_main.c | 1 +
.../net/ethernet/chelsio/cxgb4/cxgb4_uld.h | 6 +
drivers/net/ethernet/chelsio/cxgb4/sge.c | 111 +++-
.../chelsio/inline_crypto/ch_ktls/chcr_ktls.c | 582 +++++++++++-------
.../chelsio/inline_crypto/ch_ktls/chcr_ktls.h | 1 +
7 files changed, 478 insertions(+), 228 deletions(-)
--
2.18.1
next reply other threads:[~2020-11-09 10:52 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-09 10:51 Rohit Maheshwari [this message]
2020-11-09 10:51 ` [net v6 01/12] cxgb4/ch_ktls: decrypted bit is not enough Rohit Maheshwari
2020-11-09 10:51 ` [net v6 02/12] ch_ktls: Correction in finding correct length Rohit Maheshwari
2020-11-09 10:51 ` [net v6 03/12] ch_ktls: Update cheksum information Rohit Maheshwari
2020-11-09 10:51 ` [net v6 04/12] cxgb4/ch_ktls: creating skbs causes panic Rohit Maheshwari
2020-11-09 10:51 ` [net v6 05/12] ch_ktls: Correction in trimmed_len calculation Rohit Maheshwari
2020-11-09 10:51 ` [net v6 06/12] ch_ktls: missing handling of header alone Rohit Maheshwari
2020-11-09 10:51 ` [net v6 07/12] ch_ktls: Correction in middle record handling Rohit Maheshwari
2020-11-09 10:51 ` [net v6 08/12] ch_ktls: packet handling prior to start marker Rohit Maheshwari
2020-11-09 10:51 ` [net v6 09/12] ch_ktls: don't free skb before sending FIN Rohit Maheshwari
2020-11-09 10:51 ` [net v6 10/12] ch_ktls/cxgb4: handle partial tag alone SKBs Rohit Maheshwari
2020-11-09 10:51 ` [net v6 11/12] ch_ktls: tcb update fails sometimes Rohit Maheshwari
2020-11-09 10:51 ` [net v6 12/12] ch_ktls: stop the txq if reaches threshold Rohit Maheshwari
2020-11-12 0:37 ` [net v6 00/12] cxgb4/ch_ktls: Fixes in nic tls code Jakub Kicinski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201109105142.15398-1-rohitm@chelsio.com \
--to=rohitm@chelsio.com \
--cc=davem@davemloft.net \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=secdev@chelsio.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.