Skip to content

Commit a8c16e8

Browse files
rmchelsiodavem330
authored andcommitted
crypto/chcr: move nic TLS functionality to drivers/net
This patch moves complete nic tls offload (kTLS) code from crypto directory to drivers/net/ethernet/chelsio/inline_crypto/ch_ktls directory. nic TLS is made a separate ULD of cxgb4. Signed-off-by: Rohit Maheshwari <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 6b5525c commit a8c16e8

File tree

17 files changed

+243
-172
lines changed

17 files changed

+243
-172
lines changed

drivers/crypto/chelsio/Kconfig

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,3 @@ config CRYPTO_DEV_CHELSIO
2121

2222
To compile this driver as a module, choose M here: the module
2323
will be called chcr.
24-
25-
config CHELSIO_TLS_DEVICE
26-
bool "Chelsio Inline KTLS Offload"
27-
depends on CHELSIO_T4
28-
depends on TLS_DEVICE
29-
select CRYPTO_DEV_CHELSIO
30-
default y
31-
help
32-
This flag enables support for kernel tls offload over Chelsio T6
33-
crypto accelerator. CONFIG_CHELSIO_TLS_DEVICE flag can be enabled
34-
only if CONFIG_TLS and CONFIG_TLS_DEVICE flags are enabled.

drivers/crypto/chelsio/Makefile

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,3 @@ ccflags-y := -I $(srctree)/drivers/net/ethernet/chelsio/cxgb4
33

44
obj-$(CONFIG_CRYPTO_DEV_CHELSIO) += chcr.o
55
chcr-objs := chcr_core.o chcr_algo.o
6-
#ifdef CONFIG_CHELSIO_TLS_DEVICE
7-
chcr-objs += chcr_ktls.o
8-
#endif

drivers/crypto/chelsio/chcr_core.c

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,8 @@ static int cpl_fw6_pld_handler(struct adapter *adap, unsigned char *input);
3333
static void *chcr_uld_add(const struct cxgb4_lld_info *lld);
3434
static int chcr_uld_state_change(void *handle, enum cxgb4_state state);
3535

36-
#if defined(CONFIG_CHELSIO_TLS_DEVICE)
37-
static const struct tlsdev_ops chcr_ktls_ops = {
38-
.tls_dev_add = chcr_ktls_dev_add,
39-
.tls_dev_del = chcr_ktls_dev_del,
40-
};
41-
#endif
42-
4336
static chcr_handler_func work_handlers[NUM_CPL_CMDS] = {
4437
[CPL_FW6_PLD] = cpl_fw6_pld_handler,
45-
#ifdef CONFIG_CHELSIO_TLS_DEVICE
46-
[CPL_ACT_OPEN_RPL] = chcr_ktls_cpl_act_open_rpl,
47-
[CPL_SET_TCB_RPL] = chcr_ktls_cpl_set_tcb_rpl,
48-
#endif
4938
};
5039

5140
static struct cxgb4_uld_info chcr_uld_info = {
@@ -56,10 +45,6 @@ static struct cxgb4_uld_info chcr_uld_info = {
5645
.add = chcr_uld_add,
5746
.state_change = chcr_uld_state_change,
5847
.rx_handler = chcr_uld_rx_handler,
59-
#if defined(CONFIG_CHELSIO_TLS_DEVICE)
60-
.tx_handler = chcr_uld_tx_handler,
61-
.tlsdev_ops = &chcr_ktls_ops,
62-
#endif
6348
};
6449

6550
static void detach_work_fn(struct work_struct *work)
@@ -235,15 +220,6 @@ int chcr_uld_rx_handler(void *handle, const __be64 *rsp,
235220
return 0;
236221
}
237222

238-
#if defined(CONFIG_CHELSIO_TLS_DEVICE)
239-
int chcr_uld_tx_handler(struct sk_buff *skb, struct net_device *dev)
240-
{
241-
if (skb->decrypted)
242-
return chcr_ktls_xmit(skb, dev);
243-
return 0;
244-
}
245-
#endif /* CONFIG_CHELSIO_IPSEC_INLINE || CONFIG_CHELSIO_TLS_DEVICE */
246-
247223
static void chcr_detach_device(struct uld_ctx *u_ctx)
248224
{
249225
struct chcr_dev *dev = &u_ctx->dev;

drivers/crypto/chelsio/chcr_core.h

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -139,16 +139,4 @@ int chcr_handle_resp(struct crypto_async_request *req, unsigned char *input,
139139
int err);
140140
int chcr_ipsec_xmit(struct sk_buff *skb, struct net_device *dev);
141141
void chcr_add_xfrmops(const struct cxgb4_lld_info *lld);
142-
#ifdef CONFIG_CHELSIO_TLS_DEVICE
143-
int chcr_ktls_cpl_act_open_rpl(struct adapter *adap, unsigned char *input);
144-
int chcr_ktls_cpl_set_tcb_rpl(struct adapter *adap, unsigned char *input);
145-
int chcr_ktls_xmit(struct sk_buff *skb, struct net_device *dev);
146-
extern int chcr_ktls_dev_add(struct net_device *netdev, struct sock *sk,
147-
enum tls_offload_ctx_dir direction,
148-
struct tls_crypto_info *crypto_info,
149-
u32 start_offload_tcp_sn);
150-
extern void chcr_ktls_dev_del(struct net_device *netdev,
151-
struct tls_context *tls_ctx,
152-
enum tls_offload_ctx_dir direction);
153-
#endif
154142
#endif /* __CHCR_CORE_H__ */

drivers/net/ethernet/chelsio/cxgb4/cxgb4.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1201,6 +1201,9 @@ struct adapter {
12011201
struct cxgb4_tc_u32_table *tc_u32;
12021202
struct chcr_ktls chcr_ktls;
12031203
struct chcr_stats_debug chcr_stats;
1204+
#if IS_ENABLED(CONFIG_CHELSIO_TLS_DEVICE)
1205+
struct ch_ktls_stats_debug ch_ktls_stats;
1206+
#endif
12041207
#if IS_ENABLED(CONFIG_CHELSIO_IPSEC_INLINE)
12051208
struct ch_ipsec_stats_debug ch_ipsec_stats;
12061209
#endif
@@ -2177,7 +2180,7 @@ void cxgb4_enable_rx(struct adapter *adap, struct sge_rspq *q);
21772180
void cxgb4_quiesce_rx(struct sge_rspq *q);
21782181
int cxgb4_port_mirror_alloc(struct net_device *dev);
21792182
void cxgb4_port_mirror_free(struct net_device *dev);
2180-
#ifdef CONFIG_CHELSIO_TLS_DEVICE
2183+
#if IS_ENABLED(CONFIG_CHELSIO_TLS_DEVICE)
21812184
int cxgb4_set_ktls_feature(struct adapter *adap, bool enable);
21822185
#endif
21832186
#endif /* __CXGB4_H__ */

drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3553,44 +3553,43 @@ static int chcr_stats_show(struct seq_file *seq, void *v)
35533553
seq_printf(seq, "IPSec PDU: %10u\n",
35543554
atomic_read(&adap->ch_ipsec_stats.ipsec_cnt));
35553555
#endif
3556-
#ifdef CONFIG_CHELSIO_TLS_DEVICE
3556+
#if IS_ENABLED(CONFIG_CHELSIO_TLS_DEVICE)
35573557
seq_puts(seq, "\nChelsio KTLS Crypto Accelerator Stats\n");
35583558
seq_printf(seq, "Tx TLS offload refcount: %20u\n",
35593559
refcount_read(&adap->chcr_ktls.ktls_refcount));
35603560
seq_printf(seq, "Tx HW offload contexts added: %20llu\n",
3561-
atomic64_read(&adap->chcr_stats.ktls_tx_ctx));
3561+
atomic64_read(&adap->ch_ktls_stats.ktls_tx_ctx));
35623562
seq_printf(seq, "Tx connection created: %20llu\n",
3563-
atomic64_read(&adap->chcr_stats.ktls_tx_connection_open));
3563+
atomic64_read(&adap->ch_ktls_stats.ktls_tx_connection_open));
35643564
seq_printf(seq, "Tx connection failed: %20llu\n",
3565-
atomic64_read(&adap->chcr_stats.ktls_tx_connection_fail));
3565+
atomic64_read(&adap->ch_ktls_stats.ktls_tx_connection_fail));
35663566
seq_printf(seq, "Tx connection closed: %20llu\n",
3567-
atomic64_read(&adap->chcr_stats.ktls_tx_connection_close));
3567+
atomic64_read(&adap->ch_ktls_stats.ktls_tx_connection_close));
35683568
seq_printf(seq, "Packets passed for encryption : %20llu\n",
3569-
atomic64_read(&adap->chcr_stats.ktls_tx_encrypted_packets));
3569+
atomic64_read(&adap->ch_ktls_stats.ktls_tx_encrypted_packets));
35703570
seq_printf(seq, "Bytes passed for encryption : %20llu\n",
3571-
atomic64_read(&adap->chcr_stats.ktls_tx_encrypted_bytes));
3571+
atomic64_read(&adap->ch_ktls_stats.ktls_tx_encrypted_bytes));
35723572
seq_printf(seq, "Tx records send: %20llu\n",
3573-
atomic64_read(&adap->chcr_stats.ktls_tx_send_records));
3573+
atomic64_read(&adap->ch_ktls_stats.ktls_tx_send_records));
35743574
seq_printf(seq, "Tx partial start of records: %20llu\n",
3575-
atomic64_read(&adap->chcr_stats.ktls_tx_start_pkts));
3575+
atomic64_read(&adap->ch_ktls_stats.ktls_tx_start_pkts));
35763576
seq_printf(seq, "Tx partial middle of records: %20llu\n",
3577-
atomic64_read(&adap->chcr_stats.ktls_tx_middle_pkts));
3577+
atomic64_read(&adap->ch_ktls_stats.ktls_tx_middle_pkts));
35783578
seq_printf(seq, "Tx partial end of record: %20llu\n",
3579-
atomic64_read(&adap->chcr_stats.ktls_tx_end_pkts));
3579+
atomic64_read(&adap->ch_ktls_stats.ktls_tx_end_pkts));
35803580
seq_printf(seq, "Tx complete records: %20llu\n",
3581-
atomic64_read(&adap->chcr_stats.ktls_tx_complete_pkts));
3581+
atomic64_read(&adap->ch_ktls_stats.ktls_tx_complete_pkts));
35823582
seq_printf(seq, "TX trim pkts : %20llu\n",
3583-
atomic64_read(&adap->chcr_stats.ktls_tx_trimmed_pkts));
3583+
atomic64_read(&adap->ch_ktls_stats.ktls_tx_trimmed_pkts));
35843584
seq_printf(seq, "Tx out of order packets: %20llu\n",
3585-
atomic64_read(&adap->chcr_stats.ktls_tx_ooo));
3585+
atomic64_read(&adap->ch_ktls_stats.ktls_tx_ooo));
35863586
seq_printf(seq, "Tx drop pkts before HW offload: %20llu\n",
3587-
atomic64_read(&adap->chcr_stats.ktls_tx_skip_no_sync_data));
3587+
atomic64_read(&adap->ch_ktls_stats.ktls_tx_skip_no_sync_data));
35883588
seq_printf(seq, "Tx drop not synced packets: %20llu\n",
3589-
atomic64_read(&adap->chcr_stats.ktls_tx_drop_no_sync_data));
3589+
atomic64_read(&adap->ch_ktls_stats.ktls_tx_drop_no_sync_data));
35903590
seq_printf(seq, "Tx drop bypass req: %20llu\n",
3591-
atomic64_read(&adap->chcr_stats.ktls_tx_drop_bypass_req));
3591+
atomic64_read(&adap->ch_ktls_stats.ktls_tx_drop_bypass_req));
35923592
#endif
3593-
35943593
return 0;
35953594
}
35963595
DEFINE_SHOW_ATTRIBUTE(chcr_stats);

drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ static char adapter_stats_strings[][ETH_GSTRING_LEN] = {
125125
"db_empty ",
126126
"write_coal_success ",
127127
"write_coal_fail ",
128-
#ifdef CONFIG_CHELSIO_TLS_DEVICE
128+
#if IS_ENABLED(CONFIG_CHELSIO_TLS_DEVICE)
129129
"tx_tls_encrypted_packets",
130130
"tx_tls_encrypted_bytes ",
131131
"tx_tls_ctx ",
@@ -265,7 +265,7 @@ struct adapter_stats {
265265
u64 db_empty;
266266
u64 wc_success;
267267
u64 wc_fail;
268-
#ifdef CONFIG_CHELSIO_TLS_DEVICE
268+
#if IS_ENABLED(CONFIG_CHELSIO_TLS_DEVICE)
269269
u64 tx_tls_encrypted_packets;
270270
u64 tx_tls_encrypted_bytes;
271271
u64 tx_tls_ctx;

drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666
#include <linux/crash_dump.h>
6767
#include <net/udp_tunnel.h>
6868
#include <net/xfrm.h>
69-
#if defined(CONFIG_CHELSIO_TLS_DEVICE)
69+
#if IS_ENABLED(CONFIG_CHELSIO_TLS_DEVICE)
7070
#include <net/tls.h>
7171
#endif
7272

@@ -6396,21 +6396,21 @@ static int cxgb4_iov_configure(struct pci_dev *pdev, int num_vfs)
63966396
}
63976397
#endif /* CONFIG_PCI_IOV */
63986398

6399-
#if defined(CONFIG_CHELSIO_TLS_DEVICE) || IS_ENABLED(CONFIG_CHELSIO_IPSEC_INLINE)
6399+
#if IS_ENABLED(CONFIG_CHELSIO_TLS_DEVICE) || IS_ENABLED(CONFIG_CHELSIO_IPSEC_INLINE)
64006400

64016401
static int chcr_offload_state(struct adapter *adap,
64026402
enum cxgb4_netdev_tls_ops op_val)
64036403
{
64046404
switch (op_val) {
6405-
#if defined(CONFIG_CHELSIO_TLS_DEVICE)
6405+
#if IS_ENABLED(CONFIG_CHELSIO_TLS_DEVICE)
64066406
case CXGB4_TLSDEV_OPS:
6407-
if (!adap->uld[CXGB4_ULD_CRYPTO].handle) {
6408-
dev_dbg(adap->pdev_dev, "chcr driver is not loaded\n");
6407+
if (!adap->uld[CXGB4_ULD_KTLS].handle) {
6408+
dev_dbg(adap->pdev_dev, "ch_ktls driver is not loaded\n");
64096409
return -EOPNOTSUPP;
64106410
}
6411-
if (!adap->uld[CXGB4_ULD_CRYPTO].tlsdev_ops) {
6411+
if (!adap->uld[CXGB4_ULD_KTLS].tlsdev_ops) {
64126412
dev_dbg(adap->pdev_dev,
6413-
"chcr driver has no registered tlsdev_ops\n");
6413+
"ch_ktls driver has no registered tlsdev_ops\n");
64146414
return -EOPNOTSUPP;
64156415
}
64166416
break;
@@ -6439,7 +6439,7 @@ static int chcr_offload_state(struct adapter *adap,
64396439

64406440
#endif /* CONFIG_CHELSIO_TLS_DEVICE || CONFIG_CHELSIO_IPSEC_INLINE */
64416441

6442-
#if defined(CONFIG_CHELSIO_TLS_DEVICE)
6442+
#if IS_ENABLED(CONFIG_CHELSIO_TLS_DEVICE)
64436443

64446444
static int cxgb4_ktls_dev_add(struct net_device *netdev, struct sock *sk,
64456445
enum tls_offload_ctx_dir direction,
@@ -6458,10 +6458,10 @@ static int cxgb4_ktls_dev_add(struct net_device *netdev, struct sock *sk,
64586458
if (ret)
64596459
goto out_unlock;
64606460

6461-
ret = adap->uld[CXGB4_ULD_CRYPTO].tlsdev_ops->tls_dev_add(netdev, sk,
6462-
direction,
6463-
crypto_info,
6464-
tcp_sn);
6461+
ret = adap->uld[CXGB4_ULD_KTLS].tlsdev_ops->tls_dev_add(netdev, sk,
6462+
direction,
6463+
crypto_info,
6464+
tcp_sn);
64656465
/* if there is a failure, clear the refcount */
64666466
if (ret)
64676467
cxgb4_set_ktls_feature(adap,
@@ -6481,14 +6481,20 @@ static void cxgb4_ktls_dev_del(struct net_device *netdev,
64816481
if (chcr_offload_state(adap, CXGB4_TLSDEV_OPS))
64826482
goto out_unlock;
64836483

6484-
adap->uld[CXGB4_ULD_CRYPTO].tlsdev_ops->tls_dev_del(netdev, tls_ctx,
6485-
direction);
6484+
adap->uld[CXGB4_ULD_KTLS].tlsdev_ops->tls_dev_del(netdev, tls_ctx,
6485+
direction);
64866486
cxgb4_set_ktls_feature(adap, FW_PARAMS_PARAM_DEV_KTLS_HW_DISABLE);
64876487

64886488
out_unlock:
64896489
mutex_unlock(&uld_mutex);
64906490
}
64916491

6492+
static const struct tlsdev_ops cxgb4_ktls_ops = {
6493+
.tls_dev_add = cxgb4_ktls_dev_add,
6494+
.tls_dev_del = cxgb4_ktls_dev_del,
6495+
};
6496+
#endif /* CONFIG_CHELSIO_TLS_DEVICE */
6497+
64926498
#if IS_ENABLED(CONFIG_CHELSIO_IPSEC_INLINE)
64936499

64946500
static int cxgb4_xfrm_add_state(struct xfrm_state *x)
@@ -6597,12 +6603,6 @@ static const struct xfrmdev_ops cxgb4_xfrmdev_ops = {
65976603

65986604
#endif /* CONFIG_CHELSIO_IPSEC_INLINE */
65996605

6600-
static const struct tlsdev_ops cxgb4_ktls_ops = {
6601-
.tls_dev_add = cxgb4_ktls_dev_add,
6602-
.tls_dev_del = cxgb4_ktls_dev_del,
6603-
};
6604-
#endif /* CONFIG_CHELSIO_TLS_DEVICE */
6605-
66066606
static int init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
66076607
{
66086608
struct net_device *netdev;
@@ -6855,7 +6855,7 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
68556855
netdev->hw_features |= NETIF_F_HIGHDMA;
68566856
netdev->features |= netdev->hw_features;
68576857
netdev->vlan_features = netdev->features & VLAN_FEAT;
6858-
#if defined(CONFIG_CHELSIO_TLS_DEVICE)
6858+
#if IS_ENABLED(CONFIG_CHELSIO_TLS_DEVICE)
68596859
if (pi->adapter->params.crypto & FW_CAPS_CONFIG_TLS_HW) {
68606860
netdev->hw_features |= NETIF_F_HW_TLS_TX;
68616861
netdev->tlsdev_ops = &cxgb4_ktls_ops;

drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -663,7 +663,7 @@ static int uld_attach(struct adapter *adap, unsigned int uld)
663663
return 0;
664664
}
665665

666-
#ifdef CONFIG_CHELSIO_TLS_DEVICE
666+
#if IS_ENABLED(CONFIG_CHELSIO_TLS_DEVICE)
667667
static bool cxgb4_uld_in_use(struct adapter *adap)
668668
{
669669
const struct tid_info *t = &adap->tids;

drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
#include <linux/skbuff.h>
4141
#include <linux/inetdevice.h>
4242
#include <linux/atomic.h>
43+
#include <net/tls.h>
4344
#include "cxgb4.h"
4445

4546
#define MAX_ULD_QSETS 16
@@ -304,6 +305,7 @@ enum cxgb4_uld {
304305
CXGB4_ULD_CRYPTO,
305306
CXGB4_ULD_IPSEC,
306307
CXGB4_ULD_TLS,
308+
CXGB4_ULD_KTLS,
307309
CXGB4_ULD_MAX
308310
};
309311

@@ -362,17 +364,8 @@ struct cxgb4_virt_res { /* virtualized HW resources */
362364
struct cxgb4_range ppod_edram;
363365
};
364366

365-
struct chcr_stats_debug {
366-
atomic_t cipher_rqst;
367-
atomic_t digest_rqst;
368-
atomic_t aead_rqst;
369-
atomic_t complete;
370-
atomic_t error;
371-
atomic_t fallback;
372-
atomic_t tls_pdu_tx;
373-
atomic_t tls_pdu_rx;
374-
atomic_t tls_key;
375-
#ifdef CONFIG_CHELSIO_TLS_DEVICE
367+
#if IS_ENABLED(CONFIG_CHELSIO_TLS_DEVICE)
368+
struct ch_ktls_stats_debug {
376369
atomic64_t ktls_tx_connection_open;
377370
atomic64_t ktls_tx_connection_fail;
378371
atomic64_t ktls_tx_connection_close;
@@ -390,8 +383,19 @@ struct chcr_stats_debug {
390383
atomic64_t ktls_tx_skip_no_sync_data;
391384
atomic64_t ktls_tx_drop_no_sync_data;
392385
atomic64_t ktls_tx_drop_bypass_req;
393-
386+
};
394387
#endif
388+
389+
struct chcr_stats_debug {
390+
atomic_t cipher_rqst;
391+
atomic_t digest_rqst;
392+
atomic_t aead_rqst;
393+
atomic_t complete;
394+
atomic_t error;
395+
atomic_t fallback;
396+
atomic_t tls_pdu_tx;
397+
atomic_t tls_pdu_rx;
398+
atomic_t tls_key;
395399
};
396400

397401
#if IS_ENABLED(CONFIG_CHELSIO_IPSEC_INLINE)
@@ -476,7 +480,7 @@ struct cxgb4_uld_info {
476480
struct napi_struct *napi);
477481
void (*lro_flush)(struct t4_lro_mgr *);
478482
int (*tx_handler)(struct sk_buff *skb, struct net_device *dev);
479-
#if IS_ENABLED(CONFIG_TLS_DEVICE)
483+
#if IS_ENABLED(CONFIG_CHELSIO_TLS_DEVICE)
480484
const struct tlsdev_ops *tlsdev_ops;
481485
#endif
482486
#if IS_ENABLED(CONFIG_XFRM_OFFLOAD)

drivers/net/ethernet/chelsio/cxgb4/sge.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1421,9 +1421,9 @@ static netdev_tx_t cxgb4_eth_xmit(struct sk_buff *skb, struct net_device *dev)
14211421
return adap->uld[CXGB4_ULD_IPSEC].tx_handler(skb, dev);
14221422
#endif /* CHELSIO_IPSEC_INLINE */
14231423

1424-
#ifdef CONFIG_CHELSIO_TLS_DEVICE
1424+
#if IS_ENABLED(CONFIG_CHELSIO_TLS_DEVICE)
14251425
if (skb->decrypted)
1426-
return adap->uld[CXGB4_ULD_CRYPTO].tx_handler(skb, dev);
1426+
return adap->uld[CXGB4_ULD_KTLS].tx_handler(skb, dev);
14271427
#endif /* CHELSIO_TLS_DEVICE */
14281428

14291429
qidx = skb_get_queue_mapping(skb);

drivers/net/ethernet/chelsio/inline_crypto/Kconfig

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,17 @@ config CHELSIO_IPSEC_INLINE
3434
To compile this driver as a module, choose M here: the module
3535
will be called ch_ipsec.
3636

37+
config CHELSIO_TLS_DEVICE
38+
tristate "Chelsio Inline KTLS Offload"
39+
depends on CHELSIO_T4
40+
depends on TLS
41+
depends on TLS_DEVICE
42+
help
43+
This flag enables support for kernel tls offload over Chelsio T6
44+
crypto accelerator. CONFIG_CHELSIO_TLS_DEVICE flag can be enabled
45+
only if CONFIG_TLS and CONFIG_TLS_DEVICE flags are enabled.
46+
47+
To compile this driver as a module, choose M here: the module
48+
will be called ch_ktls.
49+
3750
endif # CHELSIO_INLINE_CRYPTO

0 commit comments

Comments
 (0)