My wife and I own each a laptop, both running Linux and normally connected via WiFi.
Today I wanted to copy some large directories via rsync to the other laptop, and of course this would take ages with the typical WiFi speeds around 5 MBps - so I connected those additionally via a 1GBps patch cable - that seemed to work as both sides reported “connected” in the GUI:
Thanky ou for the hint, before I was using the machine name from the router ‘hostname.local’, using the IP of the LAN NIC did the trick
slicer@ideapad ~> rsync -auvh --progress ./Music/ 169.254.253.203:/home/slicer/
sending incremental file list
sent 1.40G bytes received 4.12K bytes 84.85M bytes/sec
total size is 1.40G speedup is 1.00
Nevertheless, it would be nice if somehow the network manager could recognise like “ahh, there is a faster connection to the same target, let’s use it instead”, this is how it works on Windows with their auto discovery.
But well, this workaround is sufficient for my needs.
When multiple connections are active, mDNS resolver returns all reachable IPs for each connection including private and link-local addresses, and then the system selects a random one.
A wired connection is generally preferred over a wireless connection using metric.
However, metric is useless when the destination is locally reachable on different subnets.
So, it’s problematic to automatically detect a faster connection before actually transferring data.