1What: /sys/kernel/config/thunderbolt/stream/<xdomain>.<service> 2Date: Sep 2026 3KernelVersion: v7.2 4Contact: Mika Westerberg <mika.westerberg@linux.intel.com> 5Description: 6 Configuration group for a stream Thunderbolt/USB4 7 service. It is possible to create groups even if there 8 is no connection yet to the other host. Once a 9 connection established and there is stream service on 10 the remote side that matches, this configuration is 11 applied to it. 12 13 To find the service name you can run tblist from tbtools [1]: 14 15 # tblist -A 16 ... 17 Domain 0 Route 3 Index 0: stream 18 19 [1] https://github.com/intel/tbtools 20 21What: /sys/kernel/config/thunderbolt/stream/<xdomain>.<service>/$name 22Date: Sep 2026 23KernelVersion: v7.2 24Contact: Mika Westerberg <mika.westerberg@linux.intel.com> 25Description: 26 Creates new stream with $name and fills it with the 27 default values. If there is an advertised remote stream 28 with the same name, uses its values as the default. 29 30What: /sys/kernel/config/thunderbolt/stream/<xdomain>.<service>/$name/index 31Date: Sep 2026 32KernelVersion: v7.2 33Contact: Mika Westerberg <mika.westerberg@linux.intel.com> 34Description: 35 This matches the X in /dev/tbstreamX and allows userspace 36 to map the configfs directory to the corresponding character 37 device. 38 39What: /sys/kernel/config/thunderbolt/stream/<xdomain>.<service>/$name/in_hopid 40Date: Sep 2026 41KernelVersion: v7.2 42Contact: Mika Westerberg <mika.westerberg@linux.intel.com> 43Description: 44 In HopID used with the read path of the tunnel. Available HopIDs 45 for tunneling start from 8. You can pass also -1 for automatic 46 allocation. The allocated value can be read here. Writing 0 will 47 de-allocate if the stream is not in use. 48 49 To figure out the maximum HopID you can run tbget from 50 tbtools for the lane adapter. For example below we check 51 for lane adapter number 1 (first USB4 port): 52 53 # tbget -r 0 -a 1 -D ADP_CS_5.Max\ Input\ HopID 54 19 55 56 This allows to use anything between 8 and 19 inclusive. 57 58What: /sys/kernel/config/thunderbolt/stream/<xdomain>.<service>/$name/out_hopid 59Date: Sep 2026 60KernelVersion: v7.2 61Contact: Mika Westerberg <mika.westerberg@linux.intel.com> 62Description: 63 Out HopID used with the write path of the tunnel. Available HopIDs 64 for tunneling start from 8. You can pass also -1 for automatic 65 allocation. The allocated value can be read here. Writing 0 will 66 de-allocate if the stream is not in use. See @in_hopid 67 for how to figure out the maximum HopID. 68 69What: /sys/kernel/config/thunderbolt/stream/<xdomain>.<service>/$name/ring_size 70Date: Sep 2026 71KernelVersion: v7.2 72Contact: Mika Westerberg <mika.westerberg@linux.intel.com> 73Description: 74 Size of the TX/RX rings. Can be adjusted between 32 and 75 4096. The default is 256. 76 77What: /sys/kernel/config/thunderbolt/stream/<xdomain>.<service>/$name/throttling 78Date: Sep 2026 79KernelVersion: v7.2 80Contact: Mika Westerberg <mika.westerberg@linux.intel.com> 81Description: 82 Interrupt throttling rate in ns. Lower values can give 83 better latency. The default is 8192 ns. 84