Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/ice/virtchnl_inline_ipsec.h
Show First 20 Lines • Show All 44 Lines • ▼ Show 20 Lines | |||||
#define VIRTCHNL_IPSEC_INVALID_SA_CFG_RESP 0xFFFFFFFF | #define VIRTCHNL_IPSEC_INVALID_SA_CFG_RESP 0xFFFFFFFF | ||||
#define VIRTCHNL_IPSEC_INVALID_SP_CFG_RESP 0xFFFFFFFF | #define VIRTCHNL_IPSEC_INVALID_SP_CFG_RESP 0xFFFFFFFF | ||||
/* crypto type */ | /* crypto type */ | ||||
#define VIRTCHNL_AUTH 1 | #define VIRTCHNL_AUTH 1 | ||||
#define VIRTCHNL_CIPHER 2 | #define VIRTCHNL_CIPHER 2 | ||||
#define VIRTCHNL_AEAD 3 | #define VIRTCHNL_AEAD 3 | ||||
/* caps enabled */ | |||||
#define VIRTCHNL_IPSEC_ESN_ENA BIT(0) | |||||
#define VIRTCHNL_IPSEC_UDP_ENCAP_ENA BIT(1) | |||||
#define VIRTCHNL_IPSEC_SA_INDEX_SW_ENA BIT(2) | |||||
#define VIRTCHNL_IPSEC_AUDIT_ENA BIT(3) | |||||
#define VIRTCHNL_IPSEC_BYTE_LIMIT_ENA BIT(4) | |||||
#define VIRTCHNL_IPSEC_DROP_ON_AUTH_FAIL_ENA BIT(5) | |||||
#define VIRTCHNL_IPSEC_ARW_CHECK_ENA BIT(6) | |||||
#define VIRTCHNL_IPSEC_24BIT_SPI_ENA BIT(7) | |||||
/* algorithm type */ | /* algorithm type */ | ||||
/* Hash Algorithm */ | /* Hash Algorithm */ | ||||
#define VIRTCHNL_HASH_NO_ALG 0 /* NULL algorithm */ | #define VIRTCHNL_HASH_NO_ALG 0 /* NULL algorithm */ | ||||
#define VIRTCHNL_AES_CBC_MAC 1 /* AES-CBC-MAC algorithm */ | #define VIRTCHNL_AES_CBC_MAC 1 /* AES-CBC-MAC algorithm */ | ||||
#define VIRTCHNL_AES_CMAC 2 /* AES CMAC algorithm */ | #define VIRTCHNL_AES_CMAC 2 /* AES CMAC algorithm */ | ||||
#define VIRTCHNL_AES_GMAC 3 /* AES GMAC algorithm */ | #define VIRTCHNL_AES_GMAC 3 /* AES GMAC algorithm */ | ||||
#define VIRTCHNL_AES_XCBC_MAC 4 /* AES XCBC algorithm */ | #define VIRTCHNL_AES_XCBC_MAC 4 /* AES XCBC algorithm */ | ||||
#define VIRTCHNL_MD5_HMAC 5 /* HMAC using MD5 algorithm */ | #define VIRTCHNL_MD5_HMAC 5 /* HMAC using MD5 algorithm */ | ||||
▲ Show 20 Lines • Show All 96 Lines • ▼ Show 20 Lines | struct virtchnl_sym_crypto_cap { | ||||
u8 algo_cap_num; | u8 algo_cap_num; | ||||
struct virtchnl_algo_cap algo_cap_list[VIRTCHNL_IPSEC_MAX_ALGO_CAP_NUM]; | struct virtchnl_algo_cap algo_cap_list[VIRTCHNL_IPSEC_MAX_ALGO_CAP_NUM]; | ||||
}; | }; | ||||
/* VIRTCHNL_OP_GET_IPSEC_CAP | /* VIRTCHNL_OP_GET_IPSEC_CAP | ||||
* VF pass virtchnl_ipsec_cap to PF | * VF pass virtchnl_ipsec_cap to PF | ||||
* and PF return capability of ipsec from virtchnl. | * and PF return capability of ipsec from virtchnl. | ||||
*/ | */ | ||||
#pragma pack(1) | |||||
struct virtchnl_ipsec_cap { | struct virtchnl_ipsec_cap { | ||||
/* max number of SA per VF */ | /* max number of SA per VF */ | ||||
u16 max_sa_num; | u16 max_sa_num; | ||||
/* IPsec SA Protocol - value ref VIRTCHNL_PROTO_XXX */ | /* IPsec SA Protocol - value ref VIRTCHNL_PROTO_XXX */ | ||||
u8 virtchnl_protocol_type; | u8 virtchnl_protocol_type; | ||||
/* IPsec SA Mode - value ref VIRTCHNL_SA_MODE_XXX */ | /* IPsec SA Mode - value ref VIRTCHNL_SA_MODE_XXX */ | ||||
u8 virtchnl_sa_mode; | u8 virtchnl_sa_mode; | ||||
/* IPSec SA Direction - value ref VIRTCHNL_DIR_XXX */ | /* IPSec SA Direction - value ref VIRTCHNL_DIR_XXX */ | ||||
u8 virtchnl_direction; | u8 virtchnl_direction; | ||||
/* type of esn - !0:enable/0:disable */ | |||||
u8 esn_enabled; | |||||
/* type of udp_encap - !0:enable/0:disable */ | |||||
u8 udp_encap_enabled; | |||||
/* termination mode - value ref VIRTCHNL_TERM_XXX */ | /* termination mode - value ref VIRTCHNL_TERM_XXX */ | ||||
u8 termination_mode; | u8 termination_mode; | ||||
/* SA index mode - !0:enable/0:disable */ | |||||
u8 sa_index_sw_enabled; | |||||
/* auditing mode - !0:enable/0:disable */ | |||||
u8 audit_enabled; | |||||
/* lifetime byte limit - !0:enable/0:disable */ | |||||
u8 byte_limit_enabled; | |||||
/* drop on authentication failure - !0:enable/0:disable */ | |||||
u8 drop_on_auth_fail_enabled; | |||||
/* anti-replay window check - !0:enable/0:disable */ | |||||
u8 arw_check_enabled; | |||||
/* number of supported crypto capability */ | /* number of supported crypto capability */ | ||||
u8 crypto_cap_num; | u8 crypto_cap_num; | ||||
/* descriptor ID */ | /* descriptor ID */ | ||||
u16 desc_id; | u16 desc_id; | ||||
/* capabilities enabled - value ref VIRTCHNL_IPSEC_XXX_ENA */ | |||||
u32 caps_enabled; | |||||
/* crypto capabilities */ | /* crypto capabilities */ | ||||
struct virtchnl_sym_crypto_cap cap[VIRTCHNL_IPSEC_MAX_CRYPTO_CAP_NUM]; | struct virtchnl_sym_crypto_cap cap[VIRTCHNL_IPSEC_MAX_CRYPTO_CAP_NUM]; | ||||
}; | }; | ||||
#pragma pack(1) | |||||
/* configuration of crypto function */ | /* configuration of crypto function */ | ||||
struct virtchnl_ipsec_crypto_cfg_item { | struct virtchnl_ipsec_crypto_cfg_item { | ||||
u8 crypto_type; | u8 crypto_type; | ||||
u32 algo_type; | u32 algo_type; | ||||
/* Length of valid IV data. */ | /* Length of valid IV data. */ | ||||
u16 iv_len; | u16 iv_len; | ||||
▲ Show 20 Lines • Show All 374 Lines • Show Last 20 Lines |