aboutsummaryrefslogtreecommitdiff
path: root/nettest_sdp.h
diff options
context:
space:
mode:
Diffstat (limited to 'nettest_sdp.h')
-rw-r--r--nettest_sdp.h170
1 files changed, 170 insertions, 0 deletions
diff --git a/nettest_sdp.h b/nettest_sdp.h
new file mode 100644
index 0000000..31d76bc
--- /dev/null
+++ b/nettest_sdp.h
@@ -0,0 +1,170 @@
+/*
+ Copyright (C) 2007 Hewlett-Packard Company
+*/
+
+ /* This file contains the test-specific definitions for netperf's SDP */
+ /* sockets tests */
+
+/* one of these days, this should not be required */
+#ifndef AF_INET_SDP
+#define AF_INET_SDP 27
+#define PF_INET_SDP AF_INET_SDP
+#endif
+
+struct sdp_stream_request_struct {
+ int send_buf_size;
+ int recv_buf_size; /* how big does the client want it - the */
+ /* receive socket buffer that is */
+ int receive_size; /* how many bytes do we want to receive at one */
+ /* time? */
+ int recv_alignment; /* what is the alignment of the receive */
+ /* buffer? */
+ int recv_offset; /* and at what offset from that alignment? */
+ int no_delay; /* do we disable the nagle algorithm for send */
+ /* coalescing? */
+ int measure_cpu; /* does the client want server cpu utilization */
+ /* measured? */
+ float cpu_rate; /* do we know how fast the cpu is already? */
+ int test_length; /* how long is the test? */
+ int so_rcvavoid; /* do we want the remote to avoid copies on */
+ /* receives? */
+ int so_sndavoid; /* do we want the remote to avoid send copies? */
+ int dirty_count; /* how many integers in the receive buffer */
+ /* should be made dirty before calling recv? */
+ int clean_count; /* how many integers should be read from the */
+ /* recv buffer before calling recv? */
+ int port; /* the to port to which recv side should bind
+ to allow netperf to run through firewalls */
+ int ipfamily; /* address family of ipaddress */
+ int non_blocking; /* run the test in non-blocking mode */
+};
+
+struct sdp_stream_response_struct {
+ int recv_buf_size; /* how big does the client want it */
+ int receive_size;
+ int no_delay;
+ int measure_cpu; /* does the client want server cpu */
+ int test_length; /* how long is the test? */
+ int send_buf_size;
+ int data_port_number; /* connect to me here */
+ float cpu_rate; /* could we measure */
+ int so_rcvavoid; /* could the remote avoid receive copies? */
+ int so_sndavoid; /* could the remote avoid send copies? */
+ int non_blocking; /* run the test in non-blocking mode */
+};
+
+struct sdp_stream_results_struct {
+ double bytes_received;
+ unsigned int recv_calls;
+ float elapsed_time; /* how long the test ran */
+ float cpu_util; /* -1 if not measured */
+ float serv_dem; /* -1 if not measured */
+ int cpu_method; /* how was cpu util measured? */
+ int num_cpus; /* how many CPUs had the remote? */
+};
+
+struct sdp_rr_request_struct {
+ int recv_buf_size; /* how big does the client want it */
+ int send_buf_size;
+ int recv_alignment;
+ int recv_offset;
+ int send_alignment;
+ int send_offset;
+ int request_size;
+ int response_size;
+ int no_delay;
+ int measure_cpu; /* does the client want server cpu */
+ float cpu_rate; /* do we know how fast the cpu is? */
+ int test_length; /* how long is the test? */
+ int so_rcvavoid; /* do we want the remote to avoid receive */
+ /* copies? */
+ int so_sndavoid; /* do we want the remote to avoid send copies? */
+ int port; /* the to port to which recv side should bind
+ to allow netperf to run through firewalls */
+ int ipfamily; /* address family of ipaddress */
+ int non_blocking; /* run the test in non-blocking mode */
+};
+
+struct sdp_rr_response_struct {
+ int recv_buf_size; /* how big does the client want it */
+ int no_delay;
+ int measure_cpu; /* does the client want server cpu */
+ int test_length; /* how long is the test? */
+ int send_buf_size;
+ int data_port_number; /* connect to me here */
+ float cpu_rate; /* could we measure */
+ int so_rcvavoid; /* could the remote avoid receive copies? */
+ int so_sndavoid; /* could the remote avoid send copies? */
+ int non_blocking; /* run the test in non-blocking mode */
+};
+
+struct sdp_rr_results_struct {
+ unsigned int bytes_received; /* ignored initially */
+ unsigned int recv_calls; /* ignored initially */
+ unsigned int trans_received; /* not ignored */
+ float elapsed_time; /* how long the test ran */
+ float cpu_util; /* -1 if not measured */
+ float serv_dem; /* -1 if not measured */
+ int cpu_method; /* how was cpu util measured? */
+ int num_cpus; /* how many CPUs had the remote? */
+};
+
+struct sdp_maerts_request_struct {
+ int send_buf_size;
+ int recv_buf_size; /* how big does the client want it - the */
+ /* receive socket buffer that is */
+ int send_size; /* how many bytes do we want netserver to send
+ at one time? */
+ int send_alignment; /* what is the alignment of the send */
+ /* buffer? */
+ int send_offset; /* and at what offset from that alignment? */
+ int no_delay; /* do we disable the nagle algorithm for send */
+ /* coalescing? */
+ int measure_cpu; /* does the client want server cpu utilization */
+ /* measured? */
+ float cpu_rate; /* do we know how fast the cpu is already? */
+ int test_length; /* how long is the test? */
+ int so_rcvavoid; /* do we want the remote to avoid copies on */
+ /* receives? */
+ int so_sndavoid; /* do we want the remote to avoid send copies? */
+ int dirty_count; /* how many integers in the send buffer */
+ /* should be made dirty before calling recv? */
+ int clean_count; /* how many integers should be read from the */
+ /* recv buffer before calling recv? */
+ int port; /* the port to which the recv side should bind
+ to allow netperf to run through those evil
+ firewall things */
+ int ipfamily;
+};
+
+struct sdp_maerts_response_struct {
+ int recv_buf_size; /* how big does the client want it */
+ int send_size;
+ int no_delay;
+ int measure_cpu; /* does the client want server cpu */
+ int test_length; /* how long is the test? */
+ int send_buf_size;
+ int data_port_number; /* connect to me here */
+ float cpu_rate; /* could we measure */
+ int so_rcvavoid; /* could the remote avoid receive copies? */
+ int so_sndavoid; /* could the remote avoid send copies? */
+};
+
+struct sdp_maerts_results_struct {
+ double bytes_sent;
+ unsigned int send_calls;
+ float elapsed_time; /* how long the test ran */
+ float cpu_util; /* -1 if not measured */
+ float serv_dem; /* -1 if not measured */
+ int cpu_method; /* how was cpu util measured? */
+ int num_cpus; /* how many CPUs had the remote? */
+};
+
+extern void send_sdp_stream();
+extern void send_sdp_rr();
+
+extern void recv_sdp_stream();
+extern void recv_sdp_rr();
+
+extern void loc_cpu_rate();
+extern void rem_cpu_rate();