Skip to content

IPv6 UDP checksum error when sending small packets #1944

@njh

Description

@njh

Hello,

I think I have found a UDP checksum bug, for packets less than 3 bytes, when sending over IPv6. I have been testing using socat on a Raspberry Pi and Wireshark on a MacBook.

Three byte UDP payload succeeds:

echo -n 'off' | socat -u - udp6-sendto:[2001:8b0:ffd5:3:6959:620b:9ca4:34d1]:5000

But a one or two byte payload fails:

echo -n 'on' | socat -u - udp6-sendto:[2001:8b0:ffd5:3:6959:620b:9ca4:34d1]:5000
echo -n '1' | socat -u - udp6-sendto:[2001:8b0:ffd5:3:6959:620b:9ca4:34d1]:5000

Doing the same with IPv4 succeeds for all payload sizes:

echo -n 'off' | socat -u - udp4-sendto:10.108.65.13:5000
echo -n 'on' | socat -u - udp4-sendto:10.108.65.13:5000
echo -n '1' | socat -u - udp4-sendto:10.108.65.13:5000

The versions I am using are:

  • Raspberry Pi 3
    • eth0: register 'smsc95xx' at usb-3f980000.usb-1.1, smsc95xx USB 2.0 Ethernet, b8:27:eb:fc:2c:4a
  • Linux 4.4.50-v7+ bcm2708_fb: Add ARCH_BCM2835 support #970 SMP Mon Feb 20 19:18:29 GMT 2017 armv7l GNU/Linux
  • socat-1.7.2.4-2

nick.

wireshark-udp-checksum-problem

wireshark-udp-checksum-problem..pcap.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    Waiting for external inputWaiting for a comment from the originator of the issue, or a collaborator.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions