diff options
author | Rohit Maheshwari <rohitm@chelsio.com> | 2020-03-07 15:36:05 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-03-09 05:16:23 +0100 |
commit | 5a4b9fe7fece62ecab6fb28fe92362f83b41c33e (patch) | |
tree | 2c7d7dae74fe96071650099bb131d92609781cd1 /drivers/crypto/chelsio/chcr_ktls.h | |
parent | cxgb4/chcr: Save tx keys and handle HW response (diff) | |
download | linux-5a4b9fe7fece62ecab6fb28fe92362f83b41c33e.tar.xz linux-5a4b9fe7fece62ecab6fb28fe92362f83b41c33e.zip |
cxgb4/chcr: complete record tx handling
Added tx handling in this patch. This includes handling of segments
contain single complete record.
v1->v2:
- chcr_write_cpl_set_tcb_ulp is added in this patch.
v3->v4:
- mss calculation logic.
- replaced kfree_skb with dev_kfree_skb_any.
- corrected error message reported by kbuild test robot <lkp@intel.com>
Signed-off-by: Rohit Maheshwari <rohitm@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/crypto/chelsio/chcr_ktls.h')
-rw-r--r-- | drivers/crypto/chelsio/chcr_ktls.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/crypto/chelsio/chcr_ktls.h b/drivers/crypto/chelsio/chcr_ktls.h index 15e79bdfb13c..df54b210324d 100644 --- a/drivers/crypto/chelsio/chcr_ktls.h +++ b/drivers/crypto/chelsio/chcr_ktls.h @@ -15,6 +15,13 @@ #define CHCR_TCB_STATE_CLOSED 0 #define CHCR_KTLS_KEY_CTX_LEN 16 #define CHCR_SET_TCB_FIELD_LEN sizeof(struct cpl_set_tcb_field) +#define CHCR_PLAIN_TX_DATA_LEN (sizeof(struct fw_ulptx_wr) +\ + sizeof(struct ulp_txpkt) +\ + sizeof(struct ulptx_idata) +\ + sizeof(struct cpl_tx_data)) + +#define CHCR_KTLS_WR_SIZE (CHCR_PLAIN_TX_DATA_LEN +\ + sizeof(struct cpl_tx_sec_pdu)) enum chcr_ktls_conn_state { KTLS_CONN_CLOSED, @@ -39,14 +46,19 @@ struct chcr_ktls_info { int rx_qid; u32 iv_size; u32 prev_seq; + u32 prev_ack; u32 salt_size; u32 key_ctx_len; + u32 scmd0_seqno_numivs; + u32 scmd0_ivgen_hdrlen; u32 tcp_start_seq_number; enum chcr_ktls_conn_state connection_state; + u16 prev_win; u8 tx_chan; u8 smt_idx; u8 port_id; u8 ip_family; + u8 first_qset; }; struct chcr_ktls_ofld_ctx_tx { @@ -78,5 +90,6 @@ void chcr_enable_ktls(struct adapter *adap); void chcr_disable_ktls(struct adapter *adap); int chcr_ktls_cpl_act_open_rpl(struct adapter *adap, unsigned char *input); int chcr_ktls_cpl_set_tcb_rpl(struct adapter *adap, unsigned char *input); +int chcr_ktls_xmit(struct sk_buff *skb, struct net_device *dev); #endif /* CONFIG_CHELSIO_TLS_DEVICE */ #endif /* __CHCR_KTLS_H__ */ |