[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