Thunderbolt allows for peer-to-peer network connections by connecting two computers directly via a thunderbolt cable. Mika from Intel added support for this to the 4.15 kernel. Recently, Thomas Haller from NetworkManager and I worked together to figure out what needs to be done in userspace to make it work. As it turns out, it was not that hard and the pull-request was merged swiftly.
So now if you connect your GNU/Linux box to another machine, NetworkManager will configure the connection to be a Link-Local one.
I have successfully tested Fedora to Fedora, Fedora to macOS and Fedora to Windows 10. The other operating systems also use a Link-Local address by default.
The technical details
When another host is connected via thunderbolt, we get a new device in sysfs that resembles a normal thunderbolt device but is of DEVTYPE
thunderbolt_xdomain
. Like a normal thunderbolt device, it has a unique_id
and a device_name
, but is missing the authorized
and key
attributes. A new udev rule in NetworkManager was added to load the thunderbolt-net
kernel module. As a result, we get a new network device (thunderbolt0
).
Another udev rule will set a new udev property (NM_AUTO_DEFAULT_LINK_LOCAL_ONLY
) to all network devices where the driver is thunderbolt-net
to instruct NetworkManager to use the Link-Local configuration on these interfaces.
The dev snapshot release 1.11.3-dev has the thunderbolt networking support. Grab it, build it, and start playing around with it! Feel free to post your record transfer speeds in the comments ⚡ 🏆.
Pingback: Links 24/5/2018: RIP Robin “Roblimo” Miller, Qt 5.11 Released | Techrights
Do you have any thoughts on why it is transferring at 26MBps?
Yes I would like to know what's up also. Before I go invest in a thunderbolt PCIe card for my nas. Is his system just slow or is something wrong with the software that limits the speed?
This is very nice, can other connectors that provide networking be setup to work as simply?
IP over USB or HDMI spring to mind.
+1
I belive you can do ip over display port iirc
Pingback: Thunderbolt Networking Now Supported in Linux's NetworkManager Software - Server Install
Pingback: Episode 29 | This Week in Linux – TuxDigital
Pingback: LWDW 120: ARM’d And Systemd-angerous – LinuxGameCast
I was wondering whether the thunderbolt IP module allowed you to daisy chain more than 2 hosts together? eg. If you have 3 hosts and at least one of those hosts has 2 x thunderbolt ports, can all hosts communicate with one another? This would be fantastic for home labs using Intel Hades Canyon NUCs.
Not directly. However you could bridge the two networks in software then they all could connect.
Hello, I am using supermicro 7048GR-TR. they said their thunderbolt 2 card is not supported in Linux.
Reading your post, I wonder if it is Bios issue or /dev/ issue.
Hello,
I am using Supermicro thunderbolt 2 add-on card, which they said only support Windows 7. Not Linux.
I wonder if it is their Bios issue (can't recognise in linux). Or just ignore and go ahead with your approach.
thanks