Print this page
Bayard's initial drop, needs finishing, or at least testing.

*** 19,28 **** --- 19,29 ---- * CDDL HEADER END */ /* * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. + * Copyright (c) 2012 Nexenta Systems, Inc. All rights reserved. */ #ifndef _INET_SADB_H #define _INET_SADB_H
*** 573,583 **** typedef struct sadbp_s { uint32_t s_satype; uint32_t *s_acquire_timeout; - void (*s_acqfn)(ipsacq_t *, mblk_t *, netstack_t *); sadb_t s_v4; sadb_t s_v6; uint32_t s_addflags; uint32_t s_updateflags; } sadbp_t; --- 574,583 ----
*** 913,925 **** mutex_enter(&assoc->ipsa_lock); \ if ((_sa)->_which == IPSEC_CTX_TMPL_ALLOC) { \ ipsec_stack_t *ipss; \ \ ipss = assoc->ipsa_netstack->netstack_ipsec; \ ! mutex_enter(&ipss->ipsec_alg_lock); \ (void) ipsec_create_ctx_tmpl(_sa, _type); \ ! mutex_exit(&ipss->ipsec_alg_lock); \ } \ mutex_exit(&assoc->ipsa_lock); \ if ((_tmpl = (_sa)->_which) == IPSEC_CTX_TMPL_ALLOC) \ _tmpl = NULL; \ } \ --- 913,925 ---- mutex_enter(&assoc->ipsa_lock); \ if ((_sa)->_which == IPSEC_CTX_TMPL_ALLOC) { \ ipsec_stack_t *ipss; \ \ ipss = assoc->ipsa_netstack->netstack_ipsec; \ ! rw_enter(&ipss->ipsec_alg_lock, RW_READER); \ (void) ipsec_create_ctx_tmpl(_sa, _type); \ ! rw_exit(&ipss->ipsec_alg_lock); \ } \ mutex_exit(&assoc->ipsa_lock); \ if ((_tmpl = (_sa)->_which) == IPSEC_CTX_TMPL_ALLOC) \ _tmpl = NULL; \ } \