[openib-general] CMA IPv6 support
    Talpey, Thomas 
    Thomas.Talpey at netapp.com
       
    Mon May 15 10:40:52 PDT 2006
    
    
  
At 01:26 PM 5/15/2006, Talpey, Thomas wrote:
>At 01:05 PM 5/15/2006, Sean Hefty wrote:
>>I came to the same conclusion a couple of weeks ago.  Rdma_create_id() will
>>likely need an address family parameter, or the user must explicitly 
>>bind before calling listen.
>
>Rdma_create_id() already takes a struct sockaddr *, which has an address
>family selector (sa_family) to define the contained address format. Why is
>that one not sufficient?
Scratch that, I was looking at our usage one layer up in the NFS/RDMA code,
which does have the struct sockaddr *.
Looking at rdma_listen(), the code I see checks for bound state before
proceeding to listen:
int rdma_listen(struct rdma_cm_id *id, int backlog)
{
        struct rdma_id_private *id_priv;
        int ret;
        id_priv = container_of(id, struct rdma_id_private, id);
        if (!cma_comp_exch(id_priv, CMA_ADDR_BOUND, CMA_LISTEN))
                return -EINVAL;
	...
This makes sense, because sockets work this way, and servers generally
want to listen on a port of their own choosing.
So, I think it's already there. Right?
Tom.
    
    
More information about the general
mailing list