ci: run NIC offload hardware qualification in CI
I maintainer di solito rispondono entro 1 giorno
@daniel-noland ci sta già lavorando.
Dal 2/11/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
[!NOTE]
🤖 AI-drafted (Claude) on behalf of @mvachhar, reviewed by him before posting.
Target: 26.06 (to be set on the Hedgehog Eng project)
Problem
The NIC offload stack (#2030 → #2033) tests its rule compiler in CI against a software model of the NIC (dpdk::flow::model). Only the hardware qualification runners in nic-offload/src/qualify.rs check that model against a real NIC: qualify, qualify_transitions, reconcile_scenarios, install_probe, integrity_truth_table, integrity_rule_set and integrity_protocols.
- They are
#[ignore]d. - They need two cabled ports and are run by hand (
NIC_OFFLOAD_QUALIFY=<port under test>,<sending port>). - Results aren't tied to a commit, firmware or DPDK version.
A DPDK bump, a NIC firmware update or a new NIC model can make the model wrong while CI stays green. The offload is on by default and drops traffic before software sees it, so that's the failure mode to guard against.
Proposal
- A lab runner with a cabled BlueField-3 port pair (and later each NIC model we ship) that runs the qualification suite.
- Nightly.
- On changes to
nic-offload/,dpdk/src/flow/, the DPDK pin, or NIC firmware.
- Record each run (commit, NIC, firmware and DPDK version, results) as a CI artifact.
- Check hardware observations in as fixtures, so ordinary CI holds the model to them without hardware.
integrity_model_matches_hardwarealready does this for integrity verdicts; extend it toqualify's per-NIC parsing observations (fragments, IPv6 extension headers, VLAN tags). - Turn offload on by default only for NIC types that have been qualified.
Until the runner exists: changes to the paths above should come with a recorded manual qualification run.
- Lingua principale
- Rust
- Stelle
- 21
- Fork
- 9
- Merge medio
- 2g 8h
- PR unite (30g)
- 99
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di githedgehog/dataplane
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 69/100
githedgehog/dataplane#2052 ·
I maintainer di solito rispondono entro 1 giorno
-
DPDK workers hold VPC counters until their next packetForse già presa @Fredi-raspall l’ha presa 2 giorni fa. Apertaarea/dpdk bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 56/100
githedgehog/dataplane#2047 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
githedgehog/dataplane#2023 ·
I maintainer di solito rispondono entro 1 giorno
-
Support SYN cookiesForse già presa @qmonnet l’ha presa 14 giorni fa. Aperta
githedgehog/dataplane#1981 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
dataplane v0.30.0: gateway does not recover after a dataplane pod restart, the control-plane taps lose their IPv4 addressesForse già presa @daniel-noland l’ha presa 14 giorni fa. Apertabug
githedgehog/dataplane#1977 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di githedgehog/dataplane
Issue simili
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
bug order-flow studies ui
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
userFRM/egui-charts#2417 ·
I maintainer di solito rispondono entro 1 giorno
-
In a plain-text message, Font, Font Size, Font Color and Text Highlight Color stay liveForse già presa @ragelfundionctrumnar l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
UCS-Care-Group/mailcraft#862 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
smoltcp-rs/smoltcp#1243 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 4 giorni