blob: 31d76bcf7c410e47d356290cb50549eab0875b78 [file] [log] [blame]
The Android Open Source Project02fb0ac2009-03-03 19:30:07 -08001/*
2 Copyright (C) 2007 Hewlett-Packard Company
3*/
4
5 /* This file contains the test-specific definitions for netperf's SDP */
6 /* sockets tests */
7
8/* one of these days, this should not be required */
9#ifndef AF_INET_SDP
10#define AF_INET_SDP 27
11#define PF_INET_SDP AF_INET_SDP
12#endif
13
14struct sdp_stream_request_struct {
15 int send_buf_size;
16 int recv_buf_size; /* how big does the client want it - the */
17 /* receive socket buffer that is */
18 int receive_size; /* how many bytes do we want to receive at one */
19 /* time? */
20 int recv_alignment; /* what is the alignment of the receive */
21 /* buffer? */
22 int recv_offset; /* and at what offset from that alignment? */
23 int no_delay; /* do we disable the nagle algorithm for send */
24 /* coalescing? */
25 int measure_cpu; /* does the client want server cpu utilization */
26 /* measured? */
27 float cpu_rate; /* do we know how fast the cpu is already? */
28 int test_length; /* how long is the test? */
29 int so_rcvavoid; /* do we want the remote to avoid copies on */
30 /* receives? */
31 int so_sndavoid; /* do we want the remote to avoid send copies? */
32 int dirty_count; /* how many integers in the receive buffer */
33 /* should be made dirty before calling recv? */
34 int clean_count; /* how many integers should be read from the */
35 /* recv buffer before calling recv? */
36 int port; /* the to port to which recv side should bind
37 to allow netperf to run through firewalls */
38 int ipfamily; /* address family of ipaddress */
39 int non_blocking; /* run the test in non-blocking mode */
40};
41
42struct sdp_stream_response_struct {
43 int recv_buf_size; /* how big does the client want it */
44 int receive_size;
45 int no_delay;
46 int measure_cpu; /* does the client want server cpu */
47 int test_length; /* how long is the test? */
48 int send_buf_size;
49 int data_port_number; /* connect to me here */
50 float cpu_rate; /* could we measure */
51 int so_rcvavoid; /* could the remote avoid receive copies? */
52 int so_sndavoid; /* could the remote avoid send copies? */
53 int non_blocking; /* run the test in non-blocking mode */
54};
55
56struct sdp_stream_results_struct {
57 double bytes_received;
58 unsigned int recv_calls;
59 float elapsed_time; /* how long the test ran */
60 float cpu_util; /* -1 if not measured */
61 float serv_dem; /* -1 if not measured */
62 int cpu_method; /* how was cpu util measured? */
63 int num_cpus; /* how many CPUs had the remote? */
64};
65
66struct sdp_rr_request_struct {
67 int recv_buf_size; /* how big does the client want it */
68 int send_buf_size;
69 int recv_alignment;
70 int recv_offset;
71 int send_alignment;
72 int send_offset;
73 int request_size;
74 int response_size;
75 int no_delay;
76 int measure_cpu; /* does the client want server cpu */
77 float cpu_rate; /* do we know how fast the cpu is? */
78 int test_length; /* how long is the test? */
79 int so_rcvavoid; /* do we want the remote to avoid receive */
80 /* copies? */
81 int so_sndavoid; /* do we want the remote to avoid send copies? */
82 int port; /* the to port to which recv side should bind
83 to allow netperf to run through firewalls */
84 int ipfamily; /* address family of ipaddress */
85 int non_blocking; /* run the test in non-blocking mode */
86};
87
88struct sdp_rr_response_struct {
89 int recv_buf_size; /* how big does the client want it */
90 int no_delay;
91 int measure_cpu; /* does the client want server cpu */
92 int test_length; /* how long is the test? */
93 int send_buf_size;
94 int data_port_number; /* connect to me here */
95 float cpu_rate; /* could we measure */
96 int so_rcvavoid; /* could the remote avoid receive copies? */
97 int so_sndavoid; /* could the remote avoid send copies? */
98 int non_blocking; /* run the test in non-blocking mode */
99};
100
101struct sdp_rr_results_struct {
102 unsigned int bytes_received; /* ignored initially */
103 unsigned int recv_calls; /* ignored initially */
104 unsigned int trans_received; /* not ignored */
105 float elapsed_time; /* how long the test ran */
106 float cpu_util; /* -1 if not measured */
107 float serv_dem; /* -1 if not measured */
108 int cpu_method; /* how was cpu util measured? */
109 int num_cpus; /* how many CPUs had the remote? */
110};
111
112struct sdp_maerts_request_struct {
113 int send_buf_size;
114 int recv_buf_size; /* how big does the client want it - the */
115 /* receive socket buffer that is */
116 int send_size; /* how many bytes do we want netserver to send
117 at one time? */
118 int send_alignment; /* what is the alignment of the send */
119 /* buffer? */
120 int send_offset; /* and at what offset from that alignment? */
121 int no_delay; /* do we disable the nagle algorithm for send */
122 /* coalescing? */
123 int measure_cpu; /* does the client want server cpu utilization */
124 /* measured? */
125 float cpu_rate; /* do we know how fast the cpu is already? */
126 int test_length; /* how long is the test? */
127 int so_rcvavoid; /* do we want the remote to avoid copies on */
128 /* receives? */
129 int so_sndavoid; /* do we want the remote to avoid send copies? */
130 int dirty_count; /* how many integers in the send buffer */
131 /* should be made dirty before calling recv? */
132 int clean_count; /* how many integers should be read from the */
133 /* recv buffer before calling recv? */
134 int port; /* the port to which the recv side should bind
135 to allow netperf to run through those evil
136 firewall things */
137 int ipfamily;
138};
139
140struct sdp_maerts_response_struct {
141 int recv_buf_size; /* how big does the client want it */
142 int send_size;
143 int no_delay;
144 int measure_cpu; /* does the client want server cpu */
145 int test_length; /* how long is the test? */
146 int send_buf_size;
147 int data_port_number; /* connect to me here */
148 float cpu_rate; /* could we measure */
149 int so_rcvavoid; /* could the remote avoid receive copies? */
150 int so_sndavoid; /* could the remote avoid send copies? */
151};
152
153struct sdp_maerts_results_struct {
154 double bytes_sent;
155 unsigned int send_calls;
156 float elapsed_time; /* how long the test ran */
157 float cpu_util; /* -1 if not measured */
158 float serv_dem; /* -1 if not measured */
159 int cpu_method; /* how was cpu util measured? */
160 int num_cpus; /* how many CPUs had the remote? */
161};
162
163extern void send_sdp_stream();
164extern void send_sdp_rr();
165
166extern void recv_sdp_stream();
167extern void recv_sdp_rr();
168
169extern void loc_cpu_rate();
170extern void rem_cpu_rate();