...
In the figure below, the test station (192.168.5.110) requests the retransmission of a lost segment and the target (192.168.5.217) fails to retransmit it:
...
Panel | ||
---|---|---|
| ||
Retransmissions should never happen unless they are requested by the communication protocol. Erroneous retransmissions can happen if a transmitted buffer remains assigned to a descriptor, and the buffer is not deallocated.No Retransmission
While performing performance tests on the target, you should use Wireshark or another packet capture tool to monitoring the trafic. Unrequested packets retransmission can be detected by searching for frames marked with “[This frame is a (suspected) retransmission]” in Wireshark.
...
Certain TCP/IP features reduce performance, so you should disable these features before logging the results. The µC/TCP-IP configuration switches for these features are shown in the listing below, and can be found in net_cfg.h
.
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Net Configuration:
#define NET_DBG_CFG_INFO_EN DEF_DISABLED
#define NET_DBG_CFG_STATUS_EN DEF_DISABLED
#define NET_DBG_CFG_MEM_CLR_EN DEF_DISABLED
#define NET_DBG_CFG_TEST_EN DEF_DISABLED
#define NET_ERR_CFG_ARG_CHK_EXT_EN DEF_DISABLED
#define NET_ERR_CFG_ARG_CHK_DBG_EN DEF_DISABLED
#define NET_CTR_CFG_STAT_EN DEF_DISABLED
#define NET_CTR_CFG_ERR_EN DEF_DISABLED
#define NET_IF_CFG_LOOPBACK_EN DEF_DISABLED
#define NET_ICMP_CFG_TX_SRC_QUENCH_EN DEF_DISABLED |
Task Priorities
In order to obtain the best possible performance for your tests, you should use appropriate task priorities.
...
The listing below shows an example of task priorities and stack sizes for a typical device performance measurement application.
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
/*
**********************************************************************************************
* TASK PRIORITIES
**********************************************************************************************
*/
#define IPERF_OS_CFG_TASK_PRIO 11u
#define APP_TASK_START_PRIO 13u
#define NDIT_TASK_TERMINAL_PRIO 15u
#define NDIT_TASK_MULTICAST_PRIO 12u
#define NDIT_TASK_SERVER_PRIO 16u
#define NET_OS_CFG_IF_TX_DEALLOC_TASK_PRIO 2u
#define NET_OS_CFG_TMR_TASK_PRIO 15u
#define NET_OS_CFG_IF_RX_TASK_PRIO 18u
#define NDIT_MCAST_TASK_PRIO 20u
/*
**********************************************************************************************
* TASK STACK SIZES
* Size of the task stacks (# of OS_STK entries)
**********************************************************************************************
*/
#define APP_TASK_START_STK_SIZE 128u
#define NDIT_TASK_TERMINAL_STK_SIZE 512u
#define IPERF_OS_CFG_TASK_STK_SIZE 512u
#define NDIT_TASK_SERVER_STK_SIZE 512u
#define NDIT_MCAST_TASK_STK_SIZE 512u
#define NET_OS_CFG_TMR_TASK_STK_SIZE 512u
#define NET_OS_CFG_IF_TX_DEALLOC_TASK_STK_SIZE 128u
#define NET_OS_CFG_IF_RX_TASK_STK_SIZE 512u |