Skip to content

Commit 24ffc14

Browse files
committed
Fix backward compatibility issue of client incorrectly print 0 UDP packets loss
1 parent d348cd7 commit 24ffc14

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

src/iperf_api.c

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2762,7 +2762,9 @@ get_results(struct iperf_test *test)
27622762
cJSON *j_server_output;
27632763
cJSON *j_start_time, *j_end_time;
27642764
int sid;
2765-
int64_t cerror, pcount, omitted_cerror, omitted_pcount;
2765+
int64_t cerror, pcount;
2766+
// Init as seems to not be au-initialized to 0 by default, maybe because later init is only under if statement
2767+
int64_t omitted_cerror = 0, omitted_pcount = 0;
27662768
double jitter;
27672769
iperf_size_t bytes_transferred;
27682770
int retransmits;
@@ -4310,7 +4312,9 @@ iperf_print_results(struct iperf_test *test)
43104312
* data here.
43114313
*/
43124314
if (! test->json_output) {
4313-
if (receiver_packet_count - receiver_omitted_packet_count > 0 && sp->omitted_cnt_error > -1) {
4315+
if (test->omit == 0 && receiver_packet_count > 0) {
4316+
lost_percent = 100.0 * sp->cnt_error / receiver_packet_count;
4317+
} else if (receiver_packet_count - receiver_omitted_packet_count > 0 && sp->omitted_cnt_error > -1) {
43144318
lost_percent = 100.0 * (sp->cnt_error - sp->omitted_cnt_error) / (receiver_packet_count - receiver_omitted_packet_count);
43154319
}
43164320
else {
@@ -4322,7 +4326,9 @@ iperf_print_results(struct iperf_test *test)
43224326
iperf_printf(test, report_receiver_not_available_format, sp->socket);
43234327
}
43244328
else {
4325-
if (sp->omitted_cnt_error > -1) {
4329+
if (test->omit == 0) {
4330+
iperf_printf(test, report_bw_udp_format, sp->socket, mbuf, start_time, receiver_time, ubuf, nbuf, sp->jitter * 1000.0, sp->cnt_error, receiver_packet_count, lost_percent, report_receiver);
4331+
} else if (sp->omitted_cnt_error > -1) {
43264332
iperf_printf(test, report_bw_udp_format, sp->socket, mbuf, start_time, receiver_time, ubuf, nbuf, sp->jitter * 1000.0, (sp->cnt_error - sp->omitted_cnt_error), (receiver_packet_count - receiver_omitted_packet_count), lost_percent, report_receiver);
43274333
} else {
43284334
iperf_printf(test, report_bw_udp_format_no_omitted_error, sp->socket, mbuf, start_time, receiver_time, ubuf, nbuf, sp->jitter * 1000.0, (receiver_packet_count - receiver_omitted_packet_count), report_receiver);

0 commit comments

Comments
 (0)