Lines Matching refs:retval

100 	ipsa_t *retval, *candidate;
135 retval = ipr->ipsr_sa;
139 * sadb_unlinkassoc()) protects against retval being a freed
144 (retval->ipsa_state != IPSA_STATE_DEAD) &&
145 !(retval->ipsa_flags & IPSA_F_CINVALID)) {
146 IPSA_REFHOLD(retval);
147 return (retval);
192 for (retval = bucket->isaf_ipsa; retval != NULL;
193 retval = retval->ipsa_next) {
204 mutex_enter(&retval->ipsa_lock);
209 if (!IPSA_ARE_ADDR_EQUAL(dst, retval->ipsa_dstaddr, af))
213 if (!IPSA_ARE_ADDR_EQUAL(src, retval->ipsa_srcaddr, af) &&
214 !IPSA_IS_ADDR_UNSPEC(retval->ipsa_srcaddr, af))
219 if (!(retval->ipsa_flags & IPSA_F_TUNNEL))
223 if (!IPSA_IS_ADDR_UNSPEC(retval->ipsa_innerdst, inaf)) {
225 min(indstpfx, retval->ipsa_innerdstpfx),
226 (in6_addr_t *)retval->ipsa_innerdst))
231 if (!IPSA_IS_ADDR_UNSPEC(retval->ipsa_innersrc, inaf)) {
233 min(insrcpfx, retval->ipsa_innersrcpfx),
234 (in6_addr_t *)retval->ipsa_innersrc))
239 if (retval->ipsa_flags & IPSA_F_TUNNEL)
265 retval->ipsa_auth_alg)
268 retval->ipsa_authkeybits)
275 retval->ipsa_encr_alg))
279 retval->ipsa_encrkeybits)
284 retval->ipsa_auth_alg)
287 retval->ipsa_authkeybits)
296 (retval->ipsa_kmp != 0) &&
297 (ap->ipa_apply.ipp_km_proto != retval->ipsa_kmp))
301 (retval->ipsa_kmc != 0) &&
302 (ap->ipa_apply.ipp_km_cookie != retval->ipsa_kmc))
314 !ipsec_match_outbound_ids(ipl, retval))
320 if (!ipsec_label_match(tsl, retval->ipsa_tsl))
348 if ((retval->ipsa_flags & IPSA_F_UNIQUE) &&
349 ((unique_id & retval->ipsa_unique_mask) ==
350 retval->ipsa_unique_id))
359 if (retval->ipsa_flags & excludeflags)
370 candidate = retval;
376 * the current match (i.e. retval) address is
380 !IPSA_IS_ADDR_UNSPEC(retval->ipsa_srcaddr, af)) {
382 candidate = retval;
388 mutex_exit(&retval->ipsa_lock);
390 ASSERT((retval == NULL) || MUTEX_HELD(&retval->ipsa_lock));
392 ASSERT((retval == NULL) || (act != NULL));
396 if (retval == NULL && candidate == NULL)
399 if (retval == NULL) {
401 retval = candidate;
406 ASSERT(MUTEX_HELD(&retval->ipsa_lock));
413 IPSA_REFHOLD(retval);
418 old_flags = retval->ipsa_flags;
419 retval->ipsa_flags |= IPSA_F_USED;
427 ipr->ipsr_sa = retval;
429 retval->ipsa_flags &= ~IPSA_F_CINVALID;
437 retval->ipsa_src_cid, retval->ipsa_dst_cid);
449 if (retval->ipsa_unique_id == 0) {
450 ASSERT((retval->ipsa_flags & IPSA_F_UNIQUE) == 0);
455 retval->ipsa_flags |= IPSA_F_UNIQUE;
456 retval->ipsa_unique_id = unique_id;
457 retval->ipsa_unique_mask = SA_UNIQUE_MASK(
466 if (IPSA_IS_ADDR_UNSPEC(retval->ipsa_srcaddr, af)) {
476 IPSA_REFHOLD(retval);
477 IPSA_COPY_ADDR(retval->ipsa_srcaddr, src, af);
478 mutex_exit(&retval->ipsa_lock);
479 sadb_unlinkassoc(retval);
485 if (sadb_insertassoc(retval, bucket) != 0) {
491 (void) sadb_insertassoc(retval, bucket);
493 return (retval);
496 mutex_exit(&retval->ipsa_lock);
498 return (retval);
513 ipsa_t *retval;
527 for (retval = bucket->isaf_ipsa; retval != NULL;
528 retval = retval->ipsa_next) {
529 if (retval->ipsa_spi != spi)
531 if (!IPSA_ARE_ADDR_EQUAL(dst, retval->ipsa_dstaddr, af))
550 if (IPSA_ARE_ADDR_EQUAL(src, retval->ipsa_srcaddr, af) ||
551 IPSA_IS_ADDR_UNSPEC(retval->ipsa_srcaddr, af) ||
556 if (retval != NULL) {
561 IPSA_REFHOLD(retval);
564 return (retval);