secasvar
struct secasvar *savp;
struct secasvar *savp = sa_entry->savp;
struct secasvar *savp)
enc_bpftap(struct ifnet *ifp, struct mbuf *m, const struct secasvar *sav,
struct secasvar *sav;
ipsec_if_input(struct mbuf *m, struct secasvar *sav, uint32_t af,
ipsec_chkreplay(uint32_t seq, uint32_t *seqhigh, struct secasvar *sav)
ipsec_updatereplay(uint32_t seq, struct secasvar *sav)
ipsec_updateid(struct secasvar *sav, crypto_session_t *new,
struct secasvar;
int ipsec_if_input(struct mbuf *, struct secasvar *, uint32_t,
void udp_ipsec_adjust_cksum(struct mbuf *, struct secasvar *, int, int);
int udp_ipsec_output(struct mbuf *, struct secasvar *);
int ipsec_chkreplay(uint32_t, uint32_t *, struct secasvar *);
int ipsec_updatereplay(uint32_t, struct secasvar *);
int ipsec_updateid(struct secasvar *, crypto_session_t *, crypto_session_t *);
int ipsec4_common_input_cb(struct mbuf *, struct secasvar *, int, int,
int ipsec_process_done(struct mbuf *, struct secpolicy *, struct secasvar *,
int ipsec6_common_input_cb(struct mbuf *, struct secasvar *, int, int,
struct secasvar *sav;
struct secasvar *sav;
ipsec4_common_input_cb(struct mbuf *m, struct secasvar *sav, int skip,
ipsec6_common_input_cb(struct mbuf *m, struct secasvar *sav, int skip,
ipsec_accel_drv_sa_lifetime_update_impl(struct secasvar *sav, if_t ifp,
ipsec_accel_drv_sa_lifetime_fetch_impl(struct secasvar *sav,
ipsec_accel_sa_lifetime_hw(struct secasvar *sav, if_t ifp,
ipsec_accel_sa_lifetime_op_impl(struct secasvar *sav,
ipsec_accel_key_setaccelif_impl(struct secasvar *sav)
static void ipsec_accel_sa_newkey_impl(struct secasvar *sav);
static int ipsec_accel_handle_sav(struct secasvar *sav, struct ifnet *ifp,
static void ipsec_accel_forget_sav_clear(struct secasvar *sav);
static struct ifp_handle_sav *ipsec_accel_is_accel_sav_ptr(struct secasvar *sav,
static int ipsec_accel_sa_lifetime_op_impl(struct secasvar *sav,
static void ipsec_accel_sa_recordxfer(struct secasvar *sav, struct mbuf *m);
static bool ipsec_accel_is_accel_sav_impl(struct secasvar *sav);
static struct mbuf *ipsec_accel_key_setaccelif_impl(struct secasvar *sav);
static void ipsec_accel_drv_sa_lifetime_update_impl(struct secasvar *sav,
static int ipsec_accel_drv_sa_lifetime_fetch_impl(struct secasvar *sav,
ipsec_accel_alloc_forget_tq(struct secasvar *sav)
struct secasvar *sav;
ipsec_accel_sa_newkey_impl(struct secasvar *sav)
ipsec_accel_handle_sav(struct secasvar *sav, struct ifnet *ifp,
struct secasvar *sav;
ipsec_accel_forget_sav_clear(struct secasvar *sav)
struct secasvar *sav;
ipsec_accel_forget_sav_impl(struct secasvar *sav)
ipsec_accel_is_accel_sav_ptr_raw(struct secasvar *sav, struct ifnet *ifp)
ipsec_accel_is_accel_sav_ptr(struct secasvar *sav, struct ifnet *ifp)
ipsec_accel_is_accel_sav_impl(struct secasvar *sav)
static struct secasvar *
struct secasvar *sav;
struct secasvar *sav;
ipsec_accel_output_pad(struct mbuf *m, struct secasvar *sav, int skip, int mtu)
struct secasvar *sav;
struct secpolicy *sp, struct secasvar *sav, int af, int mtu, int *hwassist)
struct secasvar *sav;
ipsec_accel_sa_recordxfer(struct secasvar *sav, struct mbuf *m)
ipsec_accel_sa_lifetime_op(struct secasvar *sav,
int (*p)(struct secasvar *sav, struct seclifetime *lft_c, if_t ifp,
ipsec_accel_is_accel_sav(struct secasvar *sav)
bool (*p)(struct secasvar *sav);
ipsec_accel_key_setaccelif(struct secasvar *sav)
struct mbuf *(*p)(struct secasvar *sav);
void ipsec_accel_forget_sav_impl(struct secasvar *sav);
struct inpcb *inp, struct secpolicy *sp, struct secasvar *sav, int af,
void ipsec_accel_forget_sav(struct secasvar *sav);
void ipsec_accel_drv_sa_lifetime_update(struct secasvar *sav, if_t ifp,
int ipsec_accel_drv_sa_lifetime_fetch(struct secasvar *sav,
struct secasvar;
extern void (*ipsec_accel_sa_newkey_p)(struct secasvar *sav);
extern void (*ipsec_accel_sa_install_input_p)(struct secasvar *sav,
extern void (*ipsec_accel_forget_sav_p)(struct secasvar *sav);
extern int (*ipsec_accel_sa_lifetime_op_p)(struct secasvar *sav,
extern bool (*ipsec_accel_is_accel_sav_p)(struct secasvar *sav);
extern struct mbuf *(*ipsec_accel_key_setaccelif_p)(struct secasvar *sav);
extern void (*ipsec_accel_drv_sa_lifetime_update_p)(struct secasvar *sav,
extern int (*ipsec_accel_drv_sa_lifetime_fetch_p)(struct secasvar *sav,
ipsec_accel_sa_newkey(struct secasvar *sav)
void (*p)(struct secasvar *sav);
ipsec_accel_forget_sav(struct secasvar *sav)
void (*p)(struct secasvar *sav);
ipsec_get_pmtu(struct secasvar *sav)
static size_t ipsec_get_pmtu(struct secasvar *sav);
static struct secasvar *
struct secasvar *sav;
struct secasvar *sav;
struct secasvar *sav;
static struct secasvar *
struct secasvar *sav;
struct secasvar *sav;
struct secasvar *sav;
ipsec_process_done(struct mbuf *m, struct secpolicy *sp, struct secasvar *sav,
void (*ipsec_accel_sa_newkey_p)(struct secasvar *sav);
struct secasvar *
struct secasvar *sav;
void (*ipsec_accel_forget_sav_p)(struct secasvar *sav);
int (*ipsec_accel_sa_lifetime_op_p)(struct secasvar *sav,
struct secasvar *
struct secasvar *sav;
bool (*ipsec_accel_is_accel_sav_p)(struct secasvar *sav);
struct mbuf *(*ipsec_accel_key_setaccelif_p)(struct secasvar *sav);
void (*ipsec_accel_drv_sa_lifetime_update_p)(struct secasvar *sav, if_t ifp,
int (*ipsec_accel_drv_sa_lifetime_fetch_p)(struct secasvar *sav, if_t ifp,
struct secasvar *
struct secasvar *sav;
struct secasvar *
struct secasvar *sav;
key_freesav(struct secasvar **psav)
struct secasvar *sav = *psav;
key_unlinksav(struct secasvar *sav)
LIST_HEAD(secasvar_list, secasvar);
static struct secasvar *
struct secasvar *sav;
sav = malloc(sizeof(struct secasvar), M_IPSEC_SA, M_NOWAIT | M_ZERO);
key_cleansav(struct secasvar *sav)
key_delsav(struct secasvar *sav)
struct secasvar *sav;
static struct secasvar *
struct secasvar *sav;
key_updatelifetimes(struct secasvar *sav, const struct sadb_msghdr *mhp)
key_setsaval(struct secasvar *sav, const struct sadb_msghdr *mhp)
key_setdumpsa(struct secasvar *sav, uint8_t type, uint8_t satype,
key_setsadbsa(struct secasvar *sav)
struct secasvar *sav, *nextsav;
struct secasvar *sav;
static struct secasvar *
struct secasvar *sav;
const struct sadb_msghdr *mhp, struct secasvar *sav,
struct secasvar *newsav, *tmp;
newsav = malloc(sizeof(struct secasvar), M_IPSEC_SA,
bcopy(sav, newsav, offsetof(struct secasvar, chain));
struct secasvar *sav;
struct secasvar *sav;
key_setnatt(struct secasvar *sav, const struct sadb_msghdr *mhp)
struct secasvar *sav;
struct secasvar *sav, *nextsav;
struct secasvar *sav, *nextsav;
struct secasvar *sav;
static struct secasvar *key_newsav(const struct sadb_msghdr *,
static void key_delsav(struct secasvar *);
static void key_unlinksav(struct secasvar *);
static struct secasvar *key_getsavbyspi(uint32_t);
static int key_setnatt(struct secasvar *, const struct sadb_msghdr *);
static int key_setsaval(struct secasvar *, const struct sadb_msghdr *);
static int key_updatelifetimes(struct secasvar *, const struct sadb_msghdr *);
const struct sadb_msghdr *, struct secasvar *, struct secasindex *);
static struct mbuf *key_setdumpsa(struct secasvar *, u_int8_t,
static struct mbuf *key_setsadbsa(struct secasvar *);
static int key_expire(struct secasvar *, int);
key_expire(struct secasvar *sav, int hard)
struct secasvar *sav, *nextsav;
struct secasvar *sav;
struct secasvar *sav;
struct secasvar *sav;
key_sa_recordxfer(struct secasvar *sav, struct mbuf *m)
ipsec_accel_drv_sa_lifetime_update(struct secasvar *sav, if_t ifp,
void (*p)(struct secasvar *sav, if_t ifp, u_int drv_spi,
ipsec_accel_drv_sa_lifetime_fetch(struct secasvar *sav,
int (*p)(struct secasvar *sav, if_t ifp, u_int drv_spi,
struct secasvar;
struct secasvar *key_allocsa(union sockaddr_union *, uint8_t, uint32_t);
struct secasvar *key_allocsa_tunnel(union sockaddr_union *,
struct secasvar *key_allocsa_policy(struct secpolicy *,
struct secasvar *key_allocsa_tcpmd5(struct secasindex *);
void key_freesav(struct secasvar **);
extern void key_sa_recordxfer(struct secasvar *, struct mbuf *);
kdebug_secasv(struct secasvar *sav)
ipsec_sa2str(struct secasvar *sav, char *buf, size_t size)
struct secasvar;
void kdebug_secasv(struct secasvar *);
char *ipsec_sa2str(struct secasvar *, char *, size_t);
TAILQ_HEAD(secasvar_queue, secasvar);
TAILQ_ENTRY(secasvar) chain;
LIST_ENTRY(secasvar) spihash;
LIST_ENTRY(secasvar) drainq; /* used ONLY by flush callout */
xform_init(struct secasvar *sav, u_short xftype)
struct secasvar *sav;
udp_ipsec_output(struct mbuf *m, struct secasvar *sav)
udp_ipsec_adjust_cksum(struct mbuf *m, struct secasvar *sav, int proto,
int xform_init(struct secasvar *, u_short);
int ah_init0(struct secasvar *, struct xformsw *,
extern size_t ah_hdrsiz(struct secasvar *);
extern size_t esp_hdrsiz(struct secasvar *sav);
struct secasvar;
struct secasvar *sav; /* related SA */
int (*xf_init)(struct secasvar*, struct xformsw*); /* setup */
void (*xf_cleanup)(struct secasvar*); /* cleanup */
int (*xf_input)(struct mbuf*, struct secasvar*, /* input */
struct secpolicy *, struct secasvar *, u_int, int, int);
struct secasvar *sav;
ah_hdrsiz(struct secasvar *sav)
ah_init0(struct secasvar *sav, struct xformsw *xsp,
ah_init(struct secasvar *sav, struct xformsw *xsp)
ah_cleanup(struct secasvar *sav)
ah_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff)
struct secasvar *sav;
ah_output(struct mbuf *m, struct secpolicy *sp, struct secasvar *sav,
struct secasvar *sav;
esp_hdrsiz(struct secasvar *sav)
esp_init(struct secasvar *sav, struct xformsw *xsp)
esp_cleanup(struct secasvar *sav)
esp_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff)
struct secasvar *sav;
esp_output(struct mbuf *m, struct secpolicy *sp, struct secasvar *sav,
struct secasvar *sav;
ipcomp_init(struct secasvar *sav, struct xformsw *xsp)
ipcomp_cleanup(struct secasvar *sav)
ipcomp_input(struct mbuf *m, struct secasvar *sav, int skip, int protoff)
struct secasvar *sav;
ipcomp_output(struct mbuf *m, struct secpolicy *sp, struct secasvar *sav,
struct secasvar *sav;
struct secasvar *sav, u_char *buf)
struct secasvar *sav;
struct secasvar *sav;
tcpsignature_init(struct secasvar *sav, struct xformsw *xsp)
tcpsignature_cleanup(struct secasvar *sav)