STRUCT TB_CM(9)
π¦ struct tb_cm(9) β the Kernel API Manual moment
okay bestie, this is a page out of the Kernel API Manual, and it's about struct tb_cm, which is literally the Simple Thunderbolt connection manager. Yes, "simple" is doing a lot of work in that sentence but we move π
β¨ NAME β¨
struct tb_cm β the Simple Thunderbolt connection manager. that's the whole vibe. connection manager, but make it thunderbolt β‘
πΈ SYNOPSIS πΈ
here's the shape of it, no cap, copy it exactly:
struct tb_cm {
struct list_head tunnel_list;
struct list_head dp_resources;
bool hotplug_active;
struct delayed_work remove_work;
struct tb_bandwidth_group groups[MAX_GROUPS];
};
five members, all iconic, all doing their own little job. let's meet them π«Ά
π Members π
tunnel_listβ the list of active tunnels. everyone currently tunneling? they're on this list. periodt.dp_resourcesβ list of available DP resources for DP tunneling. this is like the resource shelf for DisplayPort tunneling β what's on the shelf is what you can use πhotplug_activeβtb_handle_hotplugwill stop progressing plug events and exit if this is not set (because it needs to acquire the lock one more time, lowkey needy). it's used to drainwqaftercfghas been paused. so likeβ¦ it's the little switch that tells hotplug "we're paused babe, wrap it up" πremove_workβ the work used to remove any unplugged routers after runtime resume. cleanup crew, showing up fashionably late (after resume) to take out the routers that got unplugged πgroupsβ bandwidth groups used in this domain. it's atb_bandwidth_grouparray sizedMAX_GROUPS, and yes, the groups are grouping. bandwidth allocation but organized π
π₯ SEE ALSO π₯
the kernel file, in all its glory:
Kernel file ./drivers/thunderbolt/tb.c
and the rest of the friend group, all manual sections:
tb_consumed_usb3_pcie_bandwidth(9)tb_consumed_dp_bandwidth(9)tb_maximum_bandwidth(9)tb_available_bandwidth(9)tb_configure_asym(9)tb_configure_sym(9)
ngl bestie, if you're poking at the internals of Thunderbolt tunneling in the kernel, read the whole squad above before you touch anything. it's giving "read the docs first" energy for a reason π
and that's the page!! π§ source/version is ./drivers/thunderbolt, dated October 2026 β so go forth, manage those connections, and slay πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms