numam-dpdk/examples/l3fwd
Konstantin Ananyev 8353a36a9b examples/l3fwd: fix size of destination port ids
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: dc81ebbaca ("lpm: extend IPv4 next hop field")

Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2016-03-31 22:56:00 +02:00
..
l3fwd_em_hlm_sse.h examples/l3fwd: fix size of destination port ids 2016-03-31 22:56:00 +02:00
l3fwd_em_sse.h examples/l3fwd: fix size of destination port ids 2016-03-31 22:56:00 +02:00
l3fwd_em.c examples/l3fwd: fix using packet type blindly 2016-03-25 19:53:00 +01:00
l3fwd_em.h examples/l3fwd: fix using packet type blindly 2016-03-25 19:53:00 +01:00
l3fwd_lpm_sse.h examples/l3fwd: fix size of destination port ids 2016-03-31 22:56:00 +02:00
l3fwd_lpm.c examples/l3fwd: fix using packet type blindly 2016-03-25 19:53:00 +01:00
l3fwd_lpm.h examples/l3fwd: fix size of destination port ids 2016-03-31 22:56:00 +02:00
l3fwd_sse.h examples/l3fwd: fix size of destination port ids 2016-03-31 22:56:00 +02:00
l3fwd.h examples/l3fwd: fix using packet type blindly 2016-03-25 19:53:00 +01:00
main.c examples/l3fwd: fix packets lost when stopping 2016-03-31 22:56:00 +02:00
Makefile examples/l3fwd: modularize 2016-02-28 21:56:19 +01:00