## Additional information / frame forensics A frame capture was done on the receiving peer to investigate to what extent the frames are corrupted. With TX offloading enabled on the sender (frames 1–5) and disabled (frames 6-12), the receiving capture shows the following errors in each IPv4 SYN frame with an 802.1Q tag (78 bytes):
Bytes 16–17 (EtherType) 0x0800 (IPv4) is replaced by 0x0040, which is interpreted as the length of an Ethernet LLC frame. In an untagged frame they would hold the IPv4 total length. 0x0040 (64) equals the frame length - 14 (78-14), the length computed assuming a 14-byte MAC header so without VLAN Tag. Bytes 24–25 (IPv4 flags/fragment offset) Both are overwritten with changing, inconsistent values setting the reserved bit R to 1, which is forbidden. The IP header checksum (0xCF73 in frame 1) is valid only if the field is 0x4000 (R=0, DF=1, MF=0, offset 0), so the field was overwritten after the checksum was computed. In an untagged frame, bytes 24–25 are the header checksum position. The written value is the ones complement of the sum of all bytes 14–77 (VLAN TCI, EtherType, IP header, TCP header and options; 64 bytes), with bytes 24–25 set to 0. An IP header checksum normally covers only the 20-byte header. Beside of the last issue, this is consistent with an offloading that does not account for the 4-byte VLAN tag and writes both values with an 4 bytes offset. Bytes 54–55 (TCP checksum) The value equals the pseudo-header sum (source/destination address, protocol, TCP length), the seed that the kernel places in the field for checksum offload and that the NIC must complete. The final checksum was not calculated by the NIC, and the frame was sent with an unfinalized and so incorrect TCP checksum. Starting with frame 6, with TX offloading disabled, EtherType, flags and both checksums are correct and the SSH connection is established ** Attachment added: "Captured Frames (1-5 with offloading) and (6-12 without offloading)" https://bugs.launchpad.net/ubuntu/+source/linux-signed/+bug/2173506/+attachment/6015652/+files/capture-frames-1-12.pcapng -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2173506 Title: r8169 IPv4 TCP via 802.1Q VLAN subinterface times out unless TX checksum offload is disabled To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux-signed/+bug/2173506/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
