<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<STYLE>
BLOCKQUOTE {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; MARGIN-LEFT: 2em
}
OL {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
UL {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
P {
MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
BODY {
LINE-HEIGHT: 1.5; FONT-FAMILY: ΢ÈíÑźÚ; COLOR: #000000; FONT-SIZE: 10.5pt
}
</STYLE>
<META name=GENERATOR content="MSHTML 8.00.7600.16385"></HEAD>
<BODY style="MARGIN: 10px">
<DIV>Hi.</DIV>
<DIV> </DIV>
<DIV>I use testpmd to test the throughput, but it drops many packets.</DIV>
<DIV> </DIV>
<DIV>Here is my hardware:</DIV>
<DIV>Intel Xeon E5645, 2 sockets, HT is closed, the total
cores number is 12.</DIV>
<DIV>64GB memory</DIV>
<DIV>Intel 82599EB SFP+, only one port.</DIV>
<DIV>Redhat 6.3 (2.6.32-279.el6.x86_64)</DIV>
<DIV>ixia send packets, line rate with 200 bytes packet. Packets are have random
source ip and dest ip.</DIV>
<DIV> </DIV>
<DIV>The command i run:</DIV>
<DIV style="TEXT-INDENT: 2em"> ./testpmd -c fff -n 3 -- -i
--coremask=1e --portmask=1 --rss-ip --rxq 4 --txq 4 --rxd 2048 --txd 2048
--burst 512</DIV>
<DIV>The coremask set to 1e, so i can use 4 cores to receive packets from 4
queues.</DIV>
<DIV> </DIV>
<DIV>Set the engine to rx_only_engine.</DIV>
<DIV> struct fwd_engine
*cur_fwd_eng = &rx_only_engine;</DIV>
<DIV> </DIV>
<DIV>I also changed testpmd.c and ixgbe_82599.c to make it run.
</DIV>
<DIV>Here is what i changed:</DIV>
<DIV>(1) In main(), I delete the function rte_igb_pmd_init(), SSH need to use
igb nic.</DIV>
<DIV> </DIV>
<DIV>(2) In fucntion init_config(), i reset the nb_mbuf_per_pool. I have to,
otherwise the testpmd tells alloc rx mbufs failed.</DIV>
<DIV>
<DIV>nb_mbuf_per_pool = (nb_rxd + (nb_lcores * mb_mempool_cache) +</DIV>
<DIV> nb_txd + MAX_PKT_BURST) * nb_rxq;</DIV></DIV>
<DIV> </DIV>
<DIV>(3) In lib/librte_pmd_ixgbe/ixgbe/ixgbe_82599.c, function
"ixgbe_setup_sfp_modules_82599".</DIV>
<DIV>I comment this three lines.</DIV>
<DIV> </DIV>
<DIV>//
DEBUGOUT("sfp module setup not
complete\n");<BR>//
ret_val =
IXGBE_ERR_SFP_SETUP_NOT_COMPLETE;<BR>//
goto setup_sfp_out;<BR></DIV>
<DIV>I don't know why the "sfp module setup not complete", I simply comment them
to make ixgbe can be init. </DIV>
<DIV> </DIV>
<DIV>Run the command, use ixia send some packets after start. Here is the
output.</DIV>
<DIV><BR>testpmd> start<BR> rxonly packet forwarding - CRC stripping
disabled - packets/burst=512<BR> nb forwarding cores=4 - nb forwarding
ports=1<BR> RX queues=4 - RX desc=2048 - RX free threshold=0<BR> RX
threshold registers: pthresh=8 hthresh=8 wthresh=4<BR> TX queues=4 - TX
desc=2048 - TX free threshold=0<BR> TX threshold registers: pthresh=36
hthresh=0 wthresh=0<BR> TX RS bit threshold=0<BR>testpmd> show port
stats 0</DIV>
<DIV> </DIV>
<DIV> ######################## NIC statistics for port 0
########################<BR> RX-packets: 737543992 RX-errors:
393984575 RX-bytes: 68719476735<BR> TX-packets:
0 TX-errors:
0 TX-bytes: 0<BR>
############################################################################<BR>testpmd>
quit<BR></DIV>
<DIV> </DIV>
<HR style="WIDTH: 210px; HEIGHT: 1px" align=left color=#b5c4df SIZE=1>
<DIV><SPAN>zengxg14</SPAN></DIV></BODY></HTML>