57 const struct sockaddr_in *sa,
63 in_addr_t a = ntohl(sa->sin_addr.s_addr);
65 for (
i = 3;
i >= 0;
i--) {
69 for (
i = 0;
i < 4; ++
i) {
70 len += sprintf(&dot_ip[len],
"%d.", nib[
i]);
75 sprintf(mep->
xep_addr,
"%s:%u:%u", dot_ip,
76 ntohs(sa->sin_port),
id);
78 sprintf(mep->
xep_addr,
"%s:%u", dot_ip,
111 const struct sockaddr_in *sa,
138 mep->
xep_sa.sin_addr = sa->sin_addr;
139 mep->
xep_sa.sin_port = sa->sin_port;
162 const struct sockaddr_in *sa)
228 md->md_buf_id = buf_id;
245 if (desc->
nbd_len !=
sizeof **p_md ||
static bool mem_sa_eq(const struct sockaddr_in *sa1, const struct sockaddr_in *sa2)
static struct m0_net_bulk_mem_end_point * mem_ep_alloc(void)
struct m0_net_bulk_mem_end_point *(* bmo_ep_alloc)(void)
static bool mem_tm_invariant(const struct m0_net_transfer_mc *tm)
static struct m0_mdstore md
struct m0_net_domain * ntm_dom
#define container_of(ptr, type, member)
static void mem_ep_printable(struct m0_net_bulk_mem_end_point *mep, const struct sockaddr_in *sa, uint32_t id)
static bool mem_eps_are_equal(const struct m0_net_end_point *ep1, const struct m0_net_end_point *ep2)
struct m0_tl ntm_end_points
static struct m0_net_bulk_mem_end_point * mem_ep_to_pvt(const struct m0_net_end_point *ep)
void m0_ref_init(struct m0_ref *ref, int init_num, void(*release)(struct m0_ref *ref))
return M0_ERR(-EOPNOTSUPP)
static bool mem_ep_equals_addr(const struct m0_net_end_point *ep, const struct sockaddr_in *sa)
struct sockaddr_in md_passive
M0_INTERNAL bool m0_mutex_is_locked(const struct m0_mutex *mutex)
static void mem_xo_end_point_release(struct m0_ref *ref)
void(* bmo_ep_release)(struct m0_ref *ref)
static bool mem_desc_equal(struct m0_net_buf_desc *d1, struct m0_net_buf_desc *d2)
static int mem_desc_decode(struct m0_net_buf_desc *desc, struct mem_desc **p_md)
void(* bmo_ep_free)(struct m0_net_bulk_mem_end_point *mep)
void * m0_alloc(size_t size)
void(* bmo_ep_get)(struct m0_net_end_point *ep)
M0_INTERNAL void m0_net_end_point_get(struct m0_net_end_point *ep)
struct m0_net_end_point * ntm_ep
#define M0_ALLOC_PTR(ptr)
const struct m0_net_bulk_mem_ops * xd_ops
struct sockaddr_in xep_sa
static bool mem_ep_invariant(const struct m0_net_end_point *ep)
struct m0_net_end_point xep_ep
static int mem_ep_create(struct m0_net_end_point **epp, struct m0_net_transfer_mc *tm, const struct sockaddr_in *sa, uint32_t id)
static struct m0_net_bulk_mem_domain_pvt * mem_dom_to_pvt(const struct m0_net_domain *dom)
static void mem_ep_get(struct m0_net_end_point *ep)
char xep_addr[M0_NET_BULK_MEM_XEP_ADDR_LEN]
static int mem_desc_create(struct m0_net_buf_desc *desc, struct m0_net_transfer_mc *tm, enum m0_net_queue_type qt, m0_bcount_t buflen, int64_t buf_id)
#define m0_tl_for(name, head, obj)
static void mem_ep_free(struct m0_net_bulk_mem_end_point *mep)