The patch proposed and accepted here is a partial fix for this bug.
https://marc.info/?l=linux-netdev&m=163579523718765

It adds an option for the wifi supplicant to choose not to clear the ARP
cache when roaming.

https://github.com/torvalds/linux/commit/fcdb44d08a95003c3d040aecdee286156ec6f34e
https://github.com/torvalds/linux/commit/18ac597af25e9760b76471524096f5b29eb820e6
https://github.com/torvalds/linux/commit/f86ca07eb5310a1bdc7032458c7f76862f5a1552

The iwd supplicant adds a patch here to use this which is the other half
of the fix:

commit 873924a027ad2166436b8117a6bb84ce980ad7f3
Author: James Prestwood <prest...@gmail.com>
Date:   Wed Nov 3 15:15:01 2021 -0700

    station: set evict_nocarrier sysfs option during roaming
    
    If the kernel supports evict_nocarrier set this during the roam
    to prevent packet delays post roam.

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux-signed-hwe-5.11 in Ubuntu.
https://bugs.launchpad.net/bugs/1944426

Title:
  Delay sending data after wireless roaming between APs

Status in linux-signed-hwe-5.11 package in Ubuntu:
  New

Bug description:
  ## Summary
  Any time I roam from one access point to another (same SSID) I start 
receiving packets instantly after the roam is successful but experience a delay 
of roughly 1 second before I can send packets out. I have seen this with  
  multiple configurations listed below. I started seeing this delay after 
upgrading from Ubuntu 16.04 to 18.04 and using the debians from 
https://kernel.ubuntu.com/~kernel-ppa/mainline/ I can see the bug was 
introduced between v4.19 and v4.20-rc1. 

  ## Configurations
  I have tested multiple laptops and machines with different software to narrow 
down where the bug might be. All of these configurations showed the bug.
  - Distro(kernel) version - 20.04 (5.4, 5.8, 5.11, 5.14-rc7), Kali 2021.2 
(5.10)  
  - Hardware(driver): intel (iwlwifi), qualcomm (ath10k), realtek.  
  - Supplicant: iwd and wpa_supplicant  
  - Manager: iwd, systemd-networkd, NetworkManager  
  - Data: ping, iperf3 (tcp and udp), custom python udp script  
  - APs:  Meraki MR46, tp-link decos  
   
  ## Reproduction
  The bug is relatively easy to reproduce if you have multiple APs on the same 
SSID available. The simplest way is to start up a `ping -i 0.2 <any ip>` and 
then walk between the APs until it roams. It is also possible to use `wpa_cli 
roam <BSSID>`. For more accurate testing I was using a simple python script 
that spams udp packets and then using `tcpdump` to record the packets for 
viewing in wireshark.
   
  ## Example output
  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](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 (why is the ARP cache cleared?)  
  - 31.367930 - ARP response - packets start being sent again

  ProblemType: Bug
  DistroRelease: Ubuntu 20.04
  Package: linux-image-5.11.0-34-generic 5.11.0-34.36~20.04.1
  ProcVersionSignature: Ubuntu 5.11.0-34.36~20.04.1-generic 5.11.22
  Uname: Linux 5.11.0-34-generic x86_64
  NonfreeKernelModules: nvidia_modeset nvidia
  ApportVersion: 2.20.11-0ubuntu27.20
  Architecture: amd64
  CasperMD5CheckResult: skip
  CurrentDesktop: ubuntu:GNOME
  Date: Tue Sep 21 10:12:40 2021
  InstallationDate: Installed on 2019-08-09 (773 days ago)
  InstallationMedia: Ubuntu 18.04.2 LTS "Bionic Beaver" - Release amd64 
(20190210)
  SourcePackage: linux-signed-hwe-5.11
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-signed-hwe-5.11/+bug/1944426/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to