Originally l3fwd used 16-bit value to store dest_port value. To accommodate 24-bit nexthop dest_port was increased to 32-bit, though some further packet processing code remained unchanged and still expects dest_port to be 16-bit. That is not correct and can cause l3fwd invalid behaviour or even process crash/hang on some input packet patterns. For the fix, I choose the simplest approach and restored dest_port as 16-bit value, plus necessary conversions from 32 to 16 bit values after lpm_lookupx4. Fixes: dc81ebbacaeb ("lpm: extend IPv4 next hop field") Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
DPDK is a set of libraries and drivers for fast packet processing. It supports many processor architectures and both FreeBSD and Linux. The DPDK uses the Open Source BSD license for the core libraries and drivers. The kernel components are GPLv2 licensed. Please check the doc directory for release notes, API documentation, and sample application information. For questions and usage discussions, subscribe to: users@dpdk.org Report bugs and issues to the development mailing list: dev@dpdk.org
Description
Languages
C
99.1%
Meson
0.5%
Python
0.2%
Shell
0.1%