TLS_HW
return tls_get_ctx(sk)->rx_conf == TLS_HW;
async_cleanup = netdev && ctx->tx_conf == TLS_HW;
if (tls_ctx->tx_conf != TLS_HW) {
if (ctx->tx_conf == TLS_HW)
if (ctx->rx_conf == TLS_HW &&
if (tls_ctx->tx_conf == TLS_HW) {
if (ctx->tx_conf == TLS_HW)
if (ctx->rx_conf == TLS_HW)
if (tls_ctx->rx_conf != TLS_HW)
prot[TLS_HW][TLS_BASE] = prot[TLS_BASE][TLS_BASE];
prot[TLS_HW][TLS_BASE].sendmsg = tls_device_sendmsg;
prot[TLS_HW][TLS_BASE].splice_eof = tls_device_splice_eof;
prot[TLS_HW][TLS_SW] = prot[TLS_BASE][TLS_SW];
prot[TLS_HW][TLS_SW].sendmsg = tls_device_sendmsg;
prot[TLS_HW][TLS_SW].splice_eof = tls_device_splice_eof;
prot[TLS_BASE][TLS_HW] = prot[TLS_BASE][TLS_SW];
prot[TLS_SW][TLS_HW] = prot[TLS_SW][TLS_SW];
prot[TLS_HW][TLS_HW] = prot[TLS_HW][TLS_SW];
case TLS_HW:
if (ctx->tx_conf == TLS_HW && ctx->zerocopy_sendfile) {
if (ctx->tx_conf == TLS_HW)
} else if (ctx->tx_conf == TLS_HW) {
} else if (ctx->rx_conf == TLS_HW) {
free_ctx = ctx->tx_conf != TLS_HW && ctx->rx_conf != TLS_HW;
if (ctx->rx_conf == TLS_SW || ctx->rx_conf == TLS_HW)
if (ctx->rx_conf == TLS_SW || ctx->rx_conf == TLS_HW)
conf = TLS_HW;
conf = TLS_HW;
if (ctx->rx_conf == TLS_SW || ctx->rx_conf == TLS_HW) {
ops[TLS_HW ][TLS_BASE] = ops[TLS_BASE][TLS_BASE];
ops[TLS_HW ][TLS_SW ] = ops[TLS_BASE][TLS_SW ];
ops[TLS_BASE][TLS_HW ] = ops[TLS_BASE][TLS_SW ];
ops[TLS_SW ][TLS_HW ] = ops[TLS_SW ][TLS_SW ];
ops[TLS_HW ][TLS_HW ] = ops[TLS_HW ][TLS_SW ];
if (tls_ctx->rx_conf != TLS_HW)