On 8/27/21 3:23 AM, Michael Johnson wrote:
Hi all, I'm having an odd issue with wireless roaming whereby any time I roam from one access point to another I start receiving packets almost instantly but experience a delay of roughly 1 second before I can send packets out. I think I've narrowed it down to somewhere kernel related but I'm struggling to know where to look next. Firstly, I started seeing this delay after upgrading from Ubuntu 16.04 (so 4.15 kernel) to 20.04 (tested with 5.4, 5.8 and 5.11) but I also tested this on Kali 2021.2 (5.10). I see the delay with intel (iwlwifi), qualcomm (ath10k), and realtek cards. I've also used both iwd and wpa_supplicant, with and without systemd-networkd and NetworkManager. I've been using ICMP for testing but I've also tried a python script for sending udp packets with the same result. Here is the output of the simplest test that still shows the issue (ping + tcpdump + iwd + 5.11.0-27-generic): https://pastebin.com/92TKKktb My naive tl;dr of that data is: 30.322638 - we start to roam which falls between icmp_seq=121 and icmp_seq=122. 30.415411 - roam is complete 30.424277 - iwd is sending and receiving neighbor reports over the link 31.358491 - an ARP request is sent out (should the ARP cache be cleared on a roam?) 31.367930 - ARP response 31.368009 - packets start being sent again as soon as we get the ARP response Can anyone help me understand what might be happening between the interface going "up" at 30.415411 and the ARP request at 31.358491 please? Also, does anyone else see something in their environment?
I think ARP cache should be cleared on roam...I'm not sure how best to do that though. wid/supplicant could make the call to clear as soon as roam happens? Thanks, Ben -- Ben Greear <greearb@xxxxxxxxxxxxxxx> Candela Technologies Inc http://www.candelatech.com