aboutsummaryrefslogtreecommitdiff
path: root/src/nettest_dlpi.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/nettest_dlpi.h')
-rw-r--r--src/nettest_dlpi.h215
1 files changed, 215 insertions, 0 deletions
diff --git a/src/nettest_dlpi.h b/src/nettest_dlpi.h
new file mode 100644
index 0000000..8169237
--- /dev/null
+++ b/src/nettest_dlpi.h
@@ -0,0 +1,215 @@
+/*
+ Copyright (C) 1993, Hewlett-Packard Company
+*/
+
+ /* This file contains the test-specific definitions for netperf's */
+ /* DLPI tests */
+
+
+struct dlpi_co_stream_request_struct {
+ int recv_win_size;
+ int send_win_size;
+ 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 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 sap; /* */
+ int ppa; /* which device do we wish to use? */
+ int dev_name_len; /* the length of the device name string. this */
+ /* is used to put it into the proper order on */
+ /* @#$% byte-swapped boxes... */
+ char dlpi_device[32]; /* the path to the dlpi device */
+};
+
+struct dlpi_co_stream_response_struct {
+ int recv_win_size; /* how big does the client want it */
+ int send_win_size;
+ int receive_size;
+ int measure_cpu; /* does the client want server cpu */
+ int test_length; /* how long is the test? */
+ 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 station_addr_len;
+ int station_addr[1];/* what is the station address for the */
+ /* specified ppa? */
+};
+
+struct dlpi_co_stream_results_struct {
+ int bytes_received; /* ignored initially */
+ int recv_calls; /* ignored initially */
+ 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 were there? */
+};
+
+struct dlpi_co_rr_request_struct {
+ int recv_win_size; /* how big does the client want it */
+ int send_win_size;
+ int recv_alignment;
+ int recv_offset;
+ int send_alignment;
+ int send_offset;
+ int request_size;
+ int response_size;
+ 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 ppa; /* which device do we wish to use? */
+ int sap; /* which sap should be used? */
+ int dev_name_len; /* the length of the device name string. this */
+ /* is used to put it into the proper order on */
+ /* @#$% byte-swapped boxes... */
+ char dlpi_device[32]; /* the path to the dlpi device */
+};
+
+struct dlpi_co_rr_response_struct {
+ int recv_win_size; /* how big does the client want it */
+ int send_win_size;
+ int measure_cpu; /* does the client want server cpu */
+ int test_length; /* how long is the test? */
+ 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 station_addr_len; /* the length of the station address */
+ int station_addr[1]; /* the remote's station address */
+};
+
+struct dlpi_co_rr_results_struct {
+ int bytes_received; /* ignored initially */
+ int recv_calls; /* ignored initially */
+ 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 were there? */
+};
+
+struct dlpi_cl_stream_request_struct {
+ int recv_win_size;
+ int message_size;
+ int recv_alignment;
+ int recv_offset;
+ int checksum_off;
+ int measure_cpu;
+ float cpu_rate;
+ int test_length;
+ 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 ppa; /* which device do we wish to use? */
+ int sap;
+ int dev_name_len; /* the length of the device name string. this */
+ /* is used to put it into the proper order on */
+ /* @#$% byte-swapped boxes... */
+ char dlpi_device[32]; /* the path to the dlpi device */
+};
+
+struct dlpi_cl_stream_response_struct {
+ int recv_win_size;
+ int send_win_size;
+ int measure_cpu;
+ int test_length;
+ int data_port_number;
+ float cpu_rate;
+ int so_rcvavoid; /* could the remote avoid receive copies? */
+ int so_sndavoid; /* could the remote avoid send copies? */
+ int station_addr_len; /* the length of the station address */
+ int station_addr[1]; /* the remote's station address */
+};
+
+struct dlpi_cl_stream_results_struct {
+ int messages_recvd;
+ int bytes_received;
+ float elapsed_time;
+ float cpu_util;
+ int num_cpus;
+};
+
+
+struct dlpi_cl_rr_request_struct {
+ int recv_win_size; /* how big does the client want it */
+ int send_win_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 ppa; /* which device do we wish to use? */
+ int sap; /* which sap? */
+ int dev_name_len; /* the length of the device name string. this */
+ /* is used to put it into the proper order on */
+ /* @#$% byte-swapped boxes... */
+ char dlpi_device[32]; /* the path to the dlpi device */
+};
+
+struct dlpi_cl_rr_response_struct {
+ int recv_win_size; /* how big does the client want it */
+ int send_win_size;
+ int no_delay;
+ int measure_cpu; /* does the client want server cpu */
+ int test_length; /* how long is the test? */
+ 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 station_addr_len; /* the length of the station address */
+ int station_addr[1]; /* the remote's station address */
+};
+
+struct dlpi_cl_rr_results_struct {
+ int bytes_received; /* ignored initially */
+ int recv_calls; /* ignored initially */
+ 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 were there? */
+};
+
+extern void send_dlpi_co_stream();
+
+extern int recv_dlpi_co_stream();
+
+extern int send_dlpi_co_rr(char remote_host[]);
+
+extern void send_dlpi_cl_stream(char remote_host[]);
+
+extern int recv_dlpi_cl_stream();
+
+extern int send_dlpi_cl_rr(char remote_host[]);
+
+extern int recv_dlpi_cl_rr();
+
+extern int recv_dlpi_co_rr();
+
+extern void scan_dlpi_args(int argc, char *argv[]);