SNLA450 July 2024 DP83822H , DP83822HF , DP83822I , DP83822IF , DP83826E , DP83826I , DP83848-EP , DP83848Q-Q1 , DP83867CR , DP83867CS , DP83867E , DP83867IR , DP83867IS , DP83TC812R-Q1 , DP83TC812S-Q1 , DP83TC813R-Q1 , DP83TC813S-Q1 , DP83TC814R-Q1 , DP83TC814S-Q1 , DP83TG720R-Q1 , DP83TG720S-Q1 , DP83TG721R-Q1 , DP83TG721S-Q1
Throughput testing refers to sending data from one board to another. An initial ping test can be performed first to confirm communication with the destination is possible. The following example demonstrates the most basic type of ping, where the host is directly connected to the destination. This example does not include any kind of switch, hub, or router.
Ping Example:A testboard running Linux is connected to a Linux PC through an Ethernet cable.
root@j7-evm:~# ifconfig eth0 169.254.132.250
root@j7-evm:~# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 metric 1
inet 169.254.132.250 netmask 255.255.0.0 broadcast 169.254.255.255
inet6 fe80::3608:e1ff:fe59:5cd2 prefixlen 64 scopeid 0x20<link>
ether 34:08:e1:59:5c:d2 txqueuelen 1000 (Ethernet)
RX packets 133 bytes 16347 (15.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 481 bytes 117318 (114.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
root@j7-evm:~# ping 169.254.132.246
PING 169.254.132.246 (169.254.132.246): 56 data bytes
64 bytes from 169.254.132.246: seq=0 ttl=64 time=0.579 ms
64 bytes from 169.254.132.246: seq=1 ttl=64 time=0.546 ms
64 bytes from 169.254.132.246: seq=2 ttl=64 time=0.587 ms
64 bytes from 169.254.132.246: seq=3 ttl=64 time=0.557 ms
64 bytes from 169.254.132.246: seq=4 ttl=64 time=0.518 ms
64 bytes from 169.254.132.246: seq=5 ttl=64 time=0.574 ms
64 bytes from 169.254.132.246: seq=6 ttl=64 time=0.548 ms
64 bytes from 169.254.132.246: seq=7 ttl=64 time=0.561 ms
^C
--- 169.254.132.246 ping statistics ---
8 packets transmitted, 8 packets received, 0% packet loss
round-trip min/avg/max = 0.518/0.558/0.587 ms
root@j7-evm:~#
With ping successfully working, we can attempt to perform a throughput test using iPerf, an open-source tool used to measure network performance/bandwidth. iPerf needs to be installed on both machines (testboard and Linux PC) to function.
iPerf Example:
root@j7-evm:~# iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 128 KByte (default)
------------------------------------------------------------
[ 4] local 169.254.132.250 port 5001 connected with 169.254.132.246 port 37356
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 1.09 GBytes 933 Mbits/sec //This step happens after the Linux PC connects as a client