Lines Matching defs:msp
99 #define SETSTATE(msp, state) \
100 MAN_DBG(MAN_DLPI, ("msp=0x%p @ %d state %s=>%s\n", \
101 (void *)msp, __LINE__, dss[msp->ms_dlpistate], \
103 msp->ms_dlpistate = (state);
239 #define SETSTATE(msp, state) msp->ms_dlpistate = (state);
1199 manstr_t *msp;
1211 * reopen; q_ptr set to msp at open completion.
1220 msp = man_kzalloc(sizeof (manstr_t), KM_SLEEP);
1221 SETSTATE(msp, DL_UNATTACHED);
1222 msp->ms_meta_ppa = -1;
1223 msp->ms_rq = rq;
1224 rq->q_ptr = WR(rq)->q_ptr = msp;
1304 msp->ms_meta_maj = getmajor(*devp);
1305 msp->ms_minor = minordev;
1307 msp->ms_flags = MAN_SFLAG_CONTROL;
1312 msp->ms_next = *prevmsp;
1313 *prevmsp = msp;
1332 man_kfree((char *)msp, sizeof (manstr_t));
1431 manstr_t *msp;
1444 for (msp = man_strup; msp && msp->ms_next != close_msp; )
1445 msp = msp->ms_next;
1447 if (msp == NULL) {
1452 msp->ms_next = close_msp->ms_next;
1486 man_dodetach(manstr_t *msp, man_work_t *wp)
1492 mdp = msp->ms_dests;
1493 msp->ms_dests = NULL;
1494 msp->ms_destp = NULL;
1529 man_dl_clean(&msp->ms_dl_mp);
1530 man_dl_clean(&msp->ms_dlioc_mp);
1535 msp->ms_flags &= ~MAN_SFLAG_FAST;
1548 msp->ms_manp->man_refcnt--;
1551 msp->ms_manp = NULL;
1567 register manstr_t *msp; /* per stream data */
1570 msp = (manstr_t *)wq->q_ptr;
1573 " msp(0x%p)\n",
1574 (void *)wq, (void *)mp, DB_TYPE(mp), (void *)msp));
1594 manp = msp->ms_manp;
1596 if (((msp->ms_flags & (MAN_SFLAG_FAST | MAN_SFLAG_RAW)) == 0) ||
1597 (msp->ms_dlpistate != DL_IDLE) ||
1691 register manstr_t *msp; /* per stream data */
1697 msp = (manstr_t *)wq->q_ptr;
1699 MAN_DBG(MAN_DATA, ("man_start: msp(0x%p) ether_addr(%s)\n",
1700 (void *)msp, ether_sprintf(eap)));
1702 if (msp->ms_dests == NULL) {
1711 mdp = msp->ms_destp;
1723 mdp = &msp->ms_dests[i];
1754 mdp = &msp->ms_dests[i];
1944 * care about come down the control msp, but the IOC ones come down the IP.
1953 manstr_t *msp;
1957 msp = (manstr_t *)wq->q_ptr;
2011 if (man_dlioc(msp, mp))
2014 msp->ms_flags |= MAN_SFLAG_RAW;
2296 manstr_t *msp;
2307 msp = (manstr_t *)wq->q_ptr;
2308 manp = msp->ms_manp;
2342 if (!(msp->ms_flags & MAN_SFLAG_FAST))
2343 status = man_dl_catch(&msp->ms_dlioc_mp, mp);
2346 if ((status != 0) || ((status = man_dlpi_senddown(msp, mp)) != 0)) {
2373 msp = (manstr_t *)wq->q_ptr;
2374 msp->ms_flags |= MAN_SFLAG_FAST;
2392 manstr_t *msp; /* per stream data */
2397 msp = (manstr_t *)wq->q_ptr;
2399 MAN_DBG(MAN_UWSRV, ("man_uwsrv: wq(0x%p) msp", (void *)wq));
2400 MAN_DBGCALL(MAN_UWSRV, man_print_msp(msp));
2402 if (msp == NULL)
2405 manp = msp->ms_manp;
2455 if ((msp->ms_flags & MAN_SFLAG_CONTROL) &&
2557 manstr_t *msp;
2564 msp = (manstr_t *)wq->q_ptr;
2567 if (msp->ms_dlpistate != DL_IDLE) {
2605 manstr_t *msp; /* per stream data */
2613 msp = (manstr_t *)wq->q_ptr;
2624 if (msp->ms_dlpistate != DL_UNATTACHED) {
2659 if (man_dlpi(msp, mp)) {
2666 if (man_dlpi(msp, preq)) {
2675 msp->ms_manp = manp;
2676 msp->ms_meta_ppa = ppa;
2681 ASSERT(msp->ms_dests == NULL);
2682 if (man_init_dests(manp, msp)) {
2690 while ((tmp = msp->ms_dl_mp) != NULL) {
2691 msp->ms_dl_mp = msp->ms_dl_mp->b_next;
2696 msp->ms_manp = NULL;
2697 msp->ms_meta_ppa = -1;
2707 SETSTATE(msp, DL_UNBOUND);
2731 man_init_dests(man_t *manp, manstr_t *msp)
2741 msp->ms_dests = mdp;
2752 man_start_dest(&mdp[i], msp, mpg);
2763 man_start_dest(man_dest_t *mdp, manstr_t *msp, man_pg_t *mpg)
2769 mdp->md_msp = msp;
2770 mdp->md_rq = msp->ms_rq;
2773 ASSERT(msp->ms_manp);
2775 ether_copy(&msp->ms_manp->man_eaddr, &mdp->md_src_eaddr);
2795 man_set_optimized_dest(msp);
2802 man_set_optimized_dest(manstr_t *msp)
2809 if (msp->ms_dests[i].md_msp != NULL) {
2811 mdp = &msp->ms_dests[i];
2816 msp->ms_destp = mdp;
2818 msp->ms_destp = NULL;
2827 man_dlpi(manstr_t *msp, mblk_t *mp)
2831 status = man_dl_catch(&msp->ms_dl_mp, mp);
2833 status = man_dlpi_senddown(msp, mp);
2842 man_dlioc(manstr_t *msp, mblk_t *mp)
2846 status = man_dl_catch(&msp->ms_dlioc_mp, mp);
2848 status = man_dlpi_senddown(msp, mp);
2856 * w/ their b_next fields and hang it off of msp->ms_dl_mp. We
2859 * msp - pointer of stream struct to process
2902 * msp - ptr to NDM stream structure DL_ messages was received on.
2906 man_dlpi_senddown(manstr_t *msp, mblk_t *mp)
2915 if (msp->ms_dests == NULL)
2919 mdp = &msp->ms_dests[i];
2948 mdp = &msp->ms_dests[i];
3012 manstr_t *msp; /* per stream data */
3015 msp = (manstr_t *)wq->q_ptr;
3022 if (msp->ms_dlpistate != DL_UNBOUND) {
3027 ASSERT(msp->ms_dests != NULL);
3034 man_dodetach(msp, wp);
3037 SETSTATE(msp, DL_UNATTACHED);
3063 * msp - pointer of stream struct to process
3198 manstr_t *msp; /* per stream data */
3204 msp = (manstr_t *)wq->q_ptr;
3211 if (msp->ms_dlpistate != DL_UNBOUND) {
3217 manp = msp->ms_manp; /* valid after attach */
3233 if (man_dlpi(msp, mp)) {
3238 msp->ms_sap = sap;
3240 SETSTATE(msp, DL_IDLE);
3242 man_addr.dl_sap = msp->ms_sap;
3243 ether_copy(&msp->ms_manp->man_eaddr, &man_addr.dl_phys);
3245 dlbindack(wq, mp, msp->ms_sap, &man_addr, MAN_ADDRL, 0, 0);
3252 manstr_t *msp; /* per stream data */
3254 msp = (manstr_t *)wq->q_ptr;
3261 if (msp->ms_dlpistate != DL_IDLE) {
3266 if (man_dlpi_senddown(msp, mp)) {
3271 man_dl_release(&msp->ms_dl_mp, mp);
3273 SETSTATE(msp, DL_UNBOUND);
3282 manstr_t *msp;
3288 msp = (manstr_t *)wq->q_ptr;
3306 dlip->dl_current_state = msp->ms_dlpistate;
3308 dlap->dl_sap = msp->ms_sap;
3313 if (msp->ms_manp != NULL) {
3314 ether_copy(&msp->ms_manp->man_eaddr, &dlap->dl_phys);
3330 manstr_t *msp;
3333 msp = (manstr_t *)wq->q_ptr;
3362 if (man_dlpi(msp, mp)) {
3367 msp->ms_flags |= flag;
3376 manstr_t *msp;
3379 msp = (manstr_t *)wq->q_ptr;
3404 if ((msp->ms_flags & flag) == 0) {
3409 if (man_dlpi_senddown(msp, mp)) {
3414 man_dl_release(&msp->ms_dl_mp, mp);
3416 msp->ms_flags &= ~flag;
3429 manstr_t *msp;
3435 msp = (manstr_t *)wq->q_ptr;
3442 if (msp->ms_dlpistate == DL_UNATTACHED) {
3463 if (man_dlpi(msp, mp)) {
3475 manstr_t *msp;
3481 msp = (manstr_t *)wq->q_ptr;
3488 if (msp->ms_dlpistate == DL_UNATTACHED) {
3505 if (man_dlpi_senddown(msp, mp)) {
3510 man_dl_release(&msp->ms_dl_mp, mp);
3519 manstr_t *msp;
3524 msp = (manstr_t *)wq->q_ptr;
3533 if (msp->ms_manp == NULL) {
3544 ether_bcopy(&msp->ms_manp->man_eaddr, &addr);
3562 manstr_t *msp;
3568 msp = (manstr_t *)wq->q_ptr;
3599 if (msp->ms_manp == NULL) {
3608 if (man_dlpi_senddown(msp, mp)) {
3613 ether_copy(addrp, msp->ms_manp->man_eaddr.ether_addr_octet);
3616 ether_sprintf(&msp->ms_manp->man_eaddr)));
3716 manstr_t *msp;
3766 msp = mdp->md_msp;
3767 if (!(msp->ms_flags & MAN_SFLAG_PROMISC))
4601 manstr_t *msp;
4603 for (msp = man_strup; msp != NULL; msp = msp->ms_next) {
4607 if (msp != sdp->md_msp)
4610 if (msp->ms_dests == NULL)
4613 mdp = &msp->ms_dests[pg_id];
4671 manstr_t *msp;
4683 msp = mdp->md_msp;
4685 rmp = man_dup_mplist(msp->ms_dl_mp);
4874 manstr_t *msp;
4877 for (msp = man_strup; msp != NULL; msp = msp->ms_next) {
4879 if (!man_str_uses_pg(msp, mpg))
4882 mdp = &msp->ms_dests[mpg->mpg_pg_id];
4894 man_start_dest(mdp, msp, mpg);
4902 manstr_t *msp;
4920 for (msp = man_strup; msp != NULL; msp = msp->ms_next) {
4921 if (!man_str_uses_pg(msp, mpg))
4938 for (msp = man_strup; msp != NULL; msp = msp->ms_next) {
4939 if (!man_str_uses_pg(msp, mpg))
4942 mdp = &msp->ms_dests[mpg->mpg_pg_id];
4953 man_set_optimized_dest(msp);
4993 man_str_uses_pg(manstr_t *msp, man_pg_t *mpg)
4997 status = ((msp->ms_flags & MAN_SFLAG_CONTROL) ||
4998 (msp->ms_dests == NULL) ||
4999 (msp->ms_manp == NULL) ||
5000 (msp->ms_manp->man_meta_ppa != mpg->mpg_man_ppa));
5358 * happen. Note that we need to switch each of msp->dests[pg_id], for
5368 manstr_t *msp;
5382 for (msp = man_strup; msp != NULL; msp = msp->ms_next) {
5383 if (man_str_uses_pg(msp, mpg))
5399 for (msp = man_strup; msp != NULL; msp = msp->ms_next) {
5400 if (man_str_uses_pg(msp, mpg)) {
5407 mdp = &msp->ms_dests[mpg->mpg_pg_id];
7692 manstr_t *msp;
7702 for (msp = man_strup; msp != NULL; msp = msp->ms_next) {
7704 if (!man_str_uses_pg(msp, mpg))
7707 mdp = &msp->ms_dests[mpg->mpg_pg_id];
8007 man_print_msp(manstr_t *msp)
8014 cmn_err(CE_CONT, "\tmsp(0x%p)\n", (void *)msp);
8016 if (msp == NULL)
8020 ddi_major_to_name(msp->ms_meta_maj), msp->ms_meta_ppa,
8021 msp->ms_sap);
8025 flags = msp->ms_flags;
8035 cmn_err(CE_CONT, "\tms_dlpistate: %s\n", dss[msp->ms_dlpistate]);
8037 cmn_err(CE_CONT, "\tms_dl_mp: 0x%p\n", (void *)msp->ms_dl_mp);
8039 cmn_err(CE_CONT, "\tms_manp: 0x%p\n", (void *)msp->ms_manp);
8041 cmn_err(CE_CONT, "\tms_dests: 0x%p\n", (void *)msp->ms_dests);