套接字直接协议错误:“协议地址族不支持”

问题描述:

我想我会在我们的infiniband硬件上试用SDP。套接字直接协议错误:“协议地址族不支持”

然而,当我尝试AF_INET_SDP添加为第一个参数socket()我得到以下错误:

"Address family not supported by protocol". 

我原本:

#define AF_INET_SDP 26 

但做一些阅读后,发现一补丁应用了一段时间后将此值更改为27.

设置为26时出现错误:

"Error binding socket: No such device" 

有没有人设法让SDP在Ubuntu 12.04上工作?你做了什么来启动和运行?

我已经安装了libsdp1和libsdpa-dev的

上的iperf使用LD_PRELOAD方法我也得到了第一个错误:

LD_PRELOAD=libsdp.so iperf -s 
dir: /tmp/libsdp.log.1000 file: /tmp/libsdp.log.1000/log 
socket failed: Address family not supported by protocol 
bind failed: Bad file descriptor 

因此,我认为27是正确的域名数。

+0

看来SDP支持已从最新的OFED堆栈中删除(至少在Windows上)。它看起来像是要成为用户空间的内核模块。我想也许这就是为什么内核模块不在主线上。由于某种原因,SDP似乎已经被丢弃。 – Matt 2013-02-20 20:03:20

SDP在主线linux内核上尚未被接受。在最近的Fedora上,它们不会出货,既不是用户空间libsdp。 如果你仍然想试验,马特是正确的,有问题的模块是'ib_sdp'。 尝试modprobe ib_sdp并再次运行您的示例。

+0

实际上,我读了一条评论,指出SDP可能存在许可问题。另一种前进的方式可能是RSocket,它谈论的是SDP许可证免费? – Matt 2013-02-27 23:21:52