mirror of
https://github.com/espressif/esp-idf.git
synced 2024-09-20 00:36:01 -04:00
iperf: added sequential numberring of Tx'ed datagrams
This commit is contained in:
parent
d2e519012c
commit
a213f7baf7
@ -42,7 +42,7 @@ extern "C" {
|
||||
#define IPERF_REPORT_TASK_PRIORITY 6
|
||||
#define IPERF_REPORT_TASK_STACK 4096
|
||||
|
||||
#define IPERF_UDP_TX_LEN (1472)
|
||||
#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)
|
||||
|
@ -142,6 +142,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;
|
||||
int actual_send = 0;
|
||||
int want_send = 0;
|
||||
int period_us = -1;
|
||||
@ -153,6 +155,7 @@ static void socket_send(int send_socket, struct sockaddr_storage dest_addr, uint
|
||||
const char *error_log = (type == IPERF_TRANS_TYPE_TCP) ? "tcp client send" : "udp client send";
|
||||
|
||||
buffer = s_iperf_ctrl.buffer;
|
||||
pkt_id_p = (int32_t *)s_iperf_ctrl.buffer;
|
||||
want_send = s_iperf_ctrl.buffer_len;
|
||||
iperf_start_report();
|
||||
|
||||
@ -176,7 +179,13 @@ 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++;
|
||||
}
|
||||
actual_send = sendto(send_socket, buffer, want_send, 0, (struct sockaddr *)&dest_addr, socklen);
|
||||
if (actual_send != want_send) {
|
||||
if (type == IPERF_TRANS_TYPE_UDP) {
|
||||
|
Loading…
Reference in New Issue
Block a user