From 29c6b5478a9c8aa1c313067a8049b22c2a8c0bf8 Mon Sep 17 00:00:00 2001 From: Nachiket Kukade Date: Fri, 22 Sep 2023 15:12:52 +0530 Subject: [PATCH] fix(examples/iperf): Update and rename default TCP/UDP buffer sizes --- .../common_components/iperf/include/iperf.h | 9 +++--- examples/common_components/iperf/iperf.c | 32 +++++++++++-------- 2 files changed, 23 insertions(+), 18 deletions(-) diff --git a/examples/common_components/iperf/include/iperf.h b/examples/common_components/iperf/include/iperf.h index fb8ab754aa..1a28000c17 100644 --- a/examples/common_components/iperf/include/iperf.h +++ b/examples/common_components/iperf/include/iperf.h @@ -42,10 +42,11 @@ extern "C" { #define IPERF_REPORT_TASK_PRIORITY 6 #define IPERF_REPORT_TASK_STACK 4096 -#define IPERF_UDP_TX_LEN (1470) -#define IPERF_UDP_RX_LEN (16 << 10) -#define IPERF_TCP_TX_LEN (16 << 10) -#define IPERF_TCP_RX_LEN (16 << 10) +#define IPERF_DEFAULT_IPV4_UDP_TX_LEN (1470) +#define IPERF_DEFAULT_IPV6_UDP_TX_LEN (1450) +#define IPERF_DEFAULT_UDP_RX_LEN (16 << 10) +#define IPERF_DEFAULT_TCP_TX_LEN (16 << 10) +#define IPERF_DEFAULT_TCP_RX_LEN (16 << 10) #define IPERF_MAX_DELAY 64 diff --git a/examples/common_components/iperf/iperf.c b/examples/common_components/iperf/iperf.c index a43bdad10c..07ead6c43c 100644 --- a/examples/common_components/iperf/iperf.c +++ b/examples/common_components/iperf/iperf.c @@ -152,8 +152,8 @@ static void socket_recv(int recv_socket, struct sockaddr_storage listen_addr, ui static void socket_send(int send_socket, struct sockaddr_storage dest_addr, uint8_t type, int bw_lim) { uint8_t *buffer; - int32_t *pkt_id_p; - int32_t pkt_cnt = 0; + uint32_t *pkt_id_p; + uint32_t pkt_cnt = 0; int actual_send = 0; int want_send = 0; int period_us = -1; @@ -163,7 +163,7 @@ static void socket_send(int send_socket, struct sockaddr_storage dest_addr, uint int err = 0; buffer = s_iperf_ctrl.buffer; - pkt_id_p = (int32_t *)s_iperf_ctrl.buffer; + pkt_id_p = (uint32_t *)s_iperf_ctrl.buffer; want_send = s_iperf_ctrl.buffer_len; iperf_start_report(); @@ -187,13 +187,7 @@ static void socket_send(int send_socket, struct sockaddr_storage dest_addr, uint } prev_time = send_time; } - *pkt_id_p = htonl(pkt_cnt); // datagrams need to be sequentially numbered - if (pkt_cnt >= INT32_MAX) { - pkt_cnt = 0; - } - else { - pkt_cnt++; - } + *pkt_id_p = htonl(pkt_cnt++); // datagrams need to be sequentially numbered if (s_iperf_ctrl.cfg.type == IPERF_IP_TYPE_IPV6) { actual_send = sendto(send_socket, buffer, want_send, 0, (struct sockaddr *)&dest_addr, sizeof(struct sockaddr_in6)); } else if (s_iperf_ctrl.cfg.type == IPERF_IP_TYPE_IPV4) { @@ -481,13 +475,23 @@ static void iperf_task_traffic(void *arg) static uint32_t iperf_get_buffer_len(void) { if (iperf_is_udp_client()) { - return (s_iperf_ctrl.cfg.len_send_buf == 0 ? IPERF_UDP_TX_LEN : s_iperf_ctrl.cfg.len_send_buf); +#ifdef CONFIG_LWIP_IPV6 + if (s_iperf_ctrl.cfg.len_send_buf) { + return s_iperf_ctrl.cfg.len_send_buf; + } else if (s_iperf_ctrl.cfg.type == IPERF_IP_TYPE_IPV6) { + return IPERF_DEFAULT_IPV6_UDP_TX_LEN; + } else { + return IPERF_DEFAULT_IPV4_UDP_TX_LEN; + } +#else + return (s_iperf_ctrl.cfg.len_send_buf == 0 ? IPERF_DEFAULT_IPV4_UDP_TX_LEN : s_iperf_ctrl.cfg.len_send_buf); +#endif } else if (iperf_is_udp_server()) { - return IPERF_UDP_RX_LEN; + return IPERF_DEFAULT_UDP_RX_LEN; } else if (iperf_is_tcp_client()) { - return (s_iperf_ctrl.cfg.len_send_buf == 0 ? IPERF_TCP_TX_LEN : s_iperf_ctrl.cfg.len_send_buf); + return (s_iperf_ctrl.cfg.len_send_buf == 0 ? IPERF_DEFAULT_TCP_TX_LEN : s_iperf_ctrl.cfg.len_send_buf); } else { - return IPERF_TCP_RX_LEN; + return IPERF_DEFAULT_TCP_RX_LEN; } return 0; }