c - librdmacm error: rdma_resolve_route failed with errno 19 (No such device) -


i'm going run rdma application using librdmacm. server , client running on same machine, , using ip 127.0.0.1 , port number 20079 build connection management. client routine failed @ rdma_resolve_route errno 19 (no such device). know happens?

server code:

... /* set rdma cm structures */  cm_channel = rdma_create_event_channel(); if (!cm_channel)     return 1;  err = rdma_create_id(cm_channel, &listen_id, null, rdma_ps_tcp); if (err)     return err;  sin.sin_family      = af_inet; sin.sin_port        = htons(20079); sin.sin_addr.s_addr = inaddr_any;  /* bind local port , listen connection request */  err = rdma_bind_addr(listen_id, (struct sockaddr *) &sin); if (err)     return 1;  err = rdma_listen(listen_id, 1); if (err)     return 1;  err = rdma_get_cm_event(cm_channel, &event); if (err)     return err;  if (event->event != rdma_cm_event_connect_request)     return 1;  cm_id = event->id;  rdma_ack_cm_event(event); ... 

client code:

... /* set rdma cm structures */  cm_channel = rdma_create_event_channel(); if (!cm_channel)     return 1;  err = rdma_create_id(cm_channel, &cm_id, null, rdma_ps_tcp); if (err)     return err;  n = getaddrinfo("127.0.0.1", "20079", &hints, &res); if (n < 0)     return 1;  /* resolve server address , route */  (t = res; t; t = t->ai_next) {     err = rdma_resolve_addr(cm_id, null, t->ai_addr,                 resolve_timeout_ms);     if (!err)         break; } if (err)     return err;  err = rdma_get_cm_event(cm_channel, &event); if (err)     return err;  if (event->event != rdma_cm_event_addr_resolved)     return 1;  rdma_ack_cm_event(event);  err = rdma_resolve_route(cm_id, resolve_timeout_ms); // call failed! if (err)     return err; ... 

i noticed after server routine running, port 20079 not open viewing netstat -nltp. mean error happen in port binding? kernel version 3.10.0.

uname -a linux e07f04260.eu6sqa 3.10.0-327.ali2010.alios7.x86_64 #1 smp mon mar 20 19:58:02 cst 2017 x86_64 x86_64 x86_64 gnu/linux 

besides, rdma's utility ibv_rc_pingpong works on machine, rping fails same error above. difference ibv_rc_pingpong don't use librdmacm


Comments

Popular posts from this blog

node.js - Node js - Trying to send POST request, but it is not loading javascript content -

javascript - Replicate keyboard event with html button -

javascript - Web audio api 5.1 surround example not working in firefox -