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.sobc...@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.
_______________________________________________
freebsd-bugs@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"

Reply via email to