Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

dpdk flow API: fix deferred issues from #1880 before the first consumer

Abierto
#1,935 0 comentarios 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 2 días

@daniel-noland ya está trabajando en esto.

Desde el 18/10/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

area/dpdk

The typed flow-rule API added in #1880 (dpdk/src/flow/) has three known problems, listed as deferred in that PR's description. Nothing outside the dpdk crate uses the API yet, so none of them affect the dataplane today, but they should be fixed before the first consumer lands.

  1. VLAN push / VID / PCP ordering. mlx5 requires the PCP (and VID) setters to come after OF_PUSH_VLAN in the same action list, but the builder's action rank sort reverses them, so a rule that pushes a VLAN and sets its PCP is rejected. Expose a combined push operation and keep its generated actions together.
  2. Match vs. action typestate. The builder can't distinguish the original matching pattern from the packet shape after mutations, and can't continue into inner VXLAN headers. BlueField-3 tests (DPDK 26.07, dv_flow_en=1, firmware 32.50.1002) show inner matching works before decap, direct inner IPv4 rewriting is rejected, and decap followed by rewriting changes the exposed inner address. The API design for this is still open.
  3. Fallible destruction. A failed explicit FlowRule::destroy loses the handle, and Drop only logs the failure. Decide who keeps failed rules and what the teardown policy is; a local rte_flow_flush would invalidate other live handles on the same port.
Lenguaje dominante
Rust
Estrellas
21
Forks
9
Merge medio
3 d 21 h
PR fusionados (30 d)
87

Preparar el entorno

  • Incluye un Dockerfile o un archivo de Docker Compose
  • Sin plantilla de pull request
  • Sin guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de githedgehog/dataplane

Todos los issues de githedgehog/dataplane

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.