[openib-general] return error when rdma_listen fails

Tom Tucker tom at opengridcomputing.com
Sun Aug 13 13:36:22 PDT 2006


Sorry, Sean, I can't spell today....

On Sun, 2006-08-13 at 15:22 -0500, Tom Tucker wrote:
> On Wed, 2006-08-09 at 14:07 -0700, Sean Hefty wrote:
> > Pete Wyckoff wrote:
> > > Calling rdma_listen() on a cm_id bound to INADDR_ANY can fail, e.g.
> > > with EADDRINUSE, but report no error back to the user.  This patch
> > > fixes that by propagating the error.  Success occurs only if at
> > > least one of the possibly multiple devices in the system was able to
> > > listen.  In the case of multiple devices reporting errors on listen,
> > > only the first error value is returned.  iwarp branch.
> > 
> > There's a problem if the listen is done before any devices have been added to 
> > the system.  In this case, the listen should succeed.
> 
> I think this behavior is an artifact of the fact that the port spaces
> are not integrated. In order to fix this properly, IMO we need to use
> the Linux services that globally manage IP port spaces. This was
> discussed on netdev as part of our efforts to get the netdev notifier
> patch accepted.
> 
> In absence of integration, we end up with this very strange behavior
> wherein a listen succeeds on one set of devices, but fails on another
> set. This is almost certainly not what the user expects or intends.
> 
> How is the user supposed to interpret an error back from a listen
> request when the listen succeeded on device, but failed on another?
> Which device succeeded? Which failed? 
> 
> So all that blather aside, I think we should:
> - Implement an API into the existing Linux IP port space 
>   management database,
> - Use these services in the RDMA CM
> - Propose the API as a patch to the kernel on netdev.
> 
> BTW, I actually think that Shawn could fix the current behavior so that
> it would be consistent within the RDMA_CM, however, we would still be
> inconsistent between sockets and iWARP,  and IB/SDP and sockets.
> 
> Thoughts?
> 
> > 
> > - Sean
> > 
> > _______________________________________________
> > openib-general mailing list
> > openib-general at openib.org
> > http://openib.org/mailman/listinfo/openib-general
> > 
> > To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
> > 
> 
> 
> _______________________________________________
> openib-general mailing list
> openib-general at openib.org
> http://openib.org/mailman/listinfo/openib-general
> 
> To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
> 





More information about the general mailing list