Wireshark shows that Windows 10 UDP fragmentation sends duplicate frames RRS feed

  • Question

  • Hi all,

    I'm communicating to an embedded target from my Windows machines using UDP. As long as my UDP packets are less than or equal to the MTU (1472 bytes, accounting for UDP overhead), everything works. When I send 1473 bytes or more in a UDP packet, the IP stack has to fragment the packet as it goes out: fair enough. And it works perfectly from my Windows 7 machine. Unfortunately, the exact same executable running on Windows 10 sends duplicate frames.

    An example: say I send 3x 1473-byte UDP packets. The fragmentation means that a total of 6 frames have to be sent:

    1: 1472-byte payload
    2: 1-byte payload
    3: 1472-byte payload
    4: 1-byte payload
    5: 1472-byte payload
    6: 1-byte payload

    And on my Windows 7 machine, that's what Wireshark shows. On my Windows 10 machine though, Wireshark (and my embedded target) show the following:

    1: 1472-byte payload
    2: 1-byte payload
    3: 1-byte payload
    4: 1472-byte payload
    5: 1-byte payload
    6: 1-byte payload
    7: 1472-byte payload
    8: 1-byte payload
    9: 1-byte payload

    And the repeated 1-byte payload frames are identical in all respects

    Some more information:

    A) Both versions of Windows are as up-to-date as I can get them (release, not Insider Preview, or even Developer mode);

    B) The Windows 10 symptom happens on either the main Ether NIC or a USB Ether adapter - the same USB Ether adapter that works fine in Windows 7 - so it's not the Ethernet drivers.

    Any suggestions on what else I should try, or demonstrate? I can upload my source - it's a 125-line Win32 SDK program written in C++ - but the fact that the same binary works on Win7 but not Win10 tells me that that's not where the problem is...

    With thanks for any suggestions,

    John Adriaan

    • Edited by John.Adriaan Wednesday, June 8, 2016 3:56 AM (Repaired formatting)
    Wednesday, June 8, 2016 3:48 AM