Thunderbolt Networking Support For Linux Still Being Worked On

Written by Michael Larabel in Linux Kernel on 2 October 2017 at 09:00 AM EDT. 19 Comments
New kernel patches have been posted for enabling Thunderbolt networking support.

Among the many features of Thunderbolt is the ability to support networking over the Thunderbolt cable. The Linux kernel, however, has yet to properly support this functionality. Mika Westerberg and others at Intel have been working to add this support.

The patch offers a new THUNDERBOLT_NET option to support creating a network between multiple computers using a Thunderbolt cable. This Linux driver supports the Apple ThunderboltIP protocol and supports any host using this protocol, including Windows and macOS.
In order to discover Thunderbolt services the other host supports, there is a software protocol running on top of the automatically configured control channel (ring 0). This protocol is called XDomain discovery protocol and it uses XDomain properties to describe the host (domain) and the services it supports.

Once both sides have agreed what services are supported they can enable high-speed DMA rings to transfer data over the cable.

This series adds support for the XDomain protocol so that we expose each remote connection as Thunderbolt XDomain device and each service as Thunderbolt service device. On top of that we create an API that allows writing drivers for these services and finally we provide an example Thunderbolt service driver that creates virtual ethernet inferface that allows tunneling networking packets over Thunderbolt cable. The API could be used for creating other future Thunderbolt services, such as tunneling SCSI over Thunderbolt, for example.

The XDomain protocol and networking support is also available in macOS and Windows so this makes it possible to connect Linux to macOS and Windows as well.
Note this does not affect the existing functionality, so security levels and NVM firmware upgrade continue to work as before (with the small exception that now sysfs also shows the XDomain connections and services in addition to normal Thunderbolt devices). It is also possible to connect up to 5 Thunderbolt devices and then another host, and the network driver works exactly the same.

More details via the v3 kernel patches that amount to about five thousand lines of new code.
Related News
About The Author
Author picture

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week