app/testpmd: fix crash at mbuf pool creation
authorOlivier Matz <olivier.matz@6wind.com>
Mon, 24 Apr 2017 12:33:57 +0000 (14:33 +0200)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 1 May 2017 13:14:31 +0000 (15:14 +0200)
Since
commit 999b2ee0fe45 ("app/testpmd: enable NUMA support by default"),
testpmd is started with numa enabled by default. This highlights a
floating point exception when started with --total-num-mbufs without any
port (division by 0). This bug was already triggered before this commit
if the --no-numa option was given.

This commit adds a check of the nb_ports value before doing the
division. By looking at this code, it appears that the creation of the
mbuf pool is not consistent for the number of mbufs depending on the
configuration. This is fixed in the next commit.

Fixes: b6ea6408fbc7 ("ethdev: store numa_node per device")
Cc: stable@dpdk.org
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
app/test-pmd/testpmd.c

index 3a57348..f61f313 100644 (file)
@@ -597,7 +597,7 @@ init_config(void)
                uint8_t i;
                unsigned int nb_mbuf;
 
-               if (param_total_num_mbufs)
+               if (param_total_num_mbufs && nb_ports != 0)
                        nb_mbuf_per_pool = nb_mbuf_per_pool/nb_ports;
 
                for (i = 0; i < max_socket; i++) {