STRUCT TB_PATH(9)
struct tb_path(9) π¦
Okay so this is the Kernel API Manual page for struct tb_path(9) β welcome to the group chat, bestie π
π NAME π
struct tb_path β a unidirectional path between two ports. That's the whole vibe: one-way path, two ports, iconic.
β¨ SYNOPSIS β¨
struct tb_path {
struct tb *tb;
const char *name;
enum tb_path_port ingress_shared_buffer;
enum tb_path_port egress_shared_buffer;
enum tb_path_port ingress_fc_enable;
enum tb_path_port egress_fc_enable;
unsigned int priority:3;
int weight:4;
bool drop_packages;
bool activated;
bool clear_fc;
int path_length;
bool alloc_hopid;
struct tb_path_hop hops[];
};
π«Ά Members π«Ά
Meet the fields, bestie β every single one is here, no skipping:
tbβ pointer to the domain structure π«Άnameβ name of the path, used for debugging πingress_shared_bufferβ shared buffering used for ingress ports on the path β¨egress_shared_bufferβ shared buffering used for egress ports on the path β¨ingress_fc_enableβ flow control for ingress ports on the path π«egress_fc_enableβ flow control for egress ports on the path π«priorityβ priority group if the path β the page saysif, and we're keeping it, periodt πweightβ weight of the path inside the priority group β very main character energy πdrop_packagesβ drop packages from queue tail or head β yes,packagesis the word on the page, no cap π€activatedβ is the path active? a yes/no vibe πclear_fcβ clear all flow control from the path config space entries when deactivating this path π§path_lengthβ how many hops the path uses πalloc_hopidβ does this path consume port HopID? π¦hopsβ path hops πΈ
πΈ Description πΈ
A path consists of a number of hops (see struct tb_path_hop), bestie. To establish a PCIe tunnel, two paths have to be created between the two PCIe ports β that's the rule, periodt π₯
π₯ SEE ALSO π₯
Go read these, iykyk β starting with the kernel file:
- Kernel file
./drivers/thunderbolt/tb.h struct tb_nvm(9)enum tb_switch_tmu_mode(9)struct tb_switch_tmu(9)struct tb_switch(9)struct tb_bandwidth_group(9)struct tb_port(9)struct usb4_port(9)struct tb_retimer(9)struct tb_path_hop(9)enum tb_path_port(9)struct tb_cm_ops(9)tb_upstream_port(9)tb_is_upstream_port(9)tb_port_has_remote(9)tb_domain_event(9)tb_switch_for_each_port(9)tb_switch_downstream_port(9)tb_switch_depth(9)tb_switch_is_icm(9)tb_switch_tmu_is_configured(9)tb_switch_tmu_is_enabled(9)tb_switch_clx_is_enabled(9)tb_port_path_direction_downstream(9)tb_for_each_port_on_path(9)tb_for_each_upstream_port_on_path(9)tb_path_for_each_hop(9)tb_downstream_route(9)tb_xdomain_downstream_port(9)usb4_switch_version(9)tb_switch_is_usb4(9)enum usb4_sb_target(9)enum usb4_margin_sw_error_counter(9)struct usb4_port_margining_params(9)
Sign-off bestie: source/version ./drivers/thunderbolt, date October 2026, title struct tb_path(9) β mwah! πβ¨
π¦ 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