Lines Matching defs:p
472 #define COTSRCSTAT_INCR(p, x) \
473 atomic_inc_64(&(p)->x.value.ui64)
496 #define ptoh(p) (&((p)->cku_client))
565 cku_private_t *p;
575 p = kmem_zalloc(sizeof (*p), KM_SLEEP);
577 h = ptoh(p);
579 h->cl_private = (caddr_t)p;
583 cv_init(&p->cku_call.call_cv, NULL, CV_DEFAULT, NULL);
584 mutex_init(&p->cku_call.call_lock, NULL, MUTEX_DEFAULT, NULL);
598 p->cku_outbuflen = COTS_DEFAULT_ALLOCSIZE;
608 xdrmem_create(&p->cku_outxdr, p->cku_rpchdr, WIRE_HDR_SIZE, XDR_ENCODE);
610 if (!xdr_callhdr(&p->cku_outxdr, &call_msg)) {
611 XDR_DESTROY(&p->cku_outxdr);
615 kmem_free(p, sizeof (cku_private_t));
619 XDR_DESTROY(&p->cku_outxdr);
623 * p->cku_xid = 0;
624 * p->cku_flags = 0;
625 * p->cku_srcaddr.len = 0;
626 * p->cku_srcaddr.maxlen = 0;
629 p->cku_cred = cred;
630 p->cku_device = dev;
631 p->cku_addrfmly = family;
632 p->cku_addr.buf = kmem_zalloc(addr->maxlen, KM_SLEEP);
633 p->cku_addr.maxlen = addr->maxlen;
634 p->cku_addr.len = addr->len;
635 bcopy(addr->buf, p->cku_addr.buf, addr->len);
636 p->cku_stats = rpcstat->rpc_cots_client;
637 p->cku_useresvport = -1; /* value is has not been set */
656 cku_private_t *p = htop(h);
658 *err = p->cku_err;
673 cku_private_t *p = htop(h);
677 p->cku_progress = TRUE;
684 p->cku_xid = *((uint32_t *)arg);
691 *((uint32_t *)arg) = p->cku_xid;
699 p->cku_nodelayonerr = TRUE;
703 p->cku_nodelayonerr = FALSE;
712 *((bool_t *)arg) = p->cku_nodelayonerr;
722 p->cku_useresvport = *(int *)arg;
730 *(int *)arg = p->cku_useresvport;
747 cku_private_t *p = htop(h);
748 calllist_t *call = &p->cku_call;
750 RPCLOG(8, "clnt_cots_kdestroy h: %p\n", (void *)h);
751 RPCLOG(8, "clnt_cots_kdestroy h: xid=0x%x\n", p->cku_xid);
753 if (p->cku_flags & CKU_ONQUEUE) {
755 "from dispatch list\n", p->cku_xid);
764 kmem_free(p->cku_srcaddr.buf, p->cku_srcaddr.maxlen);
765 kmem_free(p->cku_addr.buf, p->cku_addr.maxlen);
766 kmem_free(p, sizeof (*p));
780 cku_private_t *p = htop(h);
781 calllist_t *call = &p->cku_call;
802 COTSRCSTAT_INCR(p->cku_stats, rccalls);
837 if (p->cku_xid == 0) {
838 p->cku_xid = alloc_xid();
848 ASSERT(p->cku_xid != 0);
851 p->cku_flags &= ~CKU_SENT;
853 if (p->cku_flags & CKU_ONQUEUE) {
855 " one (%p)\n", (void *)call);
857 p->cku_flags &= ~CKU_ONQUEUE;
860 p->cku_xid);
867 } else if (p->cku_srcaddr.buf == NULL || p->cku_srcaddr.len == 0) {
870 } else if (p->cku_flags & CKU_SENT) {
871 retryaddr = &p->cku_srcaddr;
882 RPCLOG(64, "clnt_cots_kcallit: xid = 0x%x", p->cku_xid);
883 RPCLOG(64, " flags = 0x%x\n", p->cku_flags);
885 p->cku_err.re_status = RPC_TIMEDOUT;
886 p->cku_err.re_errno = p->cku_err.re_terrno = 0;
888 cm_entry = connmgr_wrapget(retryaddr, &cwait, p);
892 clnt_sperrno(p->cku_err.re_status));
911 COTSRCSTAT_INCR(p->cku_stats, rccantconn);
912 switch (p->cku_err.re_status) {
914 p->cku_err.re_errno = EINTR;
926 p->cku_err.re_errno = ETIMEDOUT;
946 ASSERT(p->cku_err.re_errno != 0);
959 RPCLOG(8, " re_errno=%d,", p->cku_err.re_errno);
960 RPCLOG(8, " cku_nodelayonerr=%d", p->cku_nodelayonerr);
961 if (p->cku_nodelayonerr == TRUE)
964 p->cku_err.re_errno = EIO;
973 if (p->cku_err.re_errno == 0)
974 p->cku_err.re_errno = EIO;
977 p->cku_err.re_errno);
989 p->cku_err.re_status = RPC_CANTCONNECT;
990 p->cku_err.re_errno = EIO;
1003 if ((p->cku_flags & CKU_SENT) == 0 ||
1004 p->cku_ctime != cm_entry->x_ctime) {
1005 p->cku_ctime = cm_entry->x_ctime;
1007 } else if ((p->cku_flags & CKU_SENT) && (p->cku_flags & CKU_ONQUEUE) &&
1009 p->cku_recv_attempts < clnt_cots_maxrecv)) {
1016 p->cku_recv_attempts++;
1030 p->cku_err.re_status = RPC_SYSTEMERROR;
1031 p->cku_err.re_errno = ENOSR;
1032 COTSRCSTAT_INCR(p->cku_stats, rcnomem);
1036 xdrs = &p->cku_outxdr;
1068 bcopy(p->cku_rpchdr, mp->b_rptr, WIRE_HDR_SIZE);
1078 (!AUTH_MARSHALL(h->cl_auth, xdrs, p->cku_cred)) ||
1081 p->cku_err.re_status = RPC_CANTENCODEARGS;
1082 p->cku_err.re_errno = EIO;
1086 (*(uint32_t *)(mp->b_rptr)) = p->cku_xid;
1088 uint32_t *uproc = (uint32_t *)&p->cku_rpchdr[WIRE_HDR_SIZE];
1091 (*(uint32_t *)(&p->cku_rpchdr[0])) = p->cku_xid;
1097 if (!AUTH_WRAP(h->cl_auth, p->cku_rpchdr, WIRE_HDR_SIZE+4,
1100 p->cku_err.re_status = RPC_CANTENCODEARGS;
1101 p->cku_err.re_errno = EIO;
1115 status = clnt_dispatch_send(wq, mp, call, p->cku_xid,
1116 (p->cku_flags & CKU_ONQUEUE));
1132 p->cku_err.re_errno = EINTR;
1133 p->cku_err.re_status = RPC_INTR;
1141 p->cku_err.re_status = status;
1142 p->cku_err.re_errno = call->call_reason;
1160 (uint_t)p->cku_xid);
1161 p->cku_flags = (CKU_ONQUEUE|CKU_SENT);
1162 p->cku_recv_attempts = 1;
1272 p->cku_err = call->call_err;
1280 COTSRCSTAT_INCR(p->cku_stats, rcintrs);
1281 p->cku_err.re_status = RPC_INTR;
1282 p->cku_err.re_errno = EINTR;
1284 p->cku_xid);
1288 COTSRCSTAT_INCR(p->cku_stats, rctimeouts);
1289 p->cku_err.re_errno = ETIMEDOUT;
1297 if (p->cku_err.re_errno == 0)
1298 p->cku_err.re_errno = EIO;
1301 p->cku_err.re_errno);
1305 ASSERT(p->cku_err.re_errno);
1307 p->cku_err.re_errno);
1311 p->cku_err.re_status = RPC_SYSTEMERROR;
1312 p->cku_err.re_errno = EIO;
1317 if (p->cku_err.re_status != RPC_TIMEDOUT) {
1319 if (p->cku_flags & CKU_ONQUEUE) {
1321 p->cku_flags &= ~CKU_ONQUEUE;
1325 "taken off dispatch list\n", p->cku_xid);
1337 if (p->cku_progress == TRUE &&
1338 p->cku_recv_attempts < clnt_cots_maxrecv) {
1339 p->cku_err.re_status = RPC_INPROGRESS;
1345 xdrs = &p->cku_inxdr;
1362 _seterr_reply(&reply_msg, &p->cku_err);
1364 re_status = p->cku_err.re_status;
1371 COTSRCSTAT_INCR(p->cku_stats, rcbadverfs);
1386 p->cku_err.re_status = RPC_CANTDECODERES;
1387 p->cku_err.re_errno = EIO;
1394 p->cku_err.re_errno = EIO;
1416 if (p->cku_flags & CKU_ONQUEUE) {
1418 p->cku_flags &= ~CKU_ONQUEUE;
1423 p->cku_xid);
1431 p->cku_cred)) {
1436 COTSRCSTAT_INCR(p->cku_stats,
1438 COTSRCSTAT_INCR(p->cku_stats,
1449 p->cku_err.re_status = RPC_AUTHERROR;
1455 switch (p->cku_err.re_why) {
1465 if (p->cku_useresvport != 1) {
1466 p->cku_useresvport = 1;
1467 p->cku_xid = 0;
1479 p->cku_err.re_errno = EACCES;
1483 default: p->cku_err.re_errno = EIO;
1488 (int)p->cku_err.re_why);
1494 p->cku_err.re_status = RPC_CANTDECODERES;
1495 p->cku_err.re_errno = EIO;
1502 if (p->cku_flags & CKU_ONQUEUE) {
1504 p->cku_flags &= ~CKU_ONQUEUE;
1508 p->cku_xid);
1509 RPCLOG(64, " status is %s\n", clnt_sperrno(p->cku_err.re_status));
1516 if ((p->cku_flags & CKU_ONQUEUE) == 0 && call->call_reply) {
1520 if (p->cku_err.re_status != RPC_SUCCESS) {
1522 COTSRCSTAT_INCR(p->cku_stats, rcbadcalls);
1531 p->cku_err.re_errno = EINTR;
1532 p->cku_err.re_status = RPC_INTR;
1535 return (p->cku_err.re_status);
1552 cku_private_t *p = htop(h);
1553 calllist_t *call = &p->cku_call;
1556 if (p->cku_flags & CKU_ONQUEUE) {
1558 p->cku_flags &= ~CKU_ONQUEUE;
1560 " dispatch list\n", p->cku_xid);
1575 p->cku_xid = 0;
1576 p->cku_device = dev;
1577 p->cku_addrfmly = family;
1578 p->cku_cred = cred;
1580 if (p->cku_addr.maxlen < addr->len) {
1581 if (p->cku_addr.maxlen != 0 && p->cku_addr.buf != NULL)
1582 kmem_free(p->cku_addr.buf, p->cku_addr.maxlen);
1583 p->cku_addr.buf = kmem_zalloc(addr->maxlen, KM_SLEEP);
1584 p->cku_addr.maxlen = addr->maxlen;
1587 p->cku_addr.len = addr->len;
1588 bcopy(addr->buf, p->cku_addr.buf, addr->len);
1613 cku_private_t *p = htop(h);
1616 p->cku_xid = xid;
1617 COTSRCSTAT_INCR(p->cku_stats, rctimers);
1767 cku_private_t *p)
1771 cm_entry = connmgr_get(retryaddr, waitp, &p->cku_addr, p->cku_addrfmly,
1772 &p->cku_srcaddr, &p->cku_err, p->cku_device,
1773 p->cku_client.cl_nosignal, p->cku_useresvport, p->cku_cred);
1783 if (p->cku_err.re_errno == EINTR) {
1784 if (p->cku_client.cl_nosignal == TRUE)
1785 p->cku_err.re_errno = EIO;
1787 p->cku_err.re_status = RPC_INTR;
1921 " %p\n", (void *)lru_entry->x_tiptr);
1946 RPCLOG(2, "connmgr_get: call going out on %p\n",
2043 RPCLOG(1, "connmgr_get: tiptr %p"
2070 "transport %p for retry\n",
2208 "%p\n", (void *)retryaddr);
2466 "T_DISCON_REQ for connection 0x%p\n",
2480 "T_DISCON_REQ's ACK for connection %p\n",
2503 "connection %p\n", (void *)cm_entry);
2693 "%p", (void *)wq);
2694 RPCLOG(8, " call %p\n", (void *)wq);
3057 "to queue %p\n", (void *)q);
3067 RPCLOG(8, "connmgr_sndrel: sending ordrel to queue %p\n", (void *)q);
3088 "to queue %p\n", (void *)q);
3098 RPCLOG(8, "connmgr_snddis: sending discon to queue %p\n", (void *)q);
3177 unsigned char *p = (unsigned char *)&xid;
3187 *p++ = *rptr++;
3318 "for connection on queue 0x%p\n", (void *)q);
3386 RPCLOG(1, "clnt_dispatch_notifyall on queue %p", (void *)q);
3409 "connection: %p\n",
3469 " (q %p) because we are not "
3558 RPCLOG(1, "clnt_dispatch_notifyall: (wq %p) could not find "
3576 "clnt_dispatch_notifyall for queue %p ",
3578 RPCLOG(1, "aborting clnt_pending call %p\n",
3609 RPCLOG(1, "clnt_dispatch_notifyall for queue %p ",
3611 RPCLOG(1, " aborting clnt_pending call %p\n",