Changeset View
Changeset View
Standalone View
Standalone View
sys/sys/ktls.h
Show First 20 Lines • Show All 158 Lines • ▼ Show 20 Lines | struct tls_session_params { | ||||
uint8_t tls_bs; | uint8_t tls_bs; | ||||
uint8_t flags; | uint8_t flags; | ||||
}; | }; | ||||
/* Used in APIs to request RX vs TX sessions. */ | /* Used in APIs to request RX vs TX sessions. */ | ||||
#define KTLS_TX 1 | #define KTLS_TX 1 | ||||
#define KTLS_RX 2 | #define KTLS_RX 2 | ||||
#define KTLS_API_VERSION 7 | #define KTLS_API_VERSION 8 | ||||
struct iovec; | struct iovec; | ||||
struct ktls_session; | struct ktls_session; | ||||
struct m_snd_tag; | struct m_snd_tag; | ||||
struct mbuf; | struct mbuf; | ||||
struct sockbuf; | struct sockbuf; | ||||
struct socket; | struct socket; | ||||
struct ktls_crypto_backend { | struct ktls_crypto_backend { | ||||
LIST_ENTRY(ktls_crypto_backend) next; | LIST_ENTRY(ktls_crypto_backend) next; | ||||
int (*try)(struct socket *so, struct ktls_session *tls, int direction); | int (*try)(struct socket *so, struct ktls_session *tls, int direction); | ||||
int prio; | int prio; | ||||
int api_version; | int api_version; | ||||
int use_count; | int use_count; | ||||
const char *name; | const char *name; | ||||
}; | }; | ||||
struct ktls_session { | struct ktls_session { | ||||
union { | union { | ||||
int (*sw_encrypt)(struct ktls_session *tls, | int (*sw_encrypt)(struct ktls_session *tls, | ||||
const struct tls_record_layer *hdr, uint8_t *trailer, | const struct tls_record_layer *hdr, uint8_t *trailer, | ||||
struct iovec *src, struct iovec *dst, int iovcnt, | struct iovec *src, struct iovec *dst, int srciovcnt, | ||||
uint64_t seqno, uint8_t record_type); | int dstiovcnt, uint64_t seqno, uint8_t record_type); | ||||
int (*sw_decrypt)(struct ktls_session *tls, | int (*sw_decrypt)(struct ktls_session *tls, | ||||
const struct tls_record_layer *hdr, struct mbuf *m, | const struct tls_record_layer *hdr, struct mbuf *m, | ||||
uint64_t seqno, int *trailer_len); | uint64_t seqno, int *trailer_len); | ||||
}; | }; | ||||
union { | union { | ||||
void *cipher; | void *cipher; | ||||
struct m_snd_tag *snd_tag; | struct m_snd_tag *snd_tag; | ||||
}; | }; | ||||
▲ Show 20 Lines • Show All 50 Lines • Show Last 20 Lines |