AltraMayor / AltraMayor/gatekeeper

Review mailbox of GGU

Offen
#707 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
C
Sterne
1.6k
Forks
252
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.