> > The rte_ipv4_fragment_packet API expects that the link/interface MTU value > > passed in be divisible by 8 bytes. Given the name of the parameter is > > "mtu" rather than "frag_size" it is not necessarily the case that it will > > be divisible by 8. An MTU of 1500 happens to produce a max fragment size > > of 1480 (1500 - sizeof(ipv4_hdr)) which is divisible by 8 but other MTU > > values such as 1600 or 9000 do not produce values that are divisible by 8. > > > > Unfortunately, the API checks that the frag_size value produced is > > divisible by 8 with a call to RTE_ASSERT which is only enabled when the > > RTE_LOG_LEVEL >= RTE_LOG_DEBUG. In cases where the log level is set > > normally the code silently continues and produces IP fragments that have > > invalid fragment offset values. > > > > An application may not have control over what MTU a user selects and rather > > than have each application adjust the MTU to pass a suitable value to the > > fragmentation API this change modifies the fragmentation API to handle > > cases where the "mtu" argument is not divisible by 8 and automatically > > adjust the internal "frag_size". > > > > Signed-off-by: Allain Legacy <allain.leg...@windriver.com> > > Acked-by: Konstantin Ananyev <konstantin.anan...@intel.com>
Applied, thanks