Lines Matching defs:rdbuf
289 static rdma_stat rib_reg_buf_alloc(CONN *conn, rdma_buf_t *rdbuf);
291 static void rib_reg_buf_free(CONN *conn, rdma_buf_t *rdbuf);
2941 rdma_buf_t rdbuf = {0};
2997 bzero(&rdbuf, sizeof (rdbuf));
2998 rdbuf.type = RECV_BUFFER;
2999 buf = rib_rbuf_alloc(conn, &rdbuf);
3013 cl.w.c_saddr3 = (caddr_t)rdbuf.addr;
3014 cl.c_len = rdbuf.len;
3016 rdbuf.handle.mrc_lmr; /* lkey */
4022 * Fetch a buffer from the pool of type specified in rdbuf->type.
4025 rib_reg_buf_alloc(CONN *conn, rdma_buf_t *rdbuf)
4029 if (rdbuf->type == RDMA_LONG_BUFFER) {
4030 rlep = rib_get_cache_buf(conn, rdbuf->len);
4031 rdbuf->rb_private = (caddr_t)rlep;
4032 rdbuf->addr = rlep->lrc_buf;
4033 rdbuf->handle = rlep->lrc_mhandle;
4037 rdbuf->addr = rib_rbuf_alloc(conn, rdbuf);
4038 if (rdbuf->addr) {
4039 switch (rdbuf->type) {
4041 rdbuf->len = RPC_MSG_SZ; /* 1K */
4044 rdbuf->len = RPC_BUF_SIZE; /* 2K */
4047 rdbuf->len = 0;
4056 * Note that rdbuf->handle is mw's rkey.
4059 rib_rbuf_alloc(CONN *conn, rdma_buf_t *rdbuf)
4063 rdma_btype ptype = rdbuf->type;
4093 /* XXXX put buf, rdbuf->handle.mrc_rmr, ... in one place. */
4095 rdbuf->addr = buf;
4096 rdbuf->len = bp->rsize;
4099 rdbuf->handle.mrc_rmr =
4101 rdbuf->handle.mrc_linfo =
4103 rdbuf->handle.mrc_lmr =
4119 rib_reg_buf_free(CONN *conn, rdma_buf_t *rdbuf)
4122 if (rdbuf->type == RDMA_LONG_BUFFER) {
4123 rib_free_cache_buf(conn, (rib_lrc_entry_t *)rdbuf->rb_private);
4124 rdbuf->rb_private = NULL;
4127 rib_rbuf_free(conn, rdbuf->type, rdbuf->addr);