qdisc: expose traffic shaping info via netcfg and LinkDevice trait

LinkDevice gains qdisc_info() → String defaulting to 'none'.
EthernetLink reports current qdisc configuration:
  none  /  token_bucket rate=N burst=N tokens=N  /  priority_queue len=N max=N

TokenBucket and PriorityQueue gain public accessor methods:
  rate(), burst(), tokens() / max_len()

netcfg exposes at /scheme/netcfg/ifaces/eth0/qdisc:
  cat /scheme/netcfg/ifaces/eth0/qdisc  →  'none' (default)

Enables monitoring tools to discover current traffic shaping.
Future: wo node for configuring qdisc type + parameters.
This commit is contained in:
Red Bear OS
2026-07-08 17:50:31 +03:00
parent 7abd45bf2e
commit c1cfee3bea
4 changed files with 30 additions and 12 deletions
+8
View File
@@ -458,6 +458,14 @@ fn mk_root_node(
None => "Device not found\n".into(),
}
}
},
"qdisc" => {
ro [devices] || {
match devices.borrow().get("eth0") {
Some(dev) => dev.qdisc_info(),
None => "Device not found\n".into(),
}
}
}
},
"lo" => {