[netperf-talk] Running Netperf using IPv6
Rick Jones
rick.jones2 at hp.com
Tue Apr 10 11:09:04 PDT 2007
Ashenafi D wrote:
> Hi Rick,
>
> Using netperf 2.4.3 I got the same error as in 2.4.1. When running
> netperf using IPv6 addresses, server starts fine but the client fails to
> establish control connection:
Well, so much for that idea.
>
> SERVER:
> --------------
> [machine-1 ~]$ netserver243 -6
> Starting netserver at port 12865
> Starting netserver at hostname ::0 port 12865 and family AF_INET6
> [machine-1 ~]$
> [machine-1 ~]$ ifconfig eth0
> eth0 Link encap:Ethernet HWaddr 00:09:3D:00:08:C6
> inet addr:172.29.236.137 <http://172.29.236.137>
> Bcast:172.29.239.255 <http://172.29.239.255> Mask:255.255.252.0
> <http://255.255.252.0>
> inet6 addr: fe80::209:3dff:fe00:8c6/64 Scope:Link
> ....
>
> CLIENT:
> -----------
> [machine-2 ~]$ netperf243 -H fe80::209:3dff:fe00:8c6 -6
> establish control: are you sure there is a netserver listening on
> fe80::209:3dff:fe00:8c6 at port 12865?
> establish_control could not establish the control connection from ::0
> port 0 address family AF_INET6 to fe80::209:3dff:fe00:8c6 port 12865
> address family AF_INET6
> [machine-2 ~]$
>
>
> Running netperf with strace shows there is an invalid argument when
> connect call is used, but not quite clear which argument is invalid.
> The only argumet I used in the command line is the IP addres and I was
> able to ping the server using this IP address.
I am able to do the loopback bit with current top of trunk:
raj at tardy:~/netperf2_work$ src/netserver -6
Starting netserver at port 12865
Starting netserver at hostname ::0 port 12865 and family AF_INET6
raj at tardy:~/netperf2_work$ netstat -an | grep 12865
tcp6 0 0 :::12865 :::*
LISTEN
raj at tardy:~/netperf2_work$ src/netperf -6
TCP STREAM TEST from ::0 (::) port 0 AF_INET6 to ::1 (::1) port 0 AF_INET6
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 16384 16384 10.01 2879.44
and I can pass-in the ::1 loopback IPv6 address:
raj at tardy:~/netperf2_work$ src/netperf -H ::1 -6
TCP STREAM TEST from ::0 (::) port 0 AF_INET6 to ::1 (::1) port 0 AF_INET6
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 16384 16384 10.01 2817.38
But a link-scope IP does not work, whereas a global scope IP does work:
tardy:/home/raj/netperf2_work# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:E0:81:00:5B:10
inet addr:15.4.88.63 Bcast:15.4.95.255 Mask:255.255.248.0
inet6 addr: 2001:1890:1109:854:2e0:81ff:fe00:5b10/64 Scope:Global
inet6 addr: fe80::2e0:81ff:fe00:5b10/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:162410825 errors:0 dropped:0 overruns:8841 frame:8841
TX packets:16646714 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4055448952 (3.7 GiB) TX bytes:3649897908 (3.3 GiB)
tardy:/home/raj/netperf2_work# src/netperf -H fe80::2e0:81ff:fe00:5b10 -6
establish control: are you sure there is a netserver listening on
fe80::2e0:81ff:fe00:5b10 at port 12865?
establish_control could not establish the control connection from ::0
port 0 address family AF_INET6 to fe80::2e0:81ff:fe00:5b10 port 12865
address family AF_INET6
tardy:/home/raj/netperf2_work# src/netperf -H
2001:1890:1109:854:2e0:81ff:fe00:5b10 -6
TCP STREAM TEST from ::0 (::) port 0 AF_INET6 to
2001:1890:1109:854:2e0:81ff:fe00:5b10
(2001:1890:1109:854:2e0:81ff:fe00:5b10) port 0 AF_INET6
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec
87380 16384 16384 10.01 2871.38
which makes me wonder if the fault lies not in netperf, but in the OS on
which it is running. In my case:
tardy:/home/raj/netperf2_work# uname -a
Linux tardy 2.6.18-3-686 #1 SMP Mon Dec 4 16:41:14 UTC 2006 i686 GNU/Linux
So, any Linux IPv6 experts out there in netperf-talk?
rick jones
>
> [machine-2 ~]$strace netperf243 -H fe80::209:3dff:fe00:8c6 -6
> ...output omitted ....
> madvise(0xb7e8e000, 1176988, MADV_SEQUENTIAL|0x1) = 0
> mmap2(0xb7fa7000, 16384, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x118) = 0xb7fa7000
> mmap2(0xb7fab000, 9628, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7fab000
> close(3) = 0
> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> 0) = 0xb7e8d000
> set_thread_area({entry_number:-1 -> 6, base_addr:0xb7e8d6b0,
> limit:1048575, seg_32bit:1, contents:0, read_exec_only:0,
> limit_in_pages:1, seg_not_present:0, useable:1}) = 0
> mprotect(0xb7fa7000, 8192, PROT_READ) = 0
> munmap(0xb7fd3000, 60061) = 0
> brk(0) = 0x8069000
> brk(0x808a000) = 0x808a000
> socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = 3
> bind(3, {sa_family=AF_INET6, sin6_port=htons(0), inet_pton(AF_INET6,
> "::", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 0
> connect(3, {sa_family=AF_INET6, sin6_port=htons(12865),
> inet_pton(AF_INET6, "fe80::209:3dff:fe00:8c6", &sin6_addr),
> sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EINVAL (Invalid argument)
> close(3) = 0
> ...
>
> I really appreciate your help,
> Ashenafi
>
>
>
> On 4/4/07, *Rick Jones* <rick.jones2 at hp.com <mailto:rick.jones2 at hp.com>>
> wrote:
>
> 2.4.1 is a bit old at this point, and I seem to recall some fixes since
> then, so if you could please, try with 2.4.3 and see if you still have
> problems. the manual was also updated in 2.4.3 which may or may not
> actually help here :) - the file doc/netperf.html
>
> if there are still problems under 2.4.3 please let us know and we'll
> see
> what might be happening.
>
> happy benchmarking,
>
> rick jones
>
>
More information about the netperf-talk
mailing list