Search Linux Wireless

Delay sending packets after a wireless roam

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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?

Kind Regards,
Michael



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux