numam-dpdk/examples/l3fwd
Tomasz Kulasek af1694d94b examples/l3fwd: fix crash with gcc 5
It seems that with gcc >5.x and -O2/-O3 optimization breaks packet
grouping algorithm.

When last packet pointer "lp" and "pnum->u64" buffer points the same
memory buffer, high optimization can cause unpredictable results.
It seems that assignment of precalculated group sizes may interfere
with initialization of new group size when lp points value inside
current group and didn't should be changed.

With gcc >5.x and optimization we cannot be sure which assignment will
be done first, so the group size can be counted incorrectly.

This patch eliminates intersection of assignment of initial group size
(lp[0] = 1) and precalculated group sizes when gptbl[v].idx < 4.

Fixes: 94c54b4158 ("examples/l3fwd: rework exact-match")

Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2016-04-06 11:35:33 +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 crash with gcc 5 2016-04-06 11:35:33 +02:00
l3fwd.h examples/l3fwd: fix using packet type blindly 2016-03-25 19:53:00 +01:00
main.c ethdev: use constants for link state 2016-04-01 21:38:34 +02:00
Makefile examples/l3fwd: modularize 2016-02-28 21:56:19 +01:00