Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

L3 router drops never increment relevant counters

Aperta
#404 1 commento 1 reazione 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Ambito
networking

Direzione di ricerca

Start with the Router4/Router6 drop-reason assignments in dpd/p4/sidecar.p4 around lines 1273-1283, then the ingress counter block around lines 2189-2193 that only updates drop statistics when meta.dropped is set. Compare that with how the egress path counts on meta.drop_reason != 0. Done means ingress drop counters also increment for packets that are transformed and sent to the CPU port rather than dropped.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

https://github.com/oxidecomputer/dendrite/blob/4448f2eaa804b65b6c2dfadc4f761a89bb6b2a36/dpd/p4/sidecar.p4#L1273-L1283

Router4/Router6 (and their multicast cousins) set a drop reason on lookup or TTL failure, but need to delegate packet handling to the switch zone via the CPU port. So they cannot set meta.dropped -- we need to transform the packet and keep it moving. However, all of our drop counters in the ingress pipeline only touch drop statistics if we're actually dropping the packet, rather than transforming it:

https://github.com/oxidecomputer/dendrite/blob/4448f2eaa804b65b6c2dfadc4f761a89bb6b2a36/dpd/p4/sidecar.p4#L2189-L2193

We need to perform the counter operations on meta.drop_reason != 0, as egress does. We could also possibly replace meta.dropped with direct use of ig_dprsr_md.drop_ctl if needed.

Lingua principale
Rust
Stelle
21
Fork
3
Merge medio
2g 23h
PR unite (30g)
6

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di oxidecomputer/dendrite

Tutte le issue di oxidecomputer/dendrite

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.