[netperf-talk] netperf4 questions - more info
Mike Higgins
MHiggins at zhone.com
Wed Apr 7 16:18:51 PDT 2010
Mike Higgins wrote:
> 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.
>
>
> _______________________________________________
> netperf-talk mailing list
> netperf-talk at netperf.org
> http://www.netperf.org/cgi-bin/mailman/listinfo/netperf-talk
Rick or anyone:
I'm still not having any luck with this. Whatever I try I either get
results that look like loopback or socket bind errors. Does anyone have
a working set of config/command files to do a simple send_tcp_stream or
recv_tcp_stream between two nodes. One node acting as a server and the
other as the client?
Thanks.
More information about the netperf-talk
mailing list