Lines Matching refs:keystack

140 #define	ks1dbg(keystack, a)	if (keystack->keystack_debug != 0) printf a
141 #define ks2dbg(keystack, a) if (keystack->keystack_debug > 1) printf a
142 #define ks3dbg(keystack, a) if (keystack->keystack_debug > 2) printf a
201 keysock_stack_t *keystack = ns->netstack_keysock;
208 keystack->keystack_plumbed = 0; /* we're trying again.. */
211 keystack->keystack_netstack->netstack_stackid));
301 keystack->keystack_plumbed = (err == 0) ? 1 : -1;
309 keystack->keystack_plumbed);
326 keysock_stack_t *keystack = ks->keysock_keystack;
328 mutex_enter(&keystack->keystack_param_lock);
330 mutex_exit(&keystack->keystack_param_lock);
349 keysock_stack_t *keystack = ks->keysock_keystack;
355 mutex_enter(&keystack->keystack_param_lock);
362 mutex_exit(&keystack->keystack_param_lock);
368 mutex_exit(&keystack->keystack_param_lock);
425 keysock_stack_t *keystack;
428 keystack = (keysock_stack_t *)kmem_zalloc(sizeof (*keystack), KM_SLEEP);
429 keystack->keystack_netstack = ns;
431 keystack->keystack_acquire_seq = 0xffffffff;
434 keystack->keystack_params = ksp;
437 (void) keysock_param_register(&keystack->keystack_g_nd, ksp,
440 mutex_init(&keystack->keystack_list_lock, NULL, MUTEX_DEFAULT, NULL);
441 mutex_init(&keystack->keystack_consumers_lock,
443 mutex_init(&keystack->keystack_param_lock, NULL, MUTEX_DEFAULT, NULL);
444 return (keystack);
464 keysock_stack_t *keystack = (keysock_stack_t *)arg;
466 nd_free(&keystack->keystack_g_nd);
467 kmem_free(keystack->keystack_params, sizeof (lcl_param_arr));
468 keystack->keystack_params = NULL;
470 mutex_destroy(&keystack->keystack_list_lock);
471 mutex_destroy(&keystack->keystack_consumers_lock);
472 mutex_destroy(&keystack->keystack_param_lock);
474 kmem_free(keystack, sizeof (*keystack));
487 keysock_stack_t *keystack;
497 keystack = kc->kc_keystack;
499 ks1dbg(keystack, ("Module close, removing a consumer (%d).\n",
514 keystack->keystack_flushdump--;
515 if (keystack->keystack_flushdump == 0) {
528 mutex_enter(&keystack->keystack_consumers_lock);
529 keystack->keystack_consumers[kc->kc_sa_type] = NULL;
530 mutex_exit(&keystack->keystack_consumers_lock);
535 keystack = ks->keysock_keystack;
537 ks3dbg(keystack,
540 atomic_dec_32(&keystack->keystack_num_extended);
542 mutex_enter(&keystack->keystack_list_lock);
546 mutex_exit(&keystack->keystack_list_lock);
569 keysock_stack_t *keystack;
581 keystack = ns->netstack_keysock;
582 ASSERT(keystack != NULL);
584 ks3dbg(keystack, ("Entering keysock open.\n"));
586 if (keystack->keystack_plumbed < 1) {
587 netstack_t *ns = keystack->keystack_netstack;
589 keystack->keystack_plumbed = 0;
592 keystack->keystack_netstack->netstack_stackid);
606 netstack_rele(keystack->keystack_netstack);
616 kc->kc_keystack = keystack;
627 ks1dbg(keystack, (
634 netstack_rele(keystack->keystack_netstack);
645 ks2dbg(keystack, ("Ready to putnext KEYSOCK_HELLO.\n"));
652 ks2dbg(keystack, ("Made it into PF_KEY socket open.\n"));
657 netstack_rele(keystack->keystack_netstack);
663 netstack_rele(keystack->keystack_netstack);
675 ks->keysock_keystack = keystack;
683 q->q_hiwat = keystack->keystack_recv_hiwat;
691 WR(q)->q_hiwat = keystack->keystack_xmit_hiwat;
692 WR(q)->q_lowat = keystack->keystack_xmit_lowat;
699 mutex_enter(&keystack->keystack_list_lock);
700 ks->keysock_next = keystack->keystack_list;
701 ks->keysock_ptpn = &keystack->keystack_list;
702 if (keystack->keystack_list != NULL) {
703 keystack->keystack_list->keysock_ptpn =
706 keystack->keystack_list = ks;
707 mutex_exit(&keystack->keystack_list_lock);
711 keystack->keystack_recv_hiwat);
718 keystack->keystack_netstack->netstack_ipsec)) {
859 keysock_stack_t *keystack = ks->keysock_keystack;
871 if (*i1 > keystack->keystack_max_buf)
876 if (*i1 > keystack->keystack_max_buf) {
903 keysock_stack_t *keystack = ks->keysock_keystack;
910 ks3dbg(keystack, (
964 if (nd_getset(q, keystack->keystack_g_nd, mp)) {
1002 keysock_stack_t *keystack = ks->keysock_keystack;
1019 keysock_passup(mp, samsg, ks->keysock_serial, NULL, B_FALSE, keystack);
1034 keysock_stack_t *keystack = ks->keysock_keystack;
1038 ks3dbg(keystack, ("keysock_passdown: allocb failed.\n"));
1051 keystack->keystack_flushdump--;
1076 kc = keystack->keystack_consumers[satype];
1084 keystack->keystack_flushdump--;
1108 ext_check(sadb_ext_t *ext, keysock_stack_t *keystack)
1147 ks1dbg(keystack, (
1149 ks1dbg(keystack, ("%d bits, len is %d bytes.\n",
1221 keysock_stack_t *keystack)
1253 if (!ext_check(extv[0], keystack))
1288 keysock_stack_t *keystack = ks->keysock_keystack;
1295 keystack);
1300 if (keystack->keystack_flushdump != 0) {
1320 keystack->keystack_flushdump_errno = 0;
1339 mutex_enter(&keystack->keystack_consumers_lock);
1341 if (keystack->keystack_consumers[i] != NULL) {
1361 mutex_enter(&keystack->keystack_consumers[i]->kc_lock);
1362 ASSERT((keystack->keystack_consumers[i]->kc_flags &
1364 keystack->keystack_consumers[i]->kc_flags |=
1366 mutex_exit(&(keystack->keystack_consumers[i]->kc_lock));
1368 keystack->keystack_flushdump++;
1376 mutex_exit(&keystack->keystack_consumers_lock);
1382 mutex_exit(&keystack->keystack_consumers_lock);
1384 if (keystack->keystack_flushdump == 0) {
1481 keysock_stack_t *keystack = ks->keysock_keystack;
1510 keystack->keystack_netstack);
1515 ks->keysock_serial, NULL, B_FALSE, keystack);
1532 keysock_stack_t *keystack = ks->keysock_keystack;
1557 keystack);
1568 atomic_inc_32(&keystack->keystack_num_extended);
1576 keysock_stack_t *keystack = ks->keysock_keystack;
1582 if (keystack->keystack_consumers[i] != NULL) {
1605 keysock_stack_t *keystack = ks->keysock_keystack;
1611 ks2dbg(keystack, ("Received possible PF_KEY message, type %d.\n",
1625 ks2dbg(keystack,
1638 ks3dbg(keystack,
1646 switch (keysock_get_ext(extv, samsg, msgsize, keystack)) {
1649 ks1dbg(keystack, ("Got duplicate extension of type %d.\n",
1656 ks1dbg(keystack, ("Got unknown extension of type %d.\n",
1662 ks1dbg(keystack,
1669 ks1dbg(keystack,
1762 keystack);
1791 ks2dbg(keystack, ("FLUSH message with extension.\n"));
1819 keystack);
1825 ks2dbg(keystack, ("Got unknown message type %d.\n",
1848 keysock_stack_t *keystack;
1852 keystack = kc->kc_keystack;
1854 ks3dbg(keystack, ("In keysock_wput\n"));
1860 ks1dbg(keystack, ("Huh? wput for an consumer instance (%d)?\n",
1866 keystack = ks->keysock_keystack;
1868 ks3dbg(keystack, ("In keysock_wput\n"));
1875 ks2dbg(keystack, ("raw M_DATA in keysock.\n"));
1884 ks2dbg(keystack,
1891 ks2dbg(keystack, ("T_DATA_REQ\n"));
1897 ks3dbg(keystack, ("In default wput case (%d %d).\n",
1917 keysock_stack_t *keystack = kc->kc_keystack;
1919 mutex_enter(&keystack->keystack_consumers_lock);
1921 if (keystack->keystack_consumers[satype] != NULL) {
1930 mutex_exit(&keystack->keystack_consumers_lock);
1933 keystack->keystack_consumers[satype] = kc;
1938 mutex_exit(&keystack->keystack_consumers_lock);
1941 mutex_enter(&keystack->keystack_list_lock);
1942 for (ks = keystack->keystack_list; ks != NULL;
1949 ks1dbg(keystack,
1954 mutex_exit(&keystack->keystack_list_lock);
1966 keysock_stack_t *keystack = kc->kc_keystack;
1970 ks1dbg(keystack, ("keysock_out_err: Can't alloc message.\n"));
2011 keysock_consumer_t *kc, boolean_t persistent, keysock_stack_t *keystack)
2046 ks3dbg(keystack,
2072 ks3dbg(keystack, ("Delivering REGISTER.\n"));
2099 ks3dbg(keystack, ("Delivering ACQUIRE.\n"));
2109 if (allreg && keystack->keystack_num_extended > 0)
2120 ks3dbg(keystack, ("Delivering sender/promisc only (%d).\n",
2125 mutex_enter(&keystack->keystack_list_lock);
2126 for (ks = keystack->keystack_list; ks != NULL; ks = ks->keysock_next) {
2165 ks2dbg(keystack, (
2186 ks1dbg(keystack, (
2196 ks3dbg(keystack,
2207 mutex_exit(&keystack->keystack_list_lock);
2216 ks1dbg(keystack,
2231 ks2dbg(keystack,
2284 keysock_stack_t *keystack = kc->kc_keystack;
2296 ks1dbg(keystack,
2322 ASSERT(keystack->keystack_flushdump != 0);
2330 keystack->keystack_flushdump_errno =
2338 if (atomic_dec_32_nv(&keystack->keystack_flushdump) !=
2340 ks1dbg(keystack,
2348 (uint8_t)keystack->keystack_flushdump_errno;
2354 (samsg->sadb_msg_type == SADB_DUMP), keystack);
2363 ks1dbg(keystack, ("Hmmm, an IPsec info I'm not used to, 0x%x\n",
2375 keysock_stack_t *keystack = ns->netstack_keysock;
2377 return (keystack->keystack_num_extended != 0);
2383 keysock_stack_t *keystack = ns->netstack_keysock;
2385 return (atomic_dec_32_nv(&keystack->keystack_acquire_seq));