eBPF: don't create 2 BPF maps for each table - don't create separate default action table #4731
Labels
ebpf
Topics related to the eBPF back end
enhancement
This topic discusses an improvement to existing compiler code.
Currently, the eBPF compiler creates 2 BPF maps for each P4 table, where the second table is used just for the default action. This is sub-ideal when we consider the
MAX_USED_MAPS
BPF verifier constant: the current Linux kernel only allows defining at most 64 BPF maps [1] [2].Creating 2 BPF maps per P4 table halves the maximum count of P4 tables that can be defined. To demonstrate, the limit of 64 BPF maps can be reached by defining e.g. 28 tables and 8 registers in the P4 source code.
The text was updated successfully, but these errors were encountered: