> > > On Fri, Oct 29, 2021 at 09:48:30AM -0400, Ben Magistro wrote: > > > > With the transition to meson, what is the best way to provide custom > > > > values > > > > to parameters in rte_config.h? When using makefiles, (from memory, I > > > > think) we used common_base as a template that was copied in as a > > > > replacement for defconfig_x86.... Our current thinking is to apply a > > > > locally maintained patch so that we can track custom values easier to > > > > the > > > > rte_config.h file unless there is another way to pass in an overridden > > > > value. As an example, one of the values we are customizing is > > > > IP_FRAG_MAX_FRAG. > > > > > > > > Cheers, > > > > > > > There is no one defined way for overriding values in rte_config with the > > > meson build system, as values there are ones that should rarely need to be > > > overridden. If it's the case that one does need tuning, we generally want > > > to look to either change the default so it works for everyone, or > > > alternatively look to replace it with a runtime option. > > > > > > In the absense of that, a locally maintained patch may be reasonable. To > > > what value do you want to change MAX_FRAG? Would it be worth considering > > > as > > > a newer default value in DPDK itself, since the current default is fairly > > > low? > > > > That might be an option, with IP_FRAG_MAX_FRAG==8 it should be able > > to cover common jumbo frame size (9K) pretty easily. > > As a drawback default reassembly table size will double. > > Maybe not. I'm not an expert in the library, but it seems the basic struct > used for tracking the packets and fragments is "struct ip_frag_pkt". Due to > the other data in the struct and the linked-list overheads, the actual size > increase when doubling MAX_FRAG from 4 to 8 is only 25%. According to gdb > on my debug build it goes from 192B to 256B.
Ah yes, you right, struct ip_frag should fit into 16B, key seems the biggest one. > > > Even better would be to go a step further and rework lib/ip_frag > > to make it configurable runtime parameter. > > > Agree. However, that's not as quick a fix as just increasing the default > max segs value which could be done immediately if there is consensus on it. You mean for 21.11? I don't mind in principle, but would like to know other people thoughts here. Another thing - we didn't announce it in advance, and it is definitely an ABI change.