FILE
chcr_ipsec.h
File preview with syntax highlighting.
linux-6.19.14/drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.h
1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* Copyright (c) 2018 Chelsio Communications, Inc. */ 3 4#ifndef __CHCR_IPSEC_H__ 5#define __CHCR_IPSEC_H__ 6 7#include "t4_hw.h" 8#include "cxgb4.h" 9#include "t4_msg.h" 10#include "cxgb4_uld.h" 11 12#include "chcr_core.h" 13#include "chcr_algo.h" 14#include "chcr_crypto.h" 15 16#define CHIPSEC_DRV_MODULE_NAME "ch_ipsec" 17#define CHIPSEC_DRV_VERSION "1.0.0.0-ko" 18#define CHIPSEC_DRV_DESC "Chelsio T6 Crypto Ipsec offload Driver" 19 20struct ipsec_uld_ctx { 21 struct list_head entry; 22 struct cxgb4_lld_info lldi; 23}; 24 25struct chcr_ipsec_req { 26 struct ulp_txpkt ulptx; 27 struct ulptx_idata sc_imm; 28 struct cpl_tx_sec_pdu sec_cpl; 29 struct _key_ctx key_ctx; 30}; 31 32struct chcr_ipsec_wr { 33 struct fw_ulptx_wr wreq; 34 struct chcr_ipsec_req req; 35}; 36 37#define ESN_IV_INSERT_OFFSET 12 38struct chcr_ipsec_aadiv { 39 __be32 spi; 40 u8 seq_no[8]; 41 u8 iv[8]; 42}; 43 44struct ipsec_sa_entry { 45 int hmac_ctrl; 46 u16 esn; 47 u16 resv; 48 unsigned int enckey_len; 49 unsigned int kctx_len; 50 unsigned int authsize; 51 __be32 key_ctx_hdr; 52 char salt[MAX_SALT]; 53 char key[2 * AES_MAX_KEY_SIZE]; 54}; 55 56#endif /* __CHCR_IPSEC_H__ */ 57
~/
Read-only file preview.