Skip to content

Commit 4dbe8bc

Browse files
authored
Merge pull request #1988 from davidBar-On/issue-1984-UDP-0-loss-despite-non-zero-loss
Fix backward compatibility issue of client incorrectly print 0 UDP packets loss
2 parents b585389 + 24ffc14 commit 4dbe8bc

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
@@ -2817,7 +2817,9 @@ get_results(struct iperf_test *test)
28172817
cJSON *j_server_output;
28182818
cJSON *j_start_time, *j_end_time;
28192819
int sid;
2820-
int64_t cerror, pcount, omitted_cerror, omitted_pcount;
2820+
int64_t cerror, pcount;
2821+
// Init as seems to not be au-initialized to 0 by default, maybe because later init is only under if statement
2822+
int64_t omitted_cerror = 0, omitted_pcount = 0;
28212823
double jitter;
28222824
iperf_size_t bytes_transferred;
28232825
int retransmits;
@@ -4374,7 +4376,9 @@ iperf_print_results(struct iperf_test *test)
43744376
* data here.
43754377
*/
43764378
if (! test->json_output) {
4377-
if (receiver_packet_count - receiver_omitted_packet_count > 0 && sp->omitted_cnt_error > -1) {
4379+
if (test->omit == 0 && receiver_packet_count > 0) {
4380+
lost_percent = 100.0 * sp->cnt_error / receiver_packet_count;
4381+
} else if (receiver_packet_count - receiver_omitted_packet_count > 0 && sp->omitted_cnt_error > -1) {
43784382
lost_percent = 100.0 * (sp->cnt_error - sp->omitted_cnt_error) / (receiver_packet_count - receiver_omitted_packet_count);
43794383
}
43804384
else {
@@ -4386,7 +4390,9 @@ iperf_print_results(struct iperf_test *test)
43864390
iperf_printf(test, report_receiver_not_available_format, sp->socket);
43874391
}
43884392
else {
4389-
if (sp->omitted_cnt_error > -1) {
4393+
if (test->omit == 0) {
4394+
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);
4395+
} else if (sp->omitted_cnt_error > -1) {
43904396
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);
43914397
} else {
43924398
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)