[netperf-talk] netperf4 questions - more info

Mike Higgins MHiggins at zhone.com
Tue Apr 6 15:13:40 PDT 2010


Rick Jones wrote:
> Mike Higgins wrote:
>> To add to my prior post, I took some network traces while netperf is 
>> running.  All I am seeing is the messaging packets flowing back and 
>> forth.  I do not see any traffic gen packets at all.  I beginning to 
>> think that it is a command or config file problem.
>
> I'm guessing it got confused and ended-up running loopback?
>
> rick jones

It certainly looks that way.  In an attempt to simply my effort here I 
changed the config and command files to:


===================================
default_config.xml:

<?xml version="1.0" standalone="no" ?>
<!DOCTYPE netperf SYSTEM "http://www.netperf.org/netperf_docs.dtd/1.0"
 >      
<netperf xmlns="http://www.netperf.org/ns/netperf">

<netserver nid="n1"
    remote_host="10.100.100.2"
    remote_service="56821"
    local_host="10.100.100.1"
    local_service="56821">
  <test tid="t1"
    test_name = "send_tcp_stream"
    library   = "nettest_bsd.la" >
    <socket_args
      send_buffer_size = "16384"
      recv_buffer_size = "32768"
      send_size        = "16384" 
    />
  </test>
</netserver>
</netperf>
=============================

=============================
default_command.xml:

<?xml version="1.0" standalone="no" ?>
<!DOCTYPE commands SYSTEM "http://www.netperf.org/netperf_docs.dtd/1.0" >
<commands xmlns="http://www.netperf.org/ns/netperf">

<!-- 20 second TCP_STREAM test
 -->
  <wait tid="t1" />
  <load tid="t1" />
  <measure tid="t1" />
  <wait tid="t1" seconds="5" />
  <get_stats tid="t1" />
  <clear_stats tid="t1" />
  <idle tid="t1" />
  <wait tid="t1" />
  <report_stats test_set="t1"
    library="nettest_bsd.la"
    function="report_bsd_test_results" />
</commands>
=============================



=============================
Now when I run this command:

 netperf -i default_commands.xml -c default_config.xml -d

This returns:

parse_xml_file called with fname default_config.xml
parse_xml_file parsing file default_config.xml
get_test_function enter test 0x8d5de10 func test_name
get_test_function looking to open library nettest_bsd.la
open_library was asked to open a library based on the name nettest_bsd.la
open_library_path is going to use NETPERF_LIBRARY_PATH as the envvar
open_library_path was given NULL for envvar NETPERF_LIBRARY_PATH and 
pathvarispath 0
open_library_path is returning handle (nil)
open_library_path is going to use LD_LIBRARY_PATH as the envvar
open_library_path was given NULL for envvar LD_LIBRARY_PATH and 
pathvarispath 0
open_library_path is returning handle (nil)
open_library_path is going to use SHLIB_PATH as the envvar
open_library_path was given NULL for envvar SHLIB_PATH and pathvarispath 0
open_library_path is returning handle (nil)
open_library_path is going to use Path as the envvar
open_library_path was given NULL for envvar Path and pathvarispath 0
open_library_path is returning handle (nil)
open_library_path is going to use .:/usr/local/lib as the envvar
open_library_path was given .:/usr/local/lib for envvar .:/usr/local/lib 
and pathvarispath 1
open_library_path is trying path element . with nettest_bsd.la
open_library_path is trying path element /usr/local/lib with nettest_bsd.la
open_library_path is returning handle 0x8d52248
open_library's attempted open of library file 'nettest_bsd.la' returning 
0x8d52248 in success
func = 'test_name'  fname = 'send_tcp_stream' fname[0] = s fnlen = 15
func_name = 'send_tcp_stream'
symbol lookup of func_name 'send_tcp_stream' returned 0x9d5560
get_test_function enter test 0x8d5de10 func test_decode
func = 'test_decode'  fname = '' fname[0] = '' fnlen = 0
func_name = 'send_tcp_stream' tnlen = 15
func_name = 'send_tcp_stream_decode_stats'
symbol lookup of func_name 'send_tcp_stream_decode_stats' returned 0x9ccf70
instantiate_tests testid='t1' returned 0
strtofam called with AF_INET
strtofam called with AF_INET
establish_control called with host '10.100.100.2' port '56821' remfam 2
        local '10.100.100.1' port '56821' locfam 2
getaddrinfo returned the following for host '10.100.100.2' port '56821' 
family 2
    cannonical name: 'n/a'
    flags: 0 family: 2: socktype: 1 protocol 6 addrlen 16
    sa_family: 2 sadata: 221 245 10 100 100 2
getaddrinfo returned the following for host '10.100.100.1' port '56821' 
family 2
    cannonical name: 'n/a'
    flags: 1 family: 2: socktype: 1 protocol 6 addrlen 16
    sa_family: 2 sadata: 221 245 10 100 100 1
successful connection to remote netserver at 10.100.100.2 and 56821
write_to_control_connection: called with channel 0x8d68920 and message 
node at 0x8d65cb0 type version destined for nid n1 from nid netperf
write_to_control_connection allocating 201 bytes
write_to_control_connection copied 4 bytes to 0x8d4a7f0
write_to_control_connection copied 197 bytes to 0x8d4a7f4
Sending 197 byte message
|<?xml version="1.0" standalone="no"?>
<!DOCTYPE message SYSTEM "http://www.netperf.org/netperf_docs.dtd/1.0">
<message tonid="n1" fromnid="netperf"><version vers="4" updt="0" 
fix="997"/></message>
| was successful
instantiate_netservers: netserver nid='n1' returned 0
entering launch_worker_treads
launching thread for netserver n1
launched thread for netserver n1
DEBUG exiting function launch_worker_threads file netperf.c
entering wait_for_tests_to_initialize
entering wait_for_version_response
wait_for_version_response calling recv_control_message
Just received 197 byte message from sock 3
| <?xml version="1.0" standalone="no"?>
<!DOCTYPE message SYSTEM "http://www.netperf.org/netperf_docs.dtd/1.0">
<message tonid="netperf" fromnid="n1"><version vers="4" updt="0" 
fix="997"/></message>
|
recv_control_message: xmlParseMemory returned 0x8d5f6b8
wait_for_version_response calling process_message
DEBUG entering function process_message file netmsg.c
process_message: received 'version' message from server n1
process_message: servers current state is 4
np_version_check: version check successful
DEBUG exiting function process_message file netmsg.c
DEBUG exiting function wait_for_version_response file netperf.c
entering initialize_tests
test_hash[0]=(nil)
test_hash[1]=0x8d5de10
    test->id t1, test->state 0
test_hash[2]=(nil)
test_hash[3]=(nil)
test_hash[4]=(nil)
test_hash[5]=(nil)
test_hash[6]=(nil)
test_hash[7]=(nil)
test_hash[8]=(nil)
test_hash[9]=(nil)
test_hash[10]=(nil)
test_hash[11]=(nil)
test_hash[12]=(nil)
test_hash[13]=(nil)
test_hash[14]=(nil)
test_hash[15]=(nil)
DEBUG exiting function initialize_tests file netperf.c
entering initialize_test
initialize_test: t1's dependency on none successfully resolved
write_to_control_connection: called with channel 0x8d68920 and message 
node at 0x8d51450 type test destined for nid n1 from nid netperf
write_to_control_connection allocating 678 bytes
write_to_control_connection copied 4 bytes to 0x8d5bd58
write_to_control_connection copied 674 bytes to 0x8d5bd5c

**********************************************************
*** M. Higgins observations:
*** I see local_service="0" and local_host="localhost"
**********************************************************
Sending 674 byte message
|<?xml version="1.0" standalone="no"?>
<!DOCTYPE message SYSTEM "http://www.netperf.org/netperf_docs.dtd/1.0">
<message tonid="n1" fromnid="netperf"><test 
xmlns="http://www.netperf.org/ns/netperf" tid="t1" 
test_name="send_tcp_stream" library="nettest_bsd.la"><socket_args 
send_buffer_size="16384" recv_buffer_size="32768" send_size="16384" 
family="AF_INET" local_service="0" local_host="localhost" 
send_buffer_units="KB" recv_buffer_units="KB" no_delay="0" 
send_size_units="KB" recv_size="4" recv_size_units="KB" req_size="1" 
rsp_size="1" send_width="0" recv_width="0" send_align="8" recv_align="8" 
send_offset="0" recv_offset="0" num_concurrent_conns="0"/></test></message>
| was successful
**********************************************************
**********************************************************

DEBUG exiting function initialize_test file netperf.c
Just received 265 byte message from sock 3
| <?xml version="1.0" standalone="no"?>
<!DOCTYPE message SYSTEM "http://www.netperf.org/netperf_docs.dtd/1.0">
<message tonid="netperf" fromnid="n1"><error tid="t1" 
err_fn="get_dependency_data" err_str="Name or service not known" 
err_rc="-29" err_no="0"/></message>
|
recv_control_message: xmlParseMemory returned 0x8d5f6b8
DEBUG entering function process_message file netmsg.c
process_message: received 'error' message from server n1
process_message: servers current state is 8
error_message: prev_state_req = 2  new_state_req = 2
    err in test function get_dependency_data  rc = -29
    error message 'Name or service not known' errno = 0
DEBUG exiting function process_message file netmsg.c
wait_for_tests_to_initialize found test t1 send_tcp_stream in the error 
state
err_str='Name or service not known'
err_no=0    NPE_SUCCESS
exiting wait_for_tests_to_initialize rc = -1015 
NPE_TEST_FOUND_IN_ERROR_STATE
netperf4 exiting with rc = -1015
=============================




=============================
The server is run using:

./netserver --nodaemonize --nospawn -d

The following is returned:


DEBUG entering function netserver_init file netserver.c
DEBUG entering function setup_listen_endpoint file netserver.c
establish_listen: host 'n/a' service 'netperf4' af 0 socklen 16
getaddrinfo returned the following for host 'n/a' port 'netperf4' family 0
    cannonical name: 'n/a'
    flags: 1 family: 2: socktype: 1 protocol 6 addrlen 16
    sa_family: 2 sadata: 221 245 0 0 0 0
    cannonical name: 'n/a'
    flags: 1 family: 10: socktype: 1 protocol 6 addrlen 28
    sa_family: 10 sadata: 221 245 0 0 0 0
accepting a new connection
accept_connection: accepted connection on sock 6
accepted a connection but told not to spawn
status after set flags 1 control_channel 0x8212460
status after set_encoding 1
added watch id 2
DEBUG entering function read_from_control_connection file netlib.c
read_from_control_connection called with source 0x8212460 condition 1 
and data 0x8211a40
read_from_control_connection message_state have_header 0 bytes_remaining 
4 buffer (nil)
read_from_control_connection allocating 4 byte buffer for netperf 
control message header
DEBUG entering function read_n_available_bytes file netlib.c
read_n_available_bytes g_io_channel_read_chars returned status 1 
bytes_this_read 4 and error 0xbfc8ef58
DEBUG exiting function read_n_available_bytes file netlib.c
read_from_control_connection got 4 bytes, setting bytes_recieved to 4 
and remaining to 0
read_from_control_connection has a complete header, now expecting 197 
bytes of message_body
DEBUG entering function read_n_available_bytes file netlib.c
read_n_available_bytes g_io_channel_read_chars returned status 1 
bytes_this_read 197 and error 0xbfc8ef58
DEBUG exiting function read_n_available_bytes file netlib.c
DEBUG entering function xml_parse_control_message file netlib.c
xml_parse_control_message asked to parse 197 byte message '<?xml 
version="1.0" standalone="no"?>
<!DOCTYPE message SYSTEM "http://www.netperf.org/netperf_docs.dtd/1.0">
<message tonid="n1" fromnid="netperf"><version vers="4" updt="0" 
fix="997"/></message>
'
xml_parse_control_message:xmlParseMemory parsed a 197 byte message at 
0x8212598 giving doc at 0x8215810
DEBUG entering function process_message file netmsg.c
process_message: received 'version' message from server netperf
process_message: servers current state is 1
write_to_control_connection: called with channel 0x8212460 and message 
node at 0x82153b0 type version destined for nid netperf from nid n1
write_to_control_connection allocating 201 bytes
write_to_control_connection copied 4 bytes to 0x8218028
write_to_control_connection copied 197 bytes to 0x821802c
Sending 197 byte message
|<?xml version="1.0" standalone="no"?>
<!DOCTYPE message SYSTEM "http://www.netperf.org/netperf_docs.dtd/1.0">
<message tonid="netperf" fromnid="n1"><version vers="4" updt="0" 
fix="997"/></message>
| was successful
DEBUG exiting function process_message file netmsg.c
DEBUG exiting function xml_parse_control_message file netlib.c
DEBUG entering function read_from_control_connection file netlib.c
read_from_control_connection called with source 0x8212460 condition 1 
and data 0x8211a40
read_from_control_connection message_state have_header 0 bytes_remaining 
4 buffer (nil)
read_from_control_connection allocating 4 byte buffer for netperf 
control message header
DEBUG entering function read_n_available_bytes file netlib.c
read_n_available_bytes g_io_channel_read_chars returned status 1 
bytes_this_read 4 and error 0xbfc8ef58
DEBUG exiting function read_n_available_bytes file netlib.c
read_from_control_connection got 4 bytes, setting bytes_recieved to 4 
and remaining to 0
read_from_control_connection has a complete header, now expecting 674 
bytes of message_body
DEBUG entering function read_n_available_bytes file netlib.c
read_n_available_bytes g_io_channel_read_chars returned status 1 
bytes_this_read 674 and error 0xbfc8ef58
DEBUG exiting function read_n_available_bytes file netlib.c
DEBUG entering function xml_parse_control_message file netlib.c
xml_parse_control_message asked to parse 674 byte message '<?xml 
version="1.0" standalone="no"?>
<!DOCTYPE message SYSTEM "http://www.netperf.org/netperf_docs.dtd/1.0">
<message tonid="n1" fromnid="netperf"><test 
xmlns="http://www.netperf.org/ns/netperf" tid="t1" 
test_name="send_tcp_stream" library="nettest_bsd.la"><socket_args 
send_buffer_size="16384" recv_buffer_size="32768" send_size="16384" 
family="AF_INET" local_service="0" local_host="localhost" 
send_buffer_units="KB" recv_buffer_units="KB" no_delay="0" 
send_size_units="KB" recv_size="4" recv_size_units="KB" req_size="1" 
rsp_size="1" send_width="0" recv_width="0" send_align="8" recv_align="8" 
send_offset="0" recv_offset="0" num_concurrent_conns="0"/></test></message>
'
xml_parse_control_message:xmlParseMemory parsed a 674 byte message at 
0x8216808 giving doc at 0x8217f58
DEBUG entering function process_message file netmsg.c
process_message: received 'test' message from server netperf
process_message: servers current state is 4
DEBUG entering function test_message file netmsg.c
get_test_function enter test 0x8220930 func test_name
get_test_function looking to open library nettest_bsd.la
open_library was asked to open a library based on the name nettest_bsd.la
open_library_path is going to use NETPERF_LIBRARY_PATH as the envvar
open_library_path was given NULL for envvar NETPERF_LIBRARY_PATH and 
pathvarispath 0
open_library_path is returning handle (nil)
open_library_path is going to use LD_LIBRARY_PATH as the envvar
open_library_path was given NULL for envvar LD_LIBRARY_PATH and 
pathvarispath 0
open_library_path is returning handle (nil)
open_library_path is going to use SHLIB_PATH as the envvar
open_library_path was given NULL for envvar SHLIB_PATH and pathvarispath 0
open_library_path is returning handle (nil)
open_library_path is going to use Path as the envvar
open_library_path was given NULL for envvar Path and pathvarispath 0
open_library_path is returning handle (nil)
open_library_path is going to use .:/usr/local/lib as the envvar
open_library_path was given .:/usr/local/lib for envvar .:/usr/local/lib 
and pathvarispath 1
open_library_path is trying path element . with nettest_bsd.la
open_library_path is trying path element /usr/local/lib with nettest_bsd.la
open_library_path is returning handle 0x822e628
open_library's attempted open of library file 'nettest_bsd.la' returning 
0x822e628 in success
func = 'test_name'  fname = 'send_tcp_stream' fname[0] = s fnlen = 15
func_name = 'send_tcp_stream'
symbol lookup of func_name 'send_tcp_stream' returned 0xa2a560
get_test_function enter test 0x8220930 func test_clear
func = 'test_clear'  fname = '' fname[0] = '' fnlen = 0
func_name = 'send_tcp_stream' tnlen = 15
func_name = 'send_tcp_stream_clear_stats'
symbol lookup of func_name 'send_tcp_stream_clear_stats' returned 0xa24810
get_test_function enter test 0x8220930 func test_stats
func = 'test_stats'  fname = '' fname[0] = '' fnlen = 0
func_name = 'send_tcp_stream' tnlen = 15
func_name = 'send_tcp_stream_get_stats'
symbol lookup of func_name 'send_tcp_stream_get_stats' returned 0xa25910
get_test_function enter test 0x8220930 func test_decode
func = 'test_decode'  fname = '' fname[0] = '' fnlen = 0
func_name = 'send_tcp_stream' tnlen = 15
func_name = 'send_tcp_stream_decode_stats'
symbol lookup of func_name 'send_tcp_stream_decode_stats' returned 0xa21f70
test_message: launching test thread using func 0xa2a560
test_message: launched test thread
test_message: waiting on thread
DEBUG entering function launch_pad file netlib.c
launch_pad my thread id is -1217111184
Test: send_tcp_stream, num_concurrent_conns: 0
strtofam called with AF_INET
getaddrinfo returned the following for host 'localhost' port '0' family 2
    cannonical name: 'n/a'
    flags: 0 family: 2: socktype: 1 protocol 6 addrlen 16
    sa_family: 2 sadata: 0 0 127 0 0 1
    cannonical name: 'n/a'
    flags: 0 family: 2: socktype: 1 protocol 6 addrlen 16
    sa_family: 2 sadata: 0 0 127 0 0 1
strtofam called with (null)
strtofam: unknown address family (null)
getaddrinfo returned the following for host 'n/a' port 'n/a' family -1
    cannonical name: 'n/a'
    flags: 822fe30 family: -1259065336: socktype: -1259065336 protocol 1 
addrlen 24
Segmentation fault
=============================


Looking at the above, I'm concerned with the netperf message sent to the 
netserver where local_service="0" and local_host="localhost".  This 
appears to indicate that the client/server can't (won't?) be able to 
establish connection for the load.




More information about the netperf-talk mailing list