lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <CAPsLH6aHJGG7kAaZ7hdyKoSor4Ws2Fwujjjxog6E_bQrY1fA+w@mail.gmail.com> Date: Thu, 14 Sep 2023 22:02:24 +0800 From: Yachen Liu <blankwonder@...il.com> To: netdev@...r.kernel.org Cc: michael.jamet@...el.com, mika.westerberg@...ux.intel.com, YehezkelShB@...il.com Subject: [Bug][USB4NET] Potential Bug with USB4NET and Linux Bridging Hello, I've noticed a potential issue with USB4NET when used in conjunction with Linux bridging. I'm uncertain if it's a bug or a configuration oversight on my part. In essence, when the device at the other end of Thunderbolt sends packets using the TSO mechanism (default behavior in macOS), the Linux thunderbolt0 interface correctly receives this large packet. However, the packet isn't properly forwarded to another device via bridging. Detailed Description: The test environment consists of three systems: A: Mac Mini (M2): macOS Sonoma 14.0 RC B: Proxmox VE 8.0. Kernel release: 6.2.16-3-pve, acting as the Host system. C: Debian. A Guest system running within B. System A and B are connected via USB4, while System C is a virtual machine within B. On B, thunderbolt0 and tap102i0 are bridged to establish a connection between A and C. During an iperf3 speed test between A and B, I've achieved bi-directional speeds of around 18Gbps. Between B and C, the speeds are 100Gbps+ at their peak, with a minimum of 28Gbps. However, when performing an iperf3 speed test between A and C, the direction from C to A shows about 18Gbps, but from A to C, the speed drops to just tens of Kbps, essentially making it unusable. If tested using UDP, both directions achieve roughly 5Gbps. (I suspect some buffer issue in macOS limiting the speed). After various tests and investigations, I found that by setting macOS's net.inet.tcp.tso to 0 (disabling TSO), speeds from A to C improved to around 10Gbps. Packet capture via tcpdump revealed that macOS writes large packets (over 10000B) to Thunderbolt Networking using TSO. These packets are correctly captured on thunderbolt0, but are missing from tap102i0, resulting in significant packet loss. Since ethtool doesn't support the thunderbolt0 device, further testing has been hindered. I'm unsure if this is a bug, or if it could be resolved via configuration. If more information is needed, I am more than willing to assist further with tests. Thank you. Warm regards, Yachen Liu
Powered by blists - more mailing lists