Hi,

I have been playing around with trying to send UDP messages over RTnet but have 
run into a weird bug where the UDP packets sent with the RTnet network driver 
end up with an incorrect checksum.

Currently I do not run RTmac or tdma. The script I am running to send the UDP 
packets is the example Xenomai native script from the RTnet repo:

https://sourceforge.net/p/rtnet/code/ci/master/tree/examples/xenomai/native/frag-ip.c

I use this script largely unchanged (just changing the dest/local ip to that of 
my devices)

A couple more details: 

My startup script for RTnet is as follows

     modprobe rtnet >/dev/null || exit 1
        modprobe rtipv4 >/dev/null || exit 1
        modprobe $RT_DRIVER >/dev/null || exit 1
        echo $ETHERNET_PCI_BUS_NUM > 
/sys/bus/pci/devices/$ETHERNET_PCI_BUS_NUM/driver/unbind
        echo $ETHERNET_PCI_BUS_NUM > /sys/bus/pci/drivers/$RT_DRIVER/bind
        modprobe rtpacket >/dev/null || exit 1
        modprobe rtudp >/dev/null || exit 1
        modprobe rt_loopback >/dev/null || exit 1

        $RTIFCONFIG rtlo up 127.0.0.1   
        $RTIFCONFIG rteth0 up $IP_ADDR netmask $NETMASK
        sleep 3

        $RTROUTE solicit $HOST_IP dev rteth0

The IP_ADDR is the local address of the device and the HOST_IP refers to the 
end host I'd like to send packets to -- all other vars follow the convention in 
the default rtnet startup script. I am able to rtping my end host successfully.

When I wireshark on the end host (device receiving the UDP packets), I see that 
the checksum is consistently wrong, but the data payload is correct. When I 
unload the rt driver from the network card (rt_e1000e) and load back the normal 
driver (e1000e) the checksum is correct. Just wondering what might be wrong.

System info: (this is what I see when I run xeno-config --info)
Xenomai version: Xenomai/cobalt v3.2.2 -- #62edc8a (2023-02-24 18:50:51 +0100)
Linux xxxx-xxxxxxxx-2 5.15.98-xen3.2+ #4 SMP IRQPIPE Thu Mar 23 02:04:47 UTC 
2023 x86_64 x86_64 x86_64 GNU/Linux
Kernel parameters: BOOT_IMAGE=/boot/vmlinuz-5.15.98-xen3.2+ 
root=UUID=f236e094-4a8a-49e8-829f-42f54b1eb5d8 ro quiet splash 
i915.enable_rc6=0 i915.enable_dc=0 noapic nosmap xenomai.smi=1 
xenomai.allowed_group=30000 cpuidle.off=1 vt.handoff=7
Cobalt core 3.2.2 detected
Compiler: gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04)
Build args:

Thanks!
_______________________________________________
RTnet-users mailing list
RTnet-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/rtnet-users

Reply via email to