Expired
Milestone
Mar 30, 2025–Apr 30, 2025
TODO
Extract all bpf max size variables to a config file- re-implement the functions: modifyBpfSession, createBpfSession to manage rules separately: create/update/delete(far), create/update/delete(pdr), create/update/delete(qer)
- check for uplink direction if needed to add treatment for downlink (in case of re-impleting fucntions in 2, im not sure that is needed)
remove unused ebpf maps as they take memory- refactore the code of the sessionManager and sessionProgramManager to create a global class as EbpfSession
- refactoring the code to avoid inclusion of headers
- improve the tree architecture of the code
- split the spgw-tiny from ebpf
- Fix the issue of bpf_tc_hook_create with bpf_tc_query(&hook, &ingress_hook)
- Fix the r2q value when creating qdiscs and classes
- Shall we add prio, burst, and cburst to the qdiscs and classes?
SDF: Shall we accept sdf like: permit out 6 from .... and permit out ip from any 80,8080-9090 to ... ({6}, {single port, port range})?-
Shall we split and distinguish the XDP uplink and Downlink to reduce the search within the maps and remove some maps on uplink such as sdf filter?Adopted solution : Split the Uplink Data-Path from downlink Data-Path to reduce the CPU footprint, and keep using global eBPF Maps to reduce the memory usage. The number of entries in most maps is not x2 since we are most of the time using the same information for uplink and downlink SEID is encoded on 64 bits, but the maps and XDP progs use u32- Fix the issue of tc egress versus tc filter
Loading
Loading
Loading
Loading