Date: Fri, 30 Jun 2017 08:39:49 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 220380] [ofed] Cannot bind to the same port after rdma_destroy_id and rdma_create_id Message-ID: <bug-220380-8@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
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@FreeBSD.org Reporter: bartosz.sobczak@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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-220380-8>
