Lines Matching refs:inst

191 	sof_instance_t *inst;  in sof_setsockopt_impl()  local
208 for (inst = so->so_filter_top; inst != NULL; in sof_setsockopt_impl()
209 inst = inst->sofi_next) { in sof_setsockopt_impl()
210 if (strncmp(inst->sofi_filter->sofe_name, in sof_setsockopt_impl()
230 inst = sof_instance_create(ent, so); in sof_setsockopt_impl()
234 if (inst == NULL) in sof_setsockopt_impl()
243 sof_instance_destroy(inst); in sof_setsockopt_impl()
249 inst->sofi_ops = &ent->sofe_mod->sofm_ops; in sof_setsockopt_impl()
251 SOF_STAT_ADD(inst, tot_active_attach, 1); in sof_setsockopt_impl()
252 if (inst->sofi_ops->sofop_attach_active != NULL) { in sof_setsockopt_impl()
253 rval = inst->sofi_ops->sofop_attach_active( in sof_setsockopt_impl()
254 (sof_handle_t)inst, so->so_family, so->so_type, in sof_setsockopt_impl()
255 so->so_protocol, cr, &inst->sofi_cookie); in sof_setsockopt_impl()
268 SOF_STAT_ADD(inst, attach_failures, 1); in sof_setsockopt_impl()
274 sof_instance_destroy(inst); in sof_setsockopt_impl()
280 for (inst = so->so_filter_top; inst != NULL; in sof_setsockopt_impl()
281 inst = inst->sofi_next) { in sof_setsockopt_impl()
283 ent = inst->sofi_filter; in sof_setsockopt_impl()
288 if (inst == NULL) in sof_setsockopt_impl()
292 if (inst->sofi_filter->sofe_flags & SOFEF_AUTO) in sof_setsockopt_impl()
295 if (inst->sofi_ops->sofop_detach != NULL) in sof_setsockopt_impl()
296 inst->sofi_ops->sofop_detach((sof_handle_t)inst, in sof_setsockopt_impl()
297 inst->sofi_cookie, cr); in sof_setsockopt_impl()
298 sof_instance_destroy(inst); in sof_setsockopt_impl()
342 sof_instance_t *inst; in sof_getsockopt_impl() local
356 for (inst = so->so_filter_top, cnt = 0; inst != NULL; in sof_getsockopt_impl()
357 inst = inst->sofi_next) in sof_getsockopt_impl()
359 for (inst = so->so_filter_top, i = 0; in sof_getsockopt_impl()
360 inst != NULL && (i+1) * sizeof (*fi) <= maxsz; in sof_getsockopt_impl()
361 inst = inst->sofi_next, i++) { in sof_getsockopt_impl()
363 (inst->sofi_filter->sofe_flags & SOFEF_AUTO) ? in sof_getsockopt_impl()
365 if (inst->sofi_flags & SOFIF_BYPASS) in sof_getsockopt_impl()
368 inst->sofi_filter->sofe_name, FILNAME_MAX); in sof_getsockopt_impl()
407 sof_instance_t *inst, *pinst; in sof_sonode_inherit_filters() local
451 inst = sof_instance_create(pinst->sofi_filter, so); in sof_sonode_inherit_filters()
452 if (inst == NULL) { in sof_sonode_inherit_filters()
461 inst->sofi_ops = pinst->sofi_ops; in sof_sonode_inherit_filters()
463 SOF_STAT_ADD(inst, tot_passive_attach, 1); in sof_sonode_inherit_filters()
464 if (inst->sofi_ops->sofop_attach_passive != NULL) { in sof_sonode_inherit_filters()
465 rval = inst->sofi_ops->sofop_attach_passive( in sof_sonode_inherit_filters()
466 (sof_handle_t)inst, in sof_sonode_inherit_filters()
470 &inst->sofi_cookie); in sof_sonode_inherit_filters()
474 inst->sofi_flags |= SOFIF_DEFER; in sof_sonode_inherit_filters()
479 SOF_STAT_ADD(inst, ndeferred, 1); in sof_sonode_inherit_filters()
481 sof_instance_destroy(inst); in sof_sonode_inherit_filters()
483 SOF_STAT_ADD(inst, attach_failures, 1); in sof_sonode_inherit_filters()
513 sof_instance_t *inst; in sof_sonode_autoattach_filters() local
536 inst = so->so_filter_top; in sof_sonode_autoattach_filters()
537 while (inst != NULL) { in sof_sonode_autoattach_filters()
538 sof_entry_t *ent = inst->sofi_filter; in sof_sonode_autoattach_filters()
539 sof_instance_t *ninst = inst->sofi_next; in sof_sonode_autoattach_filters()
551 inst->sofi_ops = &ent->sofe_mod->sofm_ops; in sof_sonode_autoattach_filters()
553 SOF_STAT_ADD(inst, tot_active_attach, 1); in sof_sonode_autoattach_filters()
554 if (inst->sofi_ops->sofop_attach_active != NULL) { in sof_sonode_autoattach_filters()
555 rval = inst->sofi_ops->sofop_attach_active( in sof_sonode_autoattach_filters()
556 (sof_handle_t)inst, so->so_family, so->so_type, in sof_sonode_autoattach_filters()
557 so->so_protocol, cr, &inst->sofi_cookie); in sof_sonode_autoattach_filters()
562 sof_instance_destroy(inst); in sof_sonode_autoattach_filters()
565 SOF_STAT_ADD(inst, attach_failures, 1); in sof_sonode_autoattach_filters()
573 inst = ninst; in sof_sonode_autoattach_filters()
578 inst = so->so_filter_top; in sof_sonode_autoattach_filters()
580 ASSERT(inst != NULL); in sof_sonode_autoattach_filters()
587 sof_instance_t *t = inst->sofi_next; in sof_sonode_autoattach_filters()
588 sof_instance_destroy(inst); in sof_sonode_autoattach_filters()
589 inst = t; in sof_sonode_autoattach_filters()
590 } while (inst != NULL); in sof_sonode_autoattach_filters()
601 sof_instance_t *inst; in sof_sonode_cleanup() local
603 while ((inst = so->so_filter_top) != NULL) { in sof_sonode_cleanup()
604 (inst->sofi_ops->sofop_detach)((sof_handle_t)inst, in sof_sonode_cleanup()
605 inst->sofi_cookie, kcred); in sof_sonode_cleanup()
606 sof_instance_destroy(inst); in sof_sonode_cleanup()
617 sof_instance_t *inst; in sof_sonode_notify_filters() local
619 for (inst = so->so_filter_bottom; inst != NULL; in sof_sonode_notify_filters()
620 inst = inst->sofi_prev) { in sof_sonode_notify_filters()
621 if (SOF_INTERESTED(inst, notify)) in sof_sonode_notify_filters()
622 (inst->sofi_ops->sofop_notify)((sof_handle_t)inst, in sof_sonode_notify_filters()
623 inst->sofi_cookie, event, arg); in sof_sonode_notify_filters()
744 sof_instance_t *inst; in sof_instance_create() local
746 inst = kmem_zalloc(sizeof (sof_instance_t), KM_NOSLEEP); in sof_instance_create()
747 if (inst == NULL) in sof_instance_create()
750 inst->sofi_filter = ent; in sof_instance_create()
751 inst->sofi_sonode = so; in sof_instance_create()
753 inst->sofi_next = so->so_filter_top; in sof_instance_create()
755 so->so_filter_top->sofi_prev = inst; in sof_instance_create()
757 so->so_filter_bottom = inst; in sof_instance_create()
758 so->so_filter_top = inst; in sof_instance_create()
761 return (inst); in sof_instance_create()
770 sof_instance_destroy(sof_instance_t *inst) in sof_instance_destroy() argument
772 struct sonode *so = inst->sofi_sonode; in sof_instance_destroy()
774 ASSERT(inst->sofi_sonode != NULL); in sof_instance_destroy()
775 ASSERT(inst->sofi_filter != NULL); in sof_instance_destroy()
776 ASSERT(inst->sofi_prev != NULL || so->so_filter_top == inst); in sof_instance_destroy()
777 ASSERT(inst->sofi_next != NULL || so->so_filter_bottom == inst); in sof_instance_destroy()
779 if (inst->sofi_prev != NULL) in sof_instance_destroy()
780 inst->sofi_prev->sofi_next = inst->sofi_next; in sof_instance_destroy()
782 so->so_filter_top = inst->sofi_next; in sof_instance_destroy()
784 if (inst->sofi_next != NULL) in sof_instance_destroy()
785 inst->sofi_next->sofi_prev = inst->sofi_prev; in sof_instance_destroy()
787 so->so_filter_bottom = inst->sofi_prev; in sof_instance_destroy()
789 if (!(inst->sofi_flags & SOFIF_BYPASS)) { in sof_instance_destroy()
793 if (inst->sofi_flags & SOFIF_DEFER) in sof_instance_destroy()
794 SOF_STAT_ADD(inst, ndeferred, -1); in sof_instance_destroy()
795 sof_entry_rele(inst->sofi_filter); in sof_instance_destroy()
796 kmem_free(inst, sizeof (sof_instance_t)); in sof_instance_destroy()
1273 sof_instance_t *inst; in sof_filter_data_out_from() local
1278 for (inst = start; inst != NULL; inst = inst->sofi_next) { in sof_filter_data_out_from()
1279 if (!SOF_INTERESTED(inst, data_out)) in sof_filter_data_out_from()
1281 mp = (inst->sofi_ops->sofop_data_out)((sof_handle_t)inst, in sof_filter_data_out_from()
1282 inst->sofi_cookie, mp, msg, cr, &rval); in sof_filter_data_out_from()
1283 DTRACE_PROBE2(filter__data, (sof_instance_t), inst, in sof_filter_data_out_from()
1305 sof_instance_t *inst; in sof_filter_data_in_proc() local
1315 for (inst = so->so_filter_bottom; inst != NULL; in sof_filter_data_in_proc()
1316 inst = inst->sofi_prev) { in sof_filter_data_in_proc()
1317 if (!SOF_INTERESTED(inst, data_in_proc)) in sof_filter_data_in_proc()
1319 mp = (inst->sofi_ops->sofop_data_in_proc)( in sof_filter_data_in_proc()
1320 (sof_handle_t)inst, inst->sofi_cookie, mp, in sof_filter_data_in_proc()
1325 DTRACE_PROBE2(filter__data, (sof_instance_t), inst, in sof_filter_data_in_proc()
1383 sof_instance_t *inst; in sof_filter_accept() local
1386 for (inst = so->so_filter_top; inst != NULL; inst = inst->sofi_next) { in sof_filter_accept()
1387 if (!SOF_INTERESTED(inst, accept)) in sof_filter_accept()
1389 rval = (inst->sofi_ops->sofop_accept)((sof_handle_t)inst, in sof_filter_accept()
1390 inst->sofi_cookie, cr); in sof_filter_accept()
1391 DTRACE_PROBE2(filter__action, (sof_instance_t), inst, in sof_filter_accept()
1521 sof_instance_t *inst = (sof_instance_t *)handle; in sof_newconn_ready() local
1522 struct sonode *so = inst->sofi_sonode; in sof_newconn_ready()
1526 if (!(inst->sofi_flags & SOFIF_DEFER)) { in sof_newconn_ready()
1531 inst->sofi_flags &= ~SOFIF_DEFER; in sof_newconn_ready()
1532 SOF_STAT_ADD(inst, ndeferred, -1); in sof_newconn_ready()
1539 for (inst = so->so_filter_top; inst != NULL; inst = inst->sofi_next) { in sof_newconn_ready()
1541 if (inst->sofi_flags & SOFIF_DEFER) { in sof_newconn_ready()
1577 sof_instance_t *inst = (sof_instance_t *)handle; in sof_bypass() local
1578 struct sonode *so = inst->sofi_sonode; in sof_bypass()
1581 if (!(inst->sofi_flags & SOFIF_BYPASS)) { in sof_bypass()
1582 inst->sofi_flags |= SOFIF_BYPASS; in sof_bypass()
1601 sof_instance_t *inst = (sof_instance_t *)handle; in sof_rcv_flowctrl() local
1602 struct sonode *so = inst->sofi_sonode; in sof_rcv_flowctrl()
1606 inst->sofi_flags |= SOFIF_RCV_FLOWCTRL; in sof_rcv_flowctrl()
1611 inst->sofi_flags &= ~SOFIF_RCV_FLOWCTRL; in sof_rcv_flowctrl()
1612 for (inst = so->so_filter_top; inst != NULL; in sof_rcv_flowctrl()
1613 inst = inst->sofi_next) { in sof_rcv_flowctrl()
1615 if (inst->sofi_flags & SOFIF_RCV_FLOWCTRL) { in sof_rcv_flowctrl()
1639 sof_instance_t *inst = (sof_instance_t *)handle; in sof_snd_flowctrl() local
1640 struct sonode *so = inst->sofi_sonode; in sof_snd_flowctrl()
1644 inst->sofi_flags |= SOFIF_SND_FLOWCTRL; in sof_snd_flowctrl()
1647 inst->sofi_flags &= ~SOFIF_SND_FLOWCTRL; in sof_snd_flowctrl()
1648 for (inst = so->so_filter_top; inst != NULL; in sof_snd_flowctrl()
1649 inst = inst->sofi_next) { in sof_snd_flowctrl()
1650 if (inst->sofi_flags & SOFIF_SND_FLOWCTRL) { in sof_snd_flowctrl()
1687 sof_instance_t *inst = (sof_instance_t *)handle; in sof_cas_cookie() local
1689 return (atomic_cas_ptr(&inst->sofi_cookie, old, new)); in sof_cas_cookie()
1708 sof_instance_t *inst = (sof_instance_t *)handle; in sof_inject_data_out() local
1709 struct sonode *so = inst->sofi_sonode; in sof_inject_data_out()
1721 error = so_sendmblk_impl(inst->sofi_sonode, msg, FNONBLOCK, in sof_inject_data_out()
1722 kcred, &mp, inst->sofi_next, B_TRUE); in sof_inject_data_out()
1761 sof_instance_t *inst = (sof_instance_t *)handle; in sof_inject_data_in() local
1766 avail = so_queue_msg_impl(inst->sofi_sonode, mp, len, flags, &error, in sof_inject_data_in()
1767 NULL, inst->sofi_prev); in sof_inject_data_in()
1789 sof_instance_t *inst = (sof_instance_t *)handle; in sof_newconn_move() local
1793 so = inst->sofi_sonode; in sof_newconn_move()
1796 if (inst->sofi_next != NULL || inst->sofi_prev != NULL || in sof_newconn_move()