83a95df0 | 09-Nov-2020 |
Rohit Maheshwari <rohitm@chelsio.com> |
ch_ktls: stop the txq if reaches threshold
Stop the queue and ask for the credits if queue reaches to threashold.
Fixes: 5a4b9fe7fece ("cxgb4/chcr: complete record tx handling") Signed-off-by: Rohi
ch_ktls: stop the txq if reaches threshold
Stop the queue and ask for the credits if queue reaches to threashold.
Fixes: 5a4b9fe7fece ("cxgb4/chcr: complete record tx handling") Signed-off-by: Rohit Maheshwari <rohitm@chelsio.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
7d01c428 | 09-Nov-2020 |
Rohit Maheshwari <rohitm@chelsio.com> |
ch_ktls: tcb update fails sometimes
context id and port id should be filled while sending tcb update.
Fixes: 5a4b9fe7fece ("cxgb4/chcr: complete record tx handling") Signed-off-by: Rohit Maheshwari
ch_ktls: tcb update fails sometimes
context id and port id should be filled while sending tcb update.
Fixes: 5a4b9fe7fece ("cxgb4/chcr: complete record tx handling") Signed-off-by: Rohit Maheshwari <rohitm@chelsio.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
21f82acb | 09-Nov-2020 |
Rohit Maheshwari <rohitm@chelsio.com> |
ch_ktls/cxgb4: handle partial tag alone SKBs
If TCP congestion caused a very small packets which only has some part fo the TAG, and that too is not till the end. HW can't handle such case, so fallin
ch_ktls/cxgb4: handle partial tag alone SKBs
If TCP congestion caused a very small packets which only has some part fo the TAG, and that too is not till the end. HW can't handle such case, so falling back to sw crypto in such cases.
v1->v2: - Marked chcr_ktls_sw_fallback() static.
Fixes: dc05f3df8fac ("chcr: Handle first or middle part of record") Signed-off-by: Rohit Maheshwari <rohitm@chelsio.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
659bf038 | 09-Nov-2020 |
Rohit Maheshwari <rohitm@chelsio.com> |
ch_ktls: don't free skb before sending FIN
If its a last packet and fin is set. Make sure FIN is informed to HW before skb gets freed.
Fixes: 429765a149f1 ("chcr: handle partial end part of a recor
ch_ktls: don't free skb before sending FIN
If its a last packet and fin is set. Make sure FIN is informed to HW before skb gets freed.
Fixes: 429765a149f1 ("chcr: handle partial end part of a record") Signed-off-by: Rohit Maheshwari <rohitm@chelsio.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
9478e083 | 09-Nov-2020 |
Rohit Maheshwari <rohitm@chelsio.com> |
ch_ktls: packet handling prior to start marker
There could be a case where ACK for tls exchanges prior to start marker is missed out, and by the time tls is offloaded. This pkt should not be discard
ch_ktls: packet handling prior to start marker
There could be a case where ACK for tls exchanges prior to start marker is missed out, and by the time tls is offloaded. This pkt should not be discarded and handled carefully. It could be plaintext alone or plaintext + finish as well.
Fixes: 5a4b9fe7fece ("cxgb4/chcr: complete record tx handling") Signed-off-by: Rohit Maheshwari <rohitm@chelsio.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
63ee4591 | 09-Nov-2020 |
Rohit Maheshwari <rohitm@chelsio.com> |
ch_ktls: Correction in middle record handling
If a record starts in middle, reset TCB UNA so that we could avoid sending out extra packet which is needed to make it 16 byte aligned to start AES CTR.
ch_ktls: Correction in middle record handling
If a record starts in middle, reset TCB UNA so that we could avoid sending out extra packet which is needed to make it 16 byte aligned to start AES CTR. Check also considers prev_seq, which should be what is actually sent, not the skb data length. Avoid updating partial TAG to HW at any point of time, that's why we need to check if remaining part is smaller than TAG size, then reset TX_MAX to be TAG starting sequence number.
Fixes: 5a4b9fe7fece ("cxgb4/chcr: complete record tx handling") Signed-off-by: Rohit Maheshwari <rohitm@chelsio.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
83deb094 | 09-Nov-2020 |
Rohit Maheshwari <rohitm@chelsio.com> |
ch_ktls: missing handling of header alone
If an skb has only header part which doesn't start from beginning, is not being handled properly.
Fixes: dc05f3df8fac ("chcr: Handle first or middle part o
ch_ktls: missing handling of header alone
If an skb has only header part which doesn't start from beginning, is not being handled properly.
Fixes: dc05f3df8fac ("chcr: Handle first or middle part of record") Signed-off-by: Rohit Maheshwari <rohitm@chelsio.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
c68a28a9 | 09-Nov-2020 |
Rohit Maheshwari <rohitm@chelsio.com> |
ch_ktls: Correction in trimmed_len calculation
trimmed length calculation goes wrong if skb has only tag part to send. It should be zero if there is no data bytes apart from TAG.
Fixes: dc05f3df8fa
ch_ktls: Correction in trimmed_len calculation
trimmed length calculation goes wrong if skb has only tag part to send. It should be zero if there is no data bytes apart from TAG.
Fixes: dc05f3df8fac ("chcr: Handle first or middle part of record") Signed-off-by: Rohit Maheshwari <rohitm@chelsio.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
687823d2 | 09-Nov-2020 |
Rohit Maheshwari <rohitm@chelsio.com> |
cxgb4/ch_ktls: creating skbs causes panic
Creating SKB per tls record and freeing the original one causes panic. There will be race if connection reset is requested. By freeing original skb, refcnt
cxgb4/ch_ktls: creating skbs causes panic
Creating SKB per tls record and freeing the original one causes panic. There will be race if connection reset is requested. By freeing original skb, refcnt will be decremented and that means, there is no pending record to send, and so tls_dev_del will be requested in control path while SKB of related connection is in queue. Better approach is to use same SKB to send one record (partial data) at a time. We still have to create a new SKB when partial last part of a record is requested. This fix introduces new API cxgb4_write_partial_sgl() to send partial part of skb. Present cxgb4_write_sgl can only provide feasibility to start from an offset which limits to header only and it can write sgls for the whole skb len. But this new API will help in both. It can start from any offset and can end writing in middle of the skb.
v4->v5: - Removed extra changes.
Fixes: 429765a149f1 ("chcr: handle partial end part of a record") Signed-off-by: Rohit Maheshwari <rohitm@chelsio.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
86716b51 | 09-Nov-2020 |
Rohit Maheshwari <rohitm@chelsio.com> |
ch_ktls: Update cheksum information
Checksum update was missing in the WR.
Fixes: 429765a149f1 ("chcr: handle partial end part of a record") Signed-off-by: Rohit Maheshwari <rohitm@chelsio.com> Sig
ch_ktls: Update cheksum information
Checksum update was missing in the WR.
Fixes: 429765a149f1 ("chcr: handle partial end part of a record") Signed-off-by: Rohit Maheshwari <rohitm@chelsio.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
b1b5cb18 | 09-Nov-2020 |
Rohit Maheshwari <rohitm@chelsio.com> |
ch_ktls: Correction in finding correct length
There is a possibility of linear skbs coming in. Correcting the length extraction logic.
v2->v3: - Separated un-related changes from this patch.
Fixes
ch_ktls: Correction in finding correct length
There is a possibility of linear skbs coming in. Correcting the length extraction logic.
v2->v3: - Separated un-related changes from this patch.
Fixes: 5a4b9fe7fece ("cxgb4/chcr: complete record tx handling") Signed-off-by: Rohit Maheshwari <rohitm@chelsio.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
dbfe394d | 02-Nov-2020 |
Vinay Kumar Yadav <vinay.yadav@chelsio.com> |
chelsio/chtls: fix always leaking ctrl_skb
Correct skb refcount in alloc_ctrl_skb(), causing skb memleak when chtls_send_abort() called with NULL skb. it was always leaking the skb, correct it by in
chelsio/chtls: fix always leaking ctrl_skb
Correct skb refcount in alloc_ctrl_skb(), causing skb memleak when chtls_send_abort() called with NULL skb. it was always leaking the skb, correct it by incrementing skb refs by one.
Fixes: cc35c88ae4db ("crypto : chtls - CPL handler definition") Signed-off-by: Vinay Kumar Yadav <vinay.yadav@chelsio.com> Link: https://lore.kernel.org/r/20201102173909.24826-1-vinay.yadav@chelsio.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|