Sample Header Ad - 728x90

Packet delay after route is added over new WiFi connection

0 votes
0 answers
112 views
## Network Setup ## - STA is Ubuntu 18.04 (4.15.0-147-generic) - 2x Intel 7620 - Each interface is connected to a different AP in the same subnet - STA is streaming 1080p video over UDP (~15Mbits/s) using gstreamer - Video is streamed exclusively over the WiFi one interface st a time, all other traffic uses a wired connection ## Problem ## I control which WiFi interface streams the video using a static route to the receive pipeline for each interface
Kernel IP routing table
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    _gateway        255.255.255.255 UGH   99     0        0 wlp1s0
    _gateway        255.255.255.255 UGH   100    0        0 wlp2s0
In the above scenario, traffic is routed over wlp1s0. When I remove the route for wlp1s0, I see in iftop that traffic is then sent over wlp2s0. I notice that there is a problem that manifests as one or two lost / delayed frames on the video receive pipeline if I reroute the video traffic over a connection that has not been used yet. Using the above scenario as an example, I start off with both interfaces authenticated, associated, and 4-way handshake complete, but the route for wlp1s0 has a lower metric than wlp2s0, so no packets have been sent over wlp2s0 yet. When I remove the route for wlp1s0, there is a very short blip in the video, then everything goes back to normal. The strange thing is, after I experience this blip in the video and stay connected to the same APs, I can add and remove the route for wlp1s0 repeatedly with absolutely no noticeable effect on the video. I've verified using iftop that I can flip flop which interface is active, and there isn't any effect on the video quality. ## Things I've looked at ## I've run wpa_supplicant manually at the highest verbosity, and there are no relevant errors / warnings. I've also taken a look at the AP controller log, and there are no errors / warnings reported there. Using sudo tcpdump -c 10000 -n -B 10240 -i wlp1s0 while I induced the blip in the video also didn't report any problems. What else can I look at to diagnose and fix this issue? ## Update ## I created a cgroup with a new routing table and a static route on wlp1s0 to the video pipeline destination. I observed that if I push traffic over wlp1s0 using
cgexec -g net_cls:cg1 iperf3 -c  -p 1234 -u -b 10M
right before I add the route for wlp1s0 to the default table, there is no blip in the video. I guess what that means is that blips in the video is from a stale arp cache?
Asked by Jeff Isaacs (469 rep)
Aug 10, 2021, 04:41 PM
Last activity: Aug 11, 2021, 05:28 PM