[Bug 220380] [ofed] Cannot bind to the same port after rdma_destroy_id and rdma_create_id
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Fri Jun 30 08:39:49 UTC 2017
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=220380
Bug ID: 220380
Summary: [ofed] Cannot bind to the same port after
rdma_destroy_id and rdma_create_id
Product: Base System
Version: CURRENT
Hardware: amd64
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: misc
Assignee: freebsd-bugs at FreeBSD.org
Reporter: bartosz.sobczak at intel.com
In case when the addr and port is bound, but the rdma_destroy_id is called
instead of connection establishment, there is no possibility of binding to this
port anymore.
Reproduce procedure:
1. cm_id = rdma_create_id( cma_event_handler, cb, ...);
2. rdma_bind_addr(cm_id, (struct sockaddr *)addr);
3. rdma_listen(cm_id, backlog);
4. rdma_destroy_id(cm_id);
5. cm_id = rdma_create_id( cma_event_handler, cb, ...);
6. rdma_bind_addr(cm_id, (struct sockaddr *)addr); //bind unsuccessfull
It seems the issue comes from the fact, that in cma_release_port from
sys/ofed/drivers/infiniband/core/cma.c a sock_release call has been moved to
iw_destroy_cm_id from iwcm.c file. It does work for normal operation, but the
function is never reached when no connection is established. (compare
rdma_destroy_id function in cma.c)
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list