NAT encapsulated packets originate from `::`
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 52/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- rust
- Área
- networking
Línea de trabajo
Comienza con las líneas 507-530 de dpd/p4/sidecar.p4 y sigue cómo los paquetes encapsulados por NAT obtienen sus direcciones IPv6 de origen y destino externas. Revisa las pruebas de generación de ICMP de OPTE mencionadas en el issue para establecer el comportamiento de hairpin esperado. Se considera terminado cuando la encapsulación generada tiene una dirección de origen útil y los casos relevantes están cubiertos por pruebas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I ran into this while writing up tests for ICMP generation in OPTE and double-checking what fields to expect in various cases -- the case in question being generating ICMP hairpins for traffic from the external network.
The lack of a useful source address makes it challenging/fiddly to ensure that inner ICMP packet-too-big traffic goes back via the switch the original packet came from. The switch will only decapsulate packets which have one of its switch addresses as the outer IPv6 destination, so mirroring the source/destination addresses on the encap will lead to unroutable packets. As a result we have to perform a V2B lookup on the inner destination to fill this field, which may return the address of the other switch.
A minor point is that the inner source mac could also be set to something like oxide_vpc::engine::overlay::TUNNEL_ENDPOINT_MAC (A8:40:25:77:77:77), for symmetry with how OPTE sends packets to boundary services.
- Lenguaje dominante
- Rust
- Estrellas
- 21
- Forks
- 3
- Merge medio
- 8 h 29 min
- PR fusionados (30 d)
- 2
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de oxidecomputer/dendrite
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
oxidecomputer/dendrite#380 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
oxidecomputer/dendrite#375 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
oxidecomputer/dendrite#369 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
oxidecomputer/dendrite#368 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
oxidecomputer/dendrite#359 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de oxidecomputer/dendrite
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
-
area: cli bug priority: P2 ready-for-agent
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día