The following is a possible way to run the tests, this is just an example
One can use IoT-LAB for everything but the remote-revb boards
- Get 2 of the following boards:
samr21-xpro
,iotlab-m3
- Get the following boards:
remote-revb
,arduino-zero
withxbee
module cd ${RIOTBASE}/tests/gnrc_udp
- Setup a terminal for each board (tmux is your friend)
- Find the serial numbers and ports with
ls /dev/serial/by-id/
or withmake -C tests/gnrc_udp list-ttys
- For the samr21 terminals use the following to setup the env
eg
export BOARD=samr21-xpro && export SERIAL=<SAMR_SERIAL> && export PORT=<SAMR_PORT>
export BOARD=samr21-xpro && export SERIAL=ATML2127031800008334 && export PORT=/dev/ttyACM0
export BOARD=samr21-xpro && export PORT_=ATML2127031800002161 && export PORT=/dev/ttyACM1
7. For the remote-revb:
eg export BOARD=remote-revb && export PORT=<REMOTE_PORT> && export PORT_LINUX=${PORT}
export BOARD=remote-revb && export PORT=/dev/ttyUSB0 && export PORT_LINUX=${PORT}
export BOARD=remote-revb && export PORT=/dev/ttyUSB1 && export PORT_LINUX=${PORT}
8. For the iotlab-m3 the flashing must be done when the other is unplugged or
turned off as there is no way to distinguish between nodes:
eg export BOARD=iotlab-m3 && export PORT=<M3_PORT>
export BOARD=iotlab-m3 && export PORT=/dev/ttyUSB3
export BOARD=iotlab-m3 && export PORT=/dev/ttyUSB5
9. Use make flash term
to access the nodes (or just make term
if the
firmware is already flashed)
note: Boards types can be changed to help vary the test coverage
ICMPv6 echo request/reply exchange between two iotlab-m3 nodes
- On the dest node use
ifconfig
- Copy the link local address
inet6 addr: fe80::... scope: local VAL
, it should look likefe80::1711:6b10:65f8:b43a
- Ping from the src to the dest
ping6 -c 1000 -i 20 -s 0 <ll_addr>
- Record the packet loss, it should be less then 10% (if packet loss is high try to increase the -i value as it may be a property of the async ping6 call)
- check the packet buffer with
pktbuf
once everything is complete (as long as there is no hex dump it should be fine)
<10% packets lost on the pinging node.
ICMPv6 echo request/reply exchange between an iotlab-m3 and a samr21-xpro node.
- Set the channel on the both dest and src to 17
ifconfig 6 set chan 17
- Ping from the src to the dest
ping6 -c 1000 -i 100 -s 50 ff02::1
- Record the packet loss and timings, it should be less then 10%
- check the packet buffer with
pktbuf
<10% packets lost on the pinging node.
ICMPv6 echo request/reply exchange between any two nodes.
- Ping from the src to the dest
ping6 -c 500 -i 300 -s 1000 <ll_addr>
- Record the packet loss and timings, it should be less then 10%
- check the packet buffer with
pktbuf
<10% packets lost on the pinging node.
ICMPv6 echo request/reply exchange between an iotlab-m3 and a samr21-xpro node.
- Ping from the src to the dest
ping6 -c 10000 -i 100 -s 100 <ll_addr>
- Record the packet loss and timings, it should be less then 10%
- check the packet buffer with
pktbuf
<10% packets lost on the pinging node.
ICMPv6 echo request/reply exchange between a samr21-xpro
a remote-revb
- Set the channel on the both dest and src to 17
ifconfig 6 set chan 17
- Ping from the src to the dest
ping6 -c 1000 -i 100 -s 50 ff02::1
- Record the packet loss and timings, it should be less then 10%
- check the packet buffer with
pktbuf
<10% packets lost on the pinging node.
ICMPv6 echo request/reply exchange between a samr21-xpro
a remote-revb
- Ping from the src to the dest
ping6 -c 1000 -i 100 -s 100 <ll_addr>
- Record the packet loss and timings, it should be less then 10%
- check the packet buffer with
pktbuf
<10% packets lost on the pinging node.
ICMPv6 echo request/reply exchange between a samr21-xpro
a arduino-zero
- Flash the
arduino-zero
with theUSEMODULE=xbee BOARD=arduino-zero make flash
command - Set the channel on the both dest and src to 17
ifconfig 6 set chan 17
- Ping from the src to the dest
ping6 -c 1000 -i 150 -s 50 ff02::1
- Record the packet loss and timings, it should be less then 10%
- check the packet buffer with
pktbuf
<10% packets lost on the pinging node.
ICMPv6 echo request/reply exchange between a samr21-xpro
a arduino-zero
- Flash the
arduino-zero
with theUSEMODULE=xbee BOARD=arduino-zero make flash
command - Ping from the src to the dest
ping6 -c 1000 -i 350 -s 100 <ll_addr>
- Record the packet loss and timings, it should be less then 10%
- check the packet buffer with
pktbuf
<10% packets lost on the pinging node.
Rapid ICMPv6 echo request/reply exchange from two iotlab-m3 nodes simultaneously to one iotlab-m3.
- Ping from many srcs to the dest
ping6 -c 1000 -i 200 -s 1232 <ll_addr>
- check the packet buffer with
pktbuf
- As long as there are no crashes and the
pktbuf
clears after some time it is OK.
ICMPv6 echo request/reply exchange between two nodes (make sure module
gnrc_ipv6_ext_frag
is included and the packet buffer is large enough to handle
both the fragmented and reassembled requests/replies).
- Compile with
CFLAGS+=GNRC_PKTBUF_SIZE=8192
andUSEMODULE += gnrc_ipv6_ext_frag
. - Ping from the src to the dest
ping6 -c 200 -i 600 -s 2048 <ll_addr>
- Record the packet loss and timings, it should be less then 10%
- check the packet buffer with
pktbuf