Hi.
I use testpmd to test the throughput, but it drops many packets.
Here is my hardware:
Intel Xeon E5645, 2 sockets, HT is closed, the total
cores number is 12.
64GB memory
Intel 82599EB SFP+, only one port.
Redhat 6.3 (2.6.32-279.el6.x86_64)
ixia send packets, line rate with 200 bytes packet. Packets are have random
source ip and dest ip.
The command i run:
./testpmd -c fff -n 3 -- -i
--coremask=1e --portmask=1 --rss-ip --rxq 4 --txq 4 --rxd 2048 --txd 2048
--burst 512
The coremask set to 1e, so i can use 4 cores to receive packets from 4
queues.
Set the engine to rx_only_engine.
struct fwd_engine
*cur_fwd_eng = &rx_only_engine;
I also changed testpmd.c and ixgbe_82599.c to make it run.
Here is what i changed:
(1) In main(), I delete the function rte_igb_pmd_init(), SSH need to use
igb nic.
(2) In fucntion init_config(), i reset the nb_mbuf_per_pool. I have to,
otherwise the testpmd tells alloc rx mbufs failed.
nb_mbuf_per_pool = (nb_rxd + (nb_lcores * mb_mempool_cache) +
nb_txd + MAX_PKT_BURST) * nb_rxq;
(3) In lib/librte_pmd_ixgbe/ixgbe/ixgbe_82599.c, function
"ixgbe_setup_sfp_modules_82599".
I comment this three lines.
//
DEBUGOUT("sfp module setup not
complete\n");
//
ret_val =
IXGBE_ERR_SFP_SETUP_NOT_COMPLETE;
//
goto setup_sfp_out;
I don't know why the "sfp module setup not complete", I simply comment them
to make ixgbe can be init.
Run the command, use ixia send some packets after start. Here is the
output.
testpmd> start
rxonly packet forwarding - CRC stripping
disabled - packets/burst=512
nb forwarding cores=4 - nb forwarding
ports=1
RX queues=4 - RX desc=2048 - RX free threshold=0
RX
threshold registers: pthresh=8 hthresh=8 wthresh=4
TX queues=4 - TX
desc=2048 - TX free threshold=0
TX threshold registers: pthresh=36
hthresh=0 wthresh=0
TX RS bit threshold=0
testpmd> show port
stats 0
######################## NIC statistics for port 0
########################
RX-packets: 737543992 RX-errors:
393984575 RX-bytes: 68719476735
TX-packets:
0 TX-errors:
0 TX-bytes: 0
############################################################################
testpmd>
quit
zengxg14