Sure. In my scenario I have a piece of test equipment that is generating multicast traffic directly to the Thor, but I’ve been able to simplify the scenario. In simplifying things to answer your question I have determined that sending multicast packets of 1943 bytes is the threshold where it is received or not on the Thor.
All you need is another computer directly connected to the Thor:
[PC]——10GBE—–>[THOR Dev Kit]
With this setup I will run 3 tests:
- UDP Multicast traffic with packet sizes < 1943 bytes
- UDP Multicast traffic with packet sizes >= 1943 bytes
- UDP Unicast traffic with packet size of 8000 bytes.
Using tcpdump on the Thor, we will be able to validate if the packets were received or not.
On the PC I have a unicast address of 192.168.3.1. On the Thor in mgbe0_0 I have a unicast address of 192.168.3.2 . The Thor MTU on mgbe0_0 is 8966.
root@jetson-thor:/home/mbush# ifconfig mgbe0_0
mgbe0_0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 8966
inet 192.168.3.2 netmask 255.255.255.0 broadcast 192.168.3.255
ether 3c:6d:66:e3:fe:03 txqueuelen 1000 (Ethernet)
RX packets 27 bytes 21300 (21.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 52 bytes 15398 (15.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
To generate packets of various sizes I will use ncat.
head -c <size> /dev/zero | ncat -vu <dest addr> <dest port> -s <sending interface addr>
Test 1 - UDP Multicast < 1943 bytes:
PC Command:
head -c 1900 /dev/zero | ncat -vu 239.192.1.1 20001 -s 192.168.3.1
tcpdump output:
root@jetson-thor:/home/mbush# tcpdump -i mgbe0_0
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on mgbe0_0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
08:57:11.721364 IP jetson-thor.53200 > 239.192.1.1.20001: UDP, length 1900
Here we see the Thor recieved the packet.
Test 2 - UDP Multicast >= 1943 bytes:
PC Command:
head -c 2000 /dev/zero | ncat -vu 239.192.1.1 20001 -s 192.168.3.1
tcpdump output:
root@jetson-thor:/home/mbush# tcpdump -i mgbe0_0
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on mgbe0_0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
0 packets captured
0 packets received by filter
0 packets dropped by kernel
Even though the packet was sent, it was not captured by tcpdump.
Test 3- UDP Unicast traffic with packet size of 8000 bytes.
PC Command:
head -c 8000 /dev/zero | ncat -vu 192.168.3.2 20001 -s 192.168.3.1
tcpdump output:
root@jetson-thor:/home/mbush# tcpdump -i mgbe0_0
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on mgbe0_0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
09:04:51.863214 IP 192.168.3.1.40518 > jetson-thor.20001: UDP, length 8000
09:04:51.863350 IP jetson-thor > 192.168.3.1: ICMP jetson-thor udp port 20001 unreachable, length 556
2 packets captured
2 packets received by filter
0 packets dropped by kernel
Here we can see that the Thor is capable of receiving UDP packets > 1943 bytes when the destination address is a unicast address. So I can say the Thor is capable of receiving jumbo frames, but for some reason it wont if it’s a multicast packet.