Lines Matching defs:sps

302 sppp_mproto(queue_t *q, mblk_t *mp, spppstr_t *sps)
310 ASSERT(!IS_SPS_CONTROL(sps));
334 sps->sps_dlstate != dpi->pi_state) {
337 sps->sps_dlstate, dpi->pi_state, prim));
350 sps->sps_mn_id, cp);
354 sps->sps_mn_id, prim);
357 return ((*dpi->pi_funcp)(q, mp, sps));
370 sppp_dlattachreq(queue_t *q, mblk_t *mp, spppstr_t *sps)
378 ASSERT(sps != NULL);
379 ASSERT(sps->sps_dlstate == DL_UNATTACHED);
381 if (IS_SPS_PIOATTACH(sps)) {
407 spppstr_t *sps = q->q_ptr;
413 ASSERT(!IS_SPS_PIOATTACH(sps));
417 if (sps->sps_ppa != NULL) {
418 sppp_remove_ppa(sps);
422 zoneid = sps->sps_zoneid;
448 if ((sps->sps_hangup = allocb(1, BPRI_MED)) == NULL) {
453 sps->sps_dlstate = DL_UNBOUND;
454 sps->sps_ppa = ppa;
461 sps->sps_nextsib = ppa->ppa_streams;
462 ppa->ppa_streams = sps;
468 if (IS_SPS_PROMISC(sps)) {
472 DBGDLPI((CE_CONT, "/%d: attached to ppa %d\n", sps->sps_mn_id,
488 sppp_dldetachreq(queue_t *q, mblk_t *mp, spppstr_t *sps)
492 ASSERT(sps != NULL);
493 ASSERT(sps->sps_dlstate == DL_UNBOUND);
494 ASSERT(!IS_SPS_PIOATTACH(sps));
514 spppstr_t *sps;
518 sps = (spppstr_t *)q->q_ptr;
523 sps->sps_flags &= ~SPS_PROMISC; /* clear flag anyway */
524 sps->sps_dlstate = DL_UNATTACHED;
538 sppp_dlbindreq(queue_t *q, mblk_t *mp, spppstr_t *sps)
549 ASSERT(sps != NULL);
550 ASSERT(!IS_SPS_PIOATTACH(sps));
551 ASSERT(sps->sps_dlstate == DL_UNBOUND);
553 ppa = sps->sps_ppa;
583 spppstr_t *sps;
591 sps = (spppstr_t *)q->q_ptr;
594 ppa = sps->sps_ppa;
616 ppa->ppa_ip_cache = sps;
621 ppa->ppa_ip6_cache = sps;
631 sps->sps_flags |= SPS_CACHED;
645 DBGDLPI((CE_CONT, "/%d: bound to sap %X (req %X)\n", sps->sps_mn_id,
647 sps->sps_req_sap = req_sap;
648 sps->sps_sap = sap;
649 sps->sps_dlstate = DL_IDLE;
664 sppp_dlunbindreq(queue_t *q, mblk_t *mp, spppstr_t *sps)
668 ASSERT(sps != NULL);
669 ASSERT(!IS_SPS_PIOATTACH(sps));
670 ASSERT(sps->sps_dlstate == DL_IDLE);
689 spppstr_t *sps;
696 sps = (spppstr_t *)q->q_ptr;
697 ppa = sps->sps_ppa;
699 sap = sps->sps_sap;
706 if ((ppa != NULL) && IS_SPS_CACHED(sps)) {
707 sps->sps_flags &= ~SPS_CACHED;
710 (sps->sps_npmode == NPMODE_PASS ||
711 sps->sps_npmode == NPMODE_QUEUE));
730 DBGDLPI((CE_CONT, "/%d: unbound from sap %X (req %X)\n", sps->sps_mn_id,
731 sps->sps_sap, sps->sps_req_sap));
732 sps->sps_req_sap = 0;
733 sps->sps_sap = -1;
734 sps->sps_dlstate = DL_UNBOUND;
749 sppp_dlinforeq(queue_t *q, mblk_t *mp, spppstr_t *sps)
758 ASSERT(sps != NULL);
759 ppa = sps->sps_ppa;
772 dlip->dl_current_state = sps->sps_dlstate;
807 sppp_dlunitdatareq(queue_t *q, mblk_t *mp, spppstr_t *sps)
825 ASSERT(sps != NULL);
826 ASSERT(!IS_SPS_PIOATTACH(sps));
827 ASSERT(sps->sps_dlstate == DL_IDLE);
828 ASSERT(q->q_ptr == sps);
833 ppa = sps->sps_ppa;
858 if (IS_SPS_KDEBUG(sps)) {
860 "/%d: DL_UNITDATA_REQ (%d bytes) sps=0x%p flags=0x%b "
861 "ppa=0x%p flags=0x%b\n", sps->sps_mn_id, msize,
862 (void *)sps, sps->sps_flags, SPS_FLAGS_STR,
884 sppp_dlprsendup(ppa->ppa_streams, mp->b_cont, sps->sps_sap,
896 *(uchar_t *)mp->b_wptr++ = ((uint16_t)sps->sps_sap >> 8) & 0xff;
897 *(uchar_t *)mp->b_wptr++ = ((uint16_t)sps->sps_sap) & 0xff;
935 sppp_dlpromisconreq(queue_t *q, mblk_t *mp, spppstr_t *sps)
942 ASSERT(sps != NULL);
945 if (IS_SPS_PROMISC(sps)) {
970 spppstr_t *sps;
974 sps = (spppstr_t *)q->q_ptr;
975 ASSERT(!IS_SPS_PROMISC(sps));
977 ppa = sps->sps_ppa;
979 sps->sps_flags |= SPS_PROMISC;
991 DBGDLPI((CE_CONT, "/%d: promiscuous mode on\n", sps->sps_mn_id));
1005 sppp_dlpromiscoffreq(queue_t *q, mblk_t *mp, spppstr_t *sps)
1012 ASSERT(sps != NULL);
1014 if (!IS_SPS_PROMISC(sps)) {
1041 spppstr_t *sps;
1045 sps = (spppstr_t *)q->q_ptr;
1046 ASSERT(IS_SPS_PROMISC(sps));
1048 ppa = sps->sps_ppa;
1050 sps->sps_flags &= ~SPS_PROMISC;
1062 DBGDLPI((CE_CONT, "/%d: promiscuous mode off\n", sps->sps_mn_id));
1096 sppp_dladdether(spppstr_t *sps, mblk_t *mp, t_scalar_t proto)
1138 sppp_dladdud(spppstr_t *sps, mblk_t *mp, t_scalar_t proto, boolean_t promisc)
1183 type = sps->sps_req_sap;
1205 sppp_dlprsendup(spppstr_t *sps, mblk_t *mp, t_scalar_t proto, boolean_t header)
1210 ASSERT(sps != NULL);
1212 ppa = sps->sps_ppa;
1218 for (; sps != NULL; sps = sps->sps_nextsib) {
1224 if (IS_SPS_PROMISC(sps) && (sps->sps_dlstate == DL_IDLE) &&
1225 canputnext(sps->sps_rq)) {
1235 if (IS_SPS_RAWDATA(sps)) {
1237 dmp = sppp_dladdether(sps, dmp, proto);
1240 dmp = sppp_dladdud(sps, dmp, proto, B_TRUE);
1243 putnext(sps->sps_rq, dmp);