Lines Matching refs:ipsq
285 * * The <ipsq-xop> mapping
288 * into an ill, changing the <ipsq-xop> mapping of an ill, changing the
299 * It also protects the <ipsq-ipxop> mapping
324 * Changing <ill-phyint>, <ipsq-xop> assocications:
330 * To change the <ipsq-xop> association, the ill_g_lock must be held as
331 * writer, the ipsq_lock must be held, and one must be writer on the ipsq.
336 * a writer on the associated ipsq.
339 * writer and the thread must be a writer on the associated ipsq.
342 * must be a writer on the associated ipsq.
4022 ipsq_t *ipsq;
4044 ipsq = ill->ill_phyint->phyint_ipsq;
4059 * Wake up anybody waiting to enter the ipsq. ipsq_enter
4086 * ipsq have seen the error returned by ipsq_enter and have
4173 ipsq_exit(ipsq);
5970 * ill_init initializes the ipsq marking this thread as
8239 * Handling of DLPI messages that require exclusive access to the ipsq.
8246 ip_rput_dlpi_writer(ipsq_t *ipsq, queue_t *q, mblk_t *mp, void *dummy_arg)
8265 ASSERT(ipsq->ipsq_xop == ill->ill_phyint->phyint_ipsq->ipsq_xop);
8268 ipif = ipsq->ipsq_xop->ipx_pending_ipif;
8339 mp1 = ipsq_pending_mp_get(ipsq, &connp);
8363 mp1 = ipsq_pending_mp_get(ipsq, &connp);
8478 mp1 = ipsq_pending_mp_get(ipsq, &connp);
8532 mp1 = ipsq_pending_mp_get(ipsq, &connp);
8675 * We are writer. ill / phyint / ipsq assocs stable.
8747 ipsq_current_start(ipsq, ill->ill_ipif, 0);
8749 ipsq_current_finish(ipsq);
8830 mp1 = ipsq_pending_mp_get(ipsq, &connp);
8918 int, ipsq->ipsq_xop->ipx_current_ioctl, ill_t *, ill,
8921 switch (ipsq->ipsq_xop->ipx_current_ioctl) {
8923 ipsq_current_finish(ipsq);
8951 if (ipsq->ipsq_xop->ipx_current_ioctl == IF_UNITSEL)
8952 ip_ioctl_finish(q, mp1, err, NO_COPYOUT, ipsq);
8954 ip_ioctl_finish(q, mp1, err, COPYOUT, ipsq);
8958 ip_ioctl_finish(q, mp1, err, COPYOUT, ipsq);
8962 ip_ioctl_finish(q, mp1, err, NO_COPYOUT, ipsq);
8969 * state in IP. If 'ipsq' is non-NULL, caller is writer on it.
8973 ip_rput_other(ipsq_t *ipsq, queue_t *q, mblk_t *mp, void *dummy_arg)
8979 if (ipsq != NULL) {
8980 ASSERT(IAM_WRITER_IPSQ(ipsq));
8981 ASSERT(ipsq->ipsq_xop ==
8993 ASSERT(ipsq != NULL);
9000 ipif_all_down_tail(ipsq, q, mp, NULL);
12557 ip_reprocess_ioctl(ipsq_t *ipsq, queue_t *q, mblk_t *mp, void *dummy_arg)
12568 ASSERT(ipsq != NULL);
12575 * ill_phyint_reinit merged the v4 and v6 into a single ipsq.
12578 * the new ipsq.
12581 ipsq_current_start(ipsq, ill->ill_ipif, ipip->ipi_cmd);
12583 ASSERT(ipsq->ipsq_xop->ipx_current_ipif != NULL);
12597 err = (*ipip->ipi_func_restart)(ipsq->ipsq_xop->ipx_current_ipif, sin,
12602 ill_t *, ipsq->ipsq_xop->ipx_current_ipif->ipif_ill,
12603 ipif_t *, ipsq->ipsq_xop->ipx_current_ipif);
12605 ip_ioctl_finish(q, mp, err, IPI2MODE(ipip), ipsq);
12629 * ioctl. Finally ipsq_exit is called if needed to exit the ipsq.
12638 ip_process_ioctl(ipsq_t *ipsq, queue_t *q, mblk_t *mp, void *arg)
12741 * If ipsq is non-NULL, we are already being called exclusively
12743 ASSERT(ipsq == NULL || IAM_WRITER_IPSQ(ipsq));
12744 if (ipsq == NULL) {
12745 ipsq = ipsq_try_enter(ci.ci_ipif, NULL, q, mp, ip_process_ioctl,
12747 if (ipsq == NULL) {
12761 ipsq_current_start(ipsq, ci.ci_ipif, ipip->ipi_cmd);
12774 ip_ioctl_finish(q, mp, err, IPI2MODE(ipip), ipsq);
12777 ipsq_exit(ipsq);
12785 ip_ioctl_finish(queue_t *q, mblk_t *mp, int err, int mode, ipsq_t *ipsq)
12823 if (ipsq != NULL)
12824 ipsq_current_finish(ipsq);