Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Review mailbox of GGU #707

Open
AltraMayor opened this issue Sep 17, 2024 · 0 comments
Open

Review mailbox of GGU #707

AltraMayor opened this issue Sep 17, 2024 · 0 comments
Milestone

Comments

@AltraMayor
Copy link
Owner

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.

@AltraMayor AltraMayor added this to the Version 1.3 milestone Sep 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant