[rds-devel] getting rds to work under mainline kernel
Or Gerlitz
ogerlitz at voltaire.com
Tue Jul 15 06:08:25 PDT 2008
Hi Olaf,
I am trying to get rds to work with mainline kernel to carry some
tests, currently using 2.6.26.rcX where the rds code I use is :
code-drop-20080711 branch of git://git.openfabrics.org/~okir/ofed_1_4/linux-2.6.git
code-drop-20080703 branch or git://git.openfabrics.org/~okir/ofed_1_3/rds-tools.git
I can't get rds-info to work -
# rds-info
rds-generic-tool: Unable get statistics: Protocol not available
it seems to fail on the first call to getsockopt with 10007 (RDS_INFO_TCP_SOCKETS),
see the strace output below (28 is the correct PF as I see a "NET: Registered protocol
family 28" print in the dmesg whe the rds module gets loaded)
As for rds-stress - it does not work either, with the child process failing to bind its rds socket
# rds-stress -r 192.168.99.2 -s 192.168.99.1 -p 4001
connecting to 192.168.99.1:4001
connected to 192.168.99.1:4001
negotiated options, tasks will start in 2 seconds
bind() failed, errno: 99 (Cannot assign requested address)
child 0 (pid 6569) exited
see below the strace for process 6569
any idea what's the problem/s and how to get it to work?
Or.
# strace rds-info
...
open("/proc/sys/net/rds/pf_rds", O_RDONLY) = 3
read(3, "28\n", 4096) = 3
read(3, "", 4093) = 0
close(3) = 0
socket(0x1c /* PF_??? */, SOCK_SEQPACKET, 0) = 3
open("/proc/sys/net/rds/sol_rds", O_RDONLY) = 4
read(4, "272\n", 4096) = 4
read(4, "", 4092) = 0
close(4) = 0
getsockopt(3, 0x110 /* SOL_??? */, 10007, 0, 0x7fff1f0887ec) = -1 ENOPROTOOPT (Protocol not available)
write(2, "rds-generic-tool: Unable get sta"..., 64rds-generic-tool: Unable get statistics: Protocol not available) = 64
...
# strace -ff -o /tmp/rds-stress-c rds-stress -r 192.168.99.2 -s 192.168.99.1 -p 4001
connecting to 192.168.99.1:4001
connected to 192.168.99.1:4001
negotiated options, tasks will start in 2 seconds
bind() failed, errno: 99 (Cannot assign requested address)
child 0 (pid 6569) exited
# cat /tmp/rds-stress-c.6569
socket(0x1c /* PF_??? */, SOCK_SEQPACKET, 0) = 4
setsockopt(4, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
bind(4, {sa_family=AF_INET, sin_port=htons(4002), sin_addr=inet_addr("192.168.99.2")}, 16) = -1 EADDRNOTAVAIL (Cannot assign requested address)
write(2, "bind() failed, errno: 99 (Cannot"..., 59) = 59
exit_group(1) = ?
More information about the rds-devel
mailing list