Supported on Linux kernel 4.15 and later versions

May 25, 2018 13:57 GMT  ·  By

GNOME developer Christian Kellner reports that he and Thomas Haller managed to implement Thunderbolt networking support in the GNOME desktop environment through NetworkManager.

Implemented by Intel developer Mika Westerberg last year during the development of the Linux 4.15 kernel series, Thunderbolt networking arrived for Linux-based operating systems to enable peer-to-peer (P2P) network connections where you connect two computers directly via a certified Thunderbolt cable to transfer files.

But while the implementation was there in the Linux kernel, the userspace bits were missing to make Thunderbolt networking work on a standard installation of a GNU/Linux distribution. By adding a new udev rule in the NetworkManager the two developers managed to load the thunderbolt-net kernel module.

"So now if you connect your GNU/Linux box to another machine, NetworkManager will configure the connection to be a Link-Local one," said Christian Kellner in a recent blog post. "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."

You can view and manage Thunderbolt connections from GNOME Settings

And they didn't stop there, as NetworkManager, which is the most used network connection manager tool amongst GNU/Linux distributions, can now use the Link-Local configuration through another new udev rule that sets the NM_AUTO_DEFAULT_LINK_LOCAL_ONLY udev property to all network device using the thunderbolt-net driver.

Thanks to this, all new Thunderbolt connections will now appear as a "thunderbolt0 " network device, which can be viewed and managed from a terminal emulator, the NetworkManager Applet, or through the Network panel in GNOME Settings. If you want to try Thunderbolt networking right now, you'll have to install the NetworkManager 1.11.3 snapshot and run Linux kernel 4.15 or above.

GNOME 3.28 is the latest version of the widely-used desktop environment designed for Linux-based operating systems, and it's also the first to bring support for Thunderbolt 3 devices. Of course, Thunderbolt networking isn't only limited to the GNOME desktop environment, as NetworkManager supports any Linux distro out there.

GNOME Settings' Network Panel showing Thunderbolt networking connections
GNOME Settings' Network Panel showing Thunderbolt networking connections
Copying an ISO file from Linux to Windows
Copying an ISO file from Linux to Windows

Thunderbolt networking in Linux (3 Images)

nmcli showing the Thunderbolt networking device
GNOME Settings' Network Panel showing Thunderbolt networking connectionsCopying an ISO file from Linux to Windows
Open gallery