Lines Matching defs:rdbuf
288 static rdma_stat rib_reg_buf_alloc(CONN *conn, rdma_buf_t *rdbuf);
290 static void rib_reg_buf_free(CONN *conn, rdma_buf_t *rdbuf);
2939 rdma_buf_t rdbuf = {0};
2995 bzero(&rdbuf, sizeof (rdbuf));
2996 rdbuf.type = RECV_BUFFER;
2997 buf = rib_rbuf_alloc(conn, &rdbuf);
3011 cl.w.c_saddr3 = (caddr_t)rdbuf.addr;
3012 cl.c_len = rdbuf.len;
3014 rdbuf.handle.mrc_lmr; /* lkey */
4020 * Fetch a buffer from the pool of type specified in rdbuf->type.
4023 rib_reg_buf_alloc(CONN *conn, rdma_buf_t *rdbuf)
4027 if (rdbuf->type == RDMA_LONG_BUFFER) {
4028 rlep = rib_get_cache_buf(conn, rdbuf->len);
4029 rdbuf->rb_private = (caddr_t)rlep;
4030 rdbuf->addr = rlep->lrc_buf;
4031 rdbuf->handle = rlep->lrc_mhandle;
4035 rdbuf->addr = rib_rbuf_alloc(conn, rdbuf);
4036 if (rdbuf->addr) {
4037 switch (rdbuf->type) {
4039 rdbuf->len = RPC_MSG_SZ; /* 1K */
4042 rdbuf->len = RPC_BUF_SIZE; /* 2K */
4045 rdbuf->len = 0;
4054 * Note that rdbuf->handle is mw's rkey.
4057 rib_rbuf_alloc(CONN *conn, rdma_buf_t *rdbuf)
4061 rdma_btype ptype = rdbuf->type;
4091 /* XXXX put buf, rdbuf->handle.mrc_rmr, ... in one place. */
4093 rdbuf->addr = buf;
4094 rdbuf->len = bp->rsize;
4097 rdbuf->handle.mrc_rmr =
4099 rdbuf->handle.mrc_linfo =
4101 rdbuf->handle.mrc_lmr =
4117 rib_reg_buf_free(CONN *conn, rdma_buf_t *rdbuf)
4120 if (rdbuf->type == RDMA_LONG_BUFFER) {
4121 rib_free_cache_buf(conn, (rib_lrc_entry_t *)rdbuf->rb_private);
4122 rdbuf->rb_private = NULL;
4125 rib_rbuf_free(conn, rdbuf->type, rdbuf->addr);