Lines Matching refs:acq
4911 struct secacq *acq, *nextacq; in key_flush_acq() local
4915 acq = LIST_FIRST(&V_acqtree); in key_flush_acq()
4916 while (acq != NULL) { in key_flush_acq()
4917 nextacq = LIST_NEXT(acq, chain); in key_flush_acq()
4918 if (now - acq->created > V_key_blockacq_lifetime) { in key_flush_acq()
4919 LIST_REMOVE(acq, chain); in key_flush_acq()
4920 LIST_REMOVE(acq, addrhash); in key_flush_acq()
4921 LIST_REMOVE(acq, seqhash); in key_flush_acq()
4922 free(acq, M_IPSEC_SAQ); in key_flush_acq()
4924 acq = nextacq; in key_flush_acq()
4932 struct secspacq *acq, *nextacq; in key_flush_spacq() local
4936 for (acq = LIST_FIRST(&V_spacqtree); acq != NULL; acq = nextacq) { in key_flush_spacq()
4937 nextacq = LIST_NEXT(acq, chain); in key_flush_spacq()
4938 if (now - acq->created > V_key_blockacq_lifetime in key_flush_spacq()
4939 && __LIST_CHAINED(acq)) { in key_flush_spacq()
4940 LIST_REMOVE(acq, chain); in key_flush_spacq()
4941 free(acq, M_IPSEC_SAQ); in key_flush_spacq()
7109 struct secacq *acq; in key_newacq() local
7112 acq = malloc(sizeof(*acq), M_IPSEC_SAQ, M_NOWAIT | M_ZERO); in key_newacq()
7113 if (acq == NULL) { in key_newacq()
7120 bcopy(saidx, &acq->saidx, sizeof(acq->saidx)); in key_newacq()
7121 acq->created = time_second; in key_newacq()
7122 acq->count = 0; in key_newacq()
7126 seq = acq->seq = (V_acq_seq == ~0 ? 1 : ++V_acq_seq); in key_newacq()
7127 LIST_INSERT_HEAD(&V_acqtree, acq, chain); in key_newacq()
7128 LIST_INSERT_HEAD(ACQADDRHASH_HASH(saidx), acq, addrhash); in key_newacq()
7129 LIST_INSERT_HEAD(ACQSEQHASH_HASH(seq), acq, seqhash); in key_newacq()
7138 struct secacq *acq; in key_getacq() local
7142 LIST_FOREACH(acq, ACQADDRHASH_HASH(saidx), addrhash) { in key_getacq()
7143 if (key_cmpsaidx(&acq->saidx, saidx, CMP_EXACTLY)) { in key_getacq()
7144 if (acq->count > V_key_blockacq_count) { in key_getacq()
7150 acq->created = time_second; in key_getacq()
7151 acq->count = 0; in key_getacq()
7152 seq = acq->seq; in key_getacq()
7159 acq->count++; in key_getacq()
7166 if (acq != NULL) { in key_getacq()
7177 struct secacq *acq; in key_acqreset() local
7180 LIST_FOREACH(acq, ACQSEQHASH_HASH(seq), seqhash) { in key_acqreset()
7181 if (acq->seq == seq) { in key_acqreset()
7182 acq->count = 0; in key_acqreset()
7183 acq->created = time_second; in key_acqreset()
7188 if (acq == NULL) in key_acqreset()
7199 struct secacq *acq; in key_acqdone() local
7202 LIST_FOREACH(acq, ACQSEQHASH_HASH(seq), seqhash) { in key_acqdone()
7203 if (acq->seq == seq) in key_acqdone()
7206 if (acq != NULL) { in key_acqdone()
7207 if (key_cmpsaidx(&acq->saidx, saidx, CMP_EXACTLY) == 0) { in key_acqdone()
7210 acq = NULL; in key_acqdone()
7212 acq->created = 0; in key_acqdone()
7219 if (acq == NULL) in key_acqdone()
7227 struct secspacq *acq; in key_newspacq() local
7230 acq = malloc(sizeof(struct secspacq), M_IPSEC_SAQ, M_NOWAIT|M_ZERO); in key_newspacq()
7231 if (acq == NULL) { in key_newspacq()
7237 bcopy(spidx, &acq->spidx, sizeof(acq->spidx)); in key_newspacq()
7238 acq->created = time_second; in key_newspacq()
7239 acq->count = 0; in key_newspacq()
7243 LIST_INSERT_HEAD(&V_spacqtree, acq, chain); in key_newspacq()
7246 return acq; in key_newspacq()
7252 struct secspacq *acq; in key_getspacq() local
7255 LIST_FOREACH(acq, &V_spacqtree, chain) { in key_getspacq()
7256 if (key_cmpspidx_exactly(spidx, &acq->spidx)) { in key_getspacq()
7258 return acq; in key_getspacq()
8676 struct secacq *acq, *nextacq; in key_vnet_destroy() local
8746 acq = LIST_FIRST(&V_acqtree); in key_vnet_destroy()
8747 while (acq != NULL) { in key_vnet_destroy()
8748 nextacq = LIST_NEXT(acq, chain); in key_vnet_destroy()
8749 LIST_REMOVE(acq, chain); in key_vnet_destroy()
8750 free(acq, M_IPSEC_SAQ); in key_vnet_destroy()
8751 acq = nextacq; in key_vnet_destroy()