Host throughput and disk

GET /api/bng/dataplane-stats                           read_only

Reports per-interface throughput on the kernel-side veth peers of the BNG data
path, plus root filesystem occupancy. Only interfaces matching the BNG naming
convention are included; management traffic is deliberately excluded.

{
  "ok": true,
  "interfaces": [
    { "name": "bng-sub-host", "rx_bps": 118203441.2, "tx_bps": 9922011.7,
      "rx_bytes_total": 44012993881, "tx_bytes_total": 3910228841,
      "link_speed_gbps": 10.0 }
  ],
  "rx_bps": 118203441.2,
  "tx_bps": 9922011.7,
  "link_speed_gbps": 10.0,
  "disk_total_gb": 456.7,
  "disk_used_gb": 123.4,
  "disk_pct": 27.0
}

Two units notes. Despite their names, rx_bps and tx_bps are bytes per
second
, not bits — they derive directly from the kernel byte columns. Multiply
by eight for a bit rate. And link_speed_gbps defaults to 10.0 when the
kernel reports no negotiated speed, which is always the case for a veth; it is a
denominator for a utilisation gauge, not a measured property.

rx_bytes_total and tx_bytes_total are monotonic kernel-lifetime counters and
are the values to prefer if you are computing rates yourself. Deltas are floored
at zero, so a counter reset reads as zero rather than as a negative rate.

Recall the statefulness warning in Access Model: the _bps fields are computed
against this endpoint's own previous invocation, and concurrent clients
interfere. Use rx_bytes_total/tx_bytes_total with your own two-sample
arithmetic if more than one consumer needs this data.