/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */ /* Copyright (C) 2019 Netronome Systems, Inc. */ #ifndef NFP_CRYPTO_H #define NFP_CRYPTO_H 1 struct net_device; struct nfp_net; struct nfp_net_tls_resync_req; struct nfp_net_tls_offload_ctx { __be32 fw_handle[2]; u8 rx_end[0]; /* Tx only fields follow - Rx side does not have enough driver state * to fit these */ u32 next_seq; }; #ifdef CONFIG_TLS_DEVICE int nfp_net_tls_init(struct nfp_net *nn); int nfp_net_tls_rx_resync_req(struct net_device *netdev, struct nfp_net_tls_resync_req *req, void *pkt, unsigned int pkt_len); #else static inline int nfp_net_tls_init(struct nfp_net *nn) { return 0; } static inline int nfp_net_tls_rx_resync_req(struct net_device *netdev, struct nfp_net_tls_resync_req *req, void *pkt, unsigned int pkt_len) { return -EOPNOTSUPP; } #endif #endif