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;                                   \
          }                                                               \