delonix net flow
Tráfego por-container ao vivo — datapath eBPF (degrada para contadores veth).
Live per-container traffic — eBPF datapath (degrades to veth counters).
Telemetria de rede por container. Quando corre com privilégio (CAP_BPF/root), attacha
dois classificadores tc/clsact em eBPF às veths da SDN, que contam bytes/pacotes por IP num BPF map
partilhado — sem nunca fazer drop (o nft continua o único enforcer). Sem privilégio
(o caso rootless comum) diz-o e cai nos contadores veth, que sempre funcionam. --watch
redesenha a cada 2s.
Per-container network telemetry. When run with privilege (CAP_BPF/root), it
attaches two eBPF tc/clsact classifiers to the SDN veths, which count bytes/packets per IP in a
shared BPF map — never dropping anything (nft remains the only enforcer). Without
privilege (the common rootless case) it says so and falls back to veth counters, which always
work. --watch redraws every 2s.
📄 Implementação real em Rust: cmd/flow.rs
Usage: dlx net flow [OPTIONS]
Options:
--iface <IFACE> Watch only this interface (default: auto — every SDN veth)
--l18n <en|pt> Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
-w, --watch Refresh continuously (every 2s) instead of printing once
-h, --help Print helpExemplos
sudo delonix net flowsudo delonix net flow --watchLaboratórioLab
Observa tráfego por-container ao vivo enquanto geras carga noutro terminal.
# num terminal
delonix net flow --watch
# noutro terminal
while true; do curl -s localhost:8080 >/dev/null; doneWatch live per-container traffic while generating load in another terminal.
# in one terminal
delonix net flow --watch
# in another terminal
while true; do curl -s localhost:8080 >/dev/null; doneDesafioChallenge
Corre flow sem privilégio e depois com
CAP_BPF/root, e compara: sem privilégio cai nos contadores veth (sempre funciona); com privilégio
usa os classificadores eBPF tc/clsact — nos dois casos o nft continua o único a fazer drop.
Run flow without privilege and then with CAP_BPF/root, and
compare: without privilege it falls back to veth counters (always works); with privilege it uses
the eBPF tc/clsact classifiers — in both cases nft remains the only thing that drops packets.