AltraMayor / AltraMayor/gatekeeper

Review mailbox of GGU

Abierto
#707 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
C
Estrellas
1.6k
Forks
252
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Some deployments require increasing the parameter `lua/ggu.lua:mailbox_max_entries_exp` to handle attacks with a very large number of flows. However, the packets sitting on GGU's mailbox are not accounted for in `net_conf->back.total_pkt_burst` at `ggu/main.c:run_ggu()`, and this might limit the number of preallocated packets available to the back interface at GK instances.

For `net_conf->back.total_pkt_burst` to account for the packets sitting on GGU's mailbox, a new GGU parameter is needed because only accounting for the maximum number of entries in GGU's mailbox ignores that each entry can hold multiple packets. A solution is to add the parameter `mailbox_pkts_per_entry` to `struct ggu_config` with the default value `max_pkt_burst / 2` set in `lua/ggu.lua`. This parameter can even be set to zero to save memory when the back interface can implement the filters that the GGU needs in hardware.

Finally, `ggu/main.c:process_single_packet()` should not release the packets, but its callers should release those packets in bulk (see `rte_pktmbuf_free_bulk()`) to reduce the cost of releasing packets. An option is to add `process_packets()` to encapsulate this pattern.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.