Lines Matching defs:ses

80     struct aesni_session *ses);
81 static int aesni_cipher_setup(struct aesni_session *ses,
83 static int aesni_cipher_process(struct aesni_session *ses,
178 struct aesni_session *ses;
183 TAILQ_FOREACH(ses, &sc->sessions, next) {
184 if (ses->used) {
192 while ((ses = TAILQ_FIRST(&sc->sessions)) != NULL) {
193 TAILQ_REMOVE(&sc->sessions, ses, next);
194 free(ses, M_AESNI);
210 struct aesni_session *ses;
223 ses = NULL;
264 ses = TAILQ_FIRST(&sc->sessions);
265 if (ses == NULL || ses->used) {
266 ses = malloc(sizeof(*ses), M_AESNI, M_NOWAIT | M_ZERO);
267 if (ses == NULL) {
271 ses->id = sc->sid++;
273 TAILQ_REMOVE(&sc->sessions, ses, next);
275 ses->used = 1;
276 TAILQ_INSERT_TAIL(&sc->sessions, ses, next);
278 ses->algo = encini->cri_alg;
280 error = aesni_cipher_setup(ses, encini);
284 aesni_freesession_locked(sc, ses);
289 *sidp = ses->id;
294 aesni_freesession_locked(struct aesni_softc *sc, struct aesni_session *ses)
300 sid = ses->id;
301 TAILQ_REMOVE(&sc->sessions, ses, next);
302 *ses = (struct aesni_session){};
303 ses->id = sid;
304 TAILQ_INSERT_HEAD(&sc->sessions, ses, next);
311 struct aesni_session *ses;
317 TAILQ_FOREACH_REVERSE(ses, &sc->sessions, aesni_sessions_head, next) {
318 if (ses->id == sid)
321 if (ses == NULL) {
325 aesni_freesession_locked(sc, ses);
334 struct aesni_session *ses = NULL;
403 TAILQ_FOREACH_REVERSE(ses, &sc->sessions, aesni_sessions_head, next) {
404 if (ses->id == (crp->crp_sid & 0xffffffff))
408 if (ses == NULL) {
413 error = aesni_cipher_process(ses, enccrd, authcrd, crp);
485 aesni_cipher_setup(struct aesni_session *ses, struct cryptoini *encini)
500 error = aesni_cipher_setup_common(ses, encini->cri_key,
515 aesni_cipher_process(struct aesni_session *ses, struct cryptodesc *enccrd,
558 error = aesni_cipher_setup_common(ses, enccrd->crd_key,
603 switch (ses->algo) {
606 aesni_encrypt_cbc(ses->rounds, ses->enc_schedule,
609 aesni_decrypt_cbc(ses->rounds, ses->dec_schedule,
614 aesni_encrypt_icm(ses->rounds, ses->enc_schedule,
619 aesni_encrypt_xts(ses->rounds, ses->enc_schedule,
620 ses->xts_schedule, enccrd->crd_len, buf, buf,
623 aesni_decrypt_xts(ses->rounds, ses->dec_schedule,
624 ses->xts_schedule, enccrd->crd_len, buf, buf,
631 ses->enc_schedule, ses->rounds);
635 ses->enc_schedule, ses->rounds))