8353a36a9b
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:
|
||
---|---|---|
.. | ||
l3fwd_em_hlm_sse.h | ||
l3fwd_em_sse.h | ||
l3fwd_em.c | ||
l3fwd_em.h | ||
l3fwd_lpm_sse.h | ||
l3fwd_lpm.c | ||
l3fwd_lpm.h | ||
l3fwd_sse.h | ||
l3fwd.h | ||
main.c | ||
Makefile |