Lines Matching refs:mp

320 sctp_input_add_ancillary(sctp_t *sctp, mblk_t **mp, sctp_data_hdr_t *dcp,
454 mp1->b_cont = *mp;
455 *mp = mp1;
630 mblk_t *mp, *mpnext, *mctl;
635 for (mp = sip->istr_reass; mp != NULL; mp = mpnext) {
636 mpnext = mp->b_next;
637 mp->b_next = NULL;
638 mp->b_prev = NULL;
639 if (DB_TYPE(mp) == M_CTL) {
640 mctl = mp;
644 ASSERT(mp->b_cont != NULL || srp->sr_got == 0);
646 mp = mp->b_cont;
650 freemsg(mp);
809 mblk_t *mp;
821 mp = hmp->b_cont;
822 qdc = (sctp_data_hdr_t *)mp->b_rptr;
837 prev = mp;
838 mp = mp->b_cont;
839 while (mp != NULL) {
840 qdc = (sctp_data_hdr_t *)mp->b_rptr;
843 prev = mp;
844 mp = mp->b_cont;
851 if (mp == NULL) {
867 hmp->b_cont = mp;
871 * mp now points at the last chunk in the sequence,
872 * and prev points to mp's previous in the list.
1250 mblk_t *mp;
1265 mp = *dups;
1266 if ((mp->b_wptr - mp->b_rptr) >= bsize) {
1272 bcopy(&tsn, mp->b_wptr, sizeof (tsn));
1273 mp->b_wptr += sizeof (tsn);
1274 ASSERT((mp->b_wptr - mp->b_rptr) <= bsize);
1283 sctp_data_chunk(sctp_t *sctp, sctp_chunk_hdr_t *ch, mblk_t *mp, mblk_t **dups,
1322 dprint(3, ("sctp_data_chunk: mp=%p tsn=%x\n", (void *)mp, tsn));
1409 dmp = dupb(mp);
2031 mblk_t *ump, *nump, *mp = NULL;
2047 for (mp = ump->b_cont; mp != NULL; mp = mp->b_next) {
2048 if (SCTP_CHUNK_ABANDONED(mp)) {
2050 mp = NULL;
2059 if (!SCTP_CHUNK_ISSENT(mp)) {
2061 mp != ump->b_cont &&
2070 sdc = (sctp_data_hdr_t *)mp->b_rptr;
2075 fp = SCTP_CHUNK_DEST(mp);
2086 if (SCTP_CHUNK_ISACKED(mp))
2088 SCTP_CHUNK_SET_SACKCNT(mp, 0);
2089 SCTP_CHUNK_ACKED(mp);
2125 *first_unacked = mp;
2143 sctp->sctp_xmit_unacked = mp;
2450 mblk_t *mp;
2461 for (mp = meta->b_cont; mp != NULL; mp = mp->b_next) {
2462 if (!SCTP_CHUNK_ISSENT(mp))
2464 if (SCTP_CHUNK_WANT_REXMIT(mp))
2467 if (mp == NULL)
2469 sctp_check_adv_ack_pt(sctp, meta, mp);
2471 sctp_make_ftsns(sctp, meta, mp, &nmp, fp, &seglen);
2507 mblk_t *mp = mphead;
2518 sdc = (sctp_data_hdr_t *)mp->b_rptr;
2527 if (ump == NULL || !SCTP_CHUNK_ISSENT(mp) ||
2530 mp = mphead;
2531 sdc = (sctp_data_hdr_t *)mp->b_rptr;
2568 mp = mp->b_next;
2569 if (mp == NULL) {
2576 mp = ump->b_cont;
2579 * mp can't be unsent because of the sanity check
2582 ASSERT(SCTP_CHUNK_ISSENT(mp));
2583 sdc = (sctp_data_hdr_t *)mp->b_rptr;
2596 SCTP_CHUNK_SET_SACKCNT(mp, 0);
2597 if (!SCTP_CHUNK_ISACKED(mp)) {
2598 SCTP_CHUNK_ACKED(mp);
2600 fp = SCTP_CHUNK_DEST(mp);
2621 mp = mp->b_next;
2622 if (mp == NULL) {
2628 mp = ump->b_cont;
2634 if (!SCTP_CHUNK_ISSENT(mp)) {
2638 sdc = (sctp_data_hdr_t *)mp->b_rptr;
2657 mp = mphead;
2658 sdc = (sctp_data_hdr_t *)mp->b_rptr;
2665 if (SEQ_GT(xtsn, fr_xtsn) && !SCTP_CHUNK_ISACKED(mp)) {
2666 SCTP_CHUNK_SET_SACKCNT(mp, SCTP_CHUNK_SACKCNT(mp) + 1);
2667 if (SCTP_CHUNK_SACKCNT(mp) ==
2669 SCTP_CHUNK_REXMIT(sctp, mp);
2676 fp = SCTP_CHUNK_DEST(mp);
2690 mp = mp->b_next;
2691 if (mp == NULL) {
2695 mp = ump->b_cont;
2698 ASSERT(SCTP_CHUNK_ISSENT(mp));
2699 sdc = (sctp_data_hdr_t *)mp->b_rptr;
2712 mblk_t *mp;
2767 mp = sctp->sctp_xmit_unacked;
2769 mp = sctp->sctp_xmit_head->b_cont;
2771 mp = NULL;
2778 if (mp != NULL && sctp->sctp_zero_win_probe &&
2782 mblk_t *mp1 = mp;
2823 acked = sctp_cumack(sctp, cumtsn, &mp);
2824 sctp->sctp_xmit_unacked = mp;
2836 if (num_gaps == 0 || mp == NULL || !SCTP_CHUNK_ISSENT(mp) ||
2845 * we don't have a back pointer from the mp to the meta data
2852 if (mp2 == mp)
2865 mp1 = mp;
2867 sdc = (sctp_data_hdr_t *)mp->b_rptr;
2923 SCTP_CHUNK_SET_SACKCNT(mp, SCTP_CHUNK_SACKCNT(mp) + 1);
2924 if (SCTP_CHUNK_SACKCNT(mp) ==
2926 SCTP_CHUNK_REXMIT(sctp, mp);
2933 fp = SCTP_CHUNK_DEST(mp);
2952 if (SCTP_CHUNK_ISACKED(mp)) {
2954 fp = SCTP_CHUNK_DEST(mp);
2957 SCTP_CHUNK_CLEAR_ACKED(sctp, mp);
2964 mp = mp->b_next;
2965 if (mp == NULL) {
2979 mp = ump->b_cont;
2982 * mp can't be unsent given the sanity check above.
2984 ASSERT(SCTP_CHUNK_ISSENT(mp));
2985 sdc = (sctp_data_hdr_t *)mp->b_rptr;
2998 SCTP_CHUNK_SET_SACKCNT(mp, 0);
2999 if (!SCTP_CHUNK_ISACKED(mp)) {
3000 SCTP_CHUNK_ACKED(mp);
3002 fp = SCTP_CHUNK_DEST(mp);
3017 mp = mp->b_next;
3033 * it should be fine to continue with NULL ump/mp,
3036 if (mp == NULL) {
3047 mp = mp1;
3048 sdc = (sctp_data_hdr_t *)mp->b_rptr;
3052 mp = ump->b_cont;
3057 * fine to continue processing gap blocks with mp
3062 * We just reset the mp to the one we started with.
3064 if (!SCTP_CHUNK_ISSENT(mp)) {
3067 mp = mp1;
3068 sdc = (sctp_data_hdr_t *)mp->b_rptr;
3072 sdc = (sctp_data_hdr_t *)mp->b_rptr;
3362 sctp_check_in_policy(mblk_t *mp, ip_recv_attr_t *ira, ip_stack_t *ipst)
3370 if (IPH_HDR_VERSION(mp->b_rptr) == IPV4_VERSION) {
3372 ipha = (ipha_t *)mp->b_rptr;
3377 ip6h = (ip6_t *)mp->b_rptr;
3385 mp = ipsec_check_global_policy(mp, (conn_t *)NULL,
3387 if (mp == NULL)
3390 return (mp);
3395 sctp_ootb_input(mblk_t *mp, ip_recv_attr_t *ira, ip_stack_t *ipst)
3417 if (mp->b_cont != NULL) {
3422 if (pullupmsg(mp, -1) == 0) {
3424 ip_drop_input("ipIfStatsInDiscards", mp, NULL);
3425 freemsg(mp);
3430 rptr = mp->b_rptr;
3446 mlen = mp->b_wptr - (uchar_t *)(sctph + 1);
3450 ip_drop_input("ipIfStatsInDiscards", mp, NULL);
3451 freemsg(mp);
3458 if (secure && sctp_check_in_policy(mp, ira, ipst) == NULL)
3461 NULL, 0, mp, 0, B_TRUE, ira, ipst);
3465 sctp = sctp_addrlist2sctp(mp, sctph, ch, zoneid, sctps);
3470 sctp_add_recvq(sctp, mp, B_FALSE, ira);
3481 sctp_input_data(sctp, mp, ira);
3490 if (secure && sctp_check_in_policy(mp, ira, ipst) == NULL)
3492 sctp_ootb_shutdown_ack(mp, ip_hdr_len, ira, ipst);
3500 if (secure && sctp_check_in_policy(mp, ira, ipst) == NULL)
3503 NULL, 0, mp, 0, B_TRUE, ira, ipst);
3506 freemsg(mp);
3514 sctp_input(conn_t *connp, ipha_t *ipha, ip6_t *ip6h, mblk_t *mp,
3535 mp = ipsec_check_inbound_policy(mp, connp, ipha,
3537 if (mp == NULL) {
3539 /* Note that mp is NULL */
3540 ip_drop_input("ipIfStatsInDiscards", mp, ill);
3550 sctp_add_recvq(sctp, mp, B_FALSE, ira);
3559 sctp_add_recvq(sctp, mp, B_TRUE, ira);
3567 sctp_icmp_error(sctp, mp);
3569 sctp_input_data(sctp, mp, ira);
3599 sctp_input_data(sctp_t *sctp, mblk_t *mp, ip_recv_attr_t *ira)
3629 ASSERT(DB_TYPE(mp) == M_DATA);
3632 if (mp->b_cont != NULL) {
3637 if (pullupmsg(mp, -1) == 0) {
3639 ip_drop_input("ipIfStatsInDiscards", mp, NULL);
3640 freemsg(mp);
3648 rptr = mp->b_rptr;
3668 (void) ip_find_hdr_v6(mp, (ip6_t *)rptr, B_TRUE, &ipp,
3673 rptr = mp->b_rptr;
3693 mlen = mp->b_wptr - (uchar_t *)(sctph + 1);
3697 ip_drop_input("ipIfStatsInDiscards", mp, NULL);
3698 freemsg(mp);
3704 ip_drop_input("ipIfStatsInDiscards", mp, NULL);
3738 sctp_ootb_shutdown_ack(mp, ip_hdr_len, ira, ipst);
3759 dprint(2, ("sctp_dispatch_rput: mp=%p fp=%p sctp=%p\n", (void *)mp,
3792 sizeof (tsn), mp, 0, B_FALSE, ira);
3801 sctp_data_chunk(sctp, ch, mp, &dups, fp,
3819 0, mp, 0, B_FALSE, ira);
3840 0, NULL, 0, mp, 0, B_FALSE, ira);
3856 sctp_return_heartbeat(sctp, ch, mp);
3895 sctp_send_initack(sctp, sctph, ch, mp, ira);
3898 if (sctp_process_cookie(sctp, ch, mp, &iack,
3916 error = sctp_handle_error(sctp, sctph, ch, mp,
3956 sctp_send_initack(sctp, sctph, ch, mp, ira);
3961 if (sctp_process_cookie(sctp, ch, mp, &iack,
3977 eager = sctp_conn_request(sctp, mp, ifindex,
3981 SCTP_ERR_NO_RESOURCES, NULL, 0, mp,
3994 * q. The packet (mp) gets
4010 eager->sctp_cookie_mp = dupb(mp);
4061 0, mp, 0, B_TRUE, ira);
4071 sctp_send_cookie_echo(sctp, ch, mp, ira);
4078 sctp_send_initack(sctp, sctph, ch, mp, ira);
4084 if (sctp_process_cookie(sctp, ch, mp, &iack,
4162 if (sctp_process_cookie(sctp, ch, mp, &iack,
4197 sctp_send_initack(sctp, sctph, ch, mp, ira);
4226 sctp_return_heartbeat(sctp, ch, mp);
4269 sctp_return_heartbeat(sctp, ch, mp);
4303 0, NULL, 0, mp, 0, B_FALSE, ira);
4330 sctp_return_heartbeat(sctp, ch, mp);
4397 freemsg(mp);