DPDK patches and discussions
 help / color / mirror / Atom feed
From: 최익성 <pnk003@naver.com>
To: ChoiSy Jong <sy.jong.choi@intel.com>, Kyle Larose <eomereadig@gmail.com>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] When I run test-pmd, most of received packets(loop-backed packet) have RX-error.
Date: Wed, 21 Oct 2015 22:30:16 +0900 (KST)	[thread overview]
Message-ID: <3dac8affde3dc157dba7365e919718b@cweb28.nm.nhnsystem.com> (raw)
In-Reply-To: <697F8B1B48670548A5BAB03E8283550F368076B4@PGSMSX108.gar.corp.intel.com>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=UTF-8, Size: 5688 bytes --]

 Dear Kyle Larose and Sy Jong Choi.
 
Thank you very much for your precious advices.
 
I found the ierror counting function. It is ixgbe_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) in ~/dpdk/lib/librte_pmd_ixgbe/ixgbe_ethdev.c.
 
The rx-errors are due to IXGBE_MPC errors at registers in PCIe NIC.
 
IXGBE_MPC register is Missed Packets Count[0-7]. This counter counts the number of missed packets per packet buffer. Packets are missed when the receive FIFO has insufficient space to store the incoming packet. This could be caused because of too few buffers allocated, or because there is insufficient bandwidth on the IO bus. 
 
I don't know why this happens even though very low traffic load such as 5%.
 
Thank you very much.
 
Sincerely Yours,
 
Ick-Sung Choi.

-----Original Message-----
From: "Choi, Sy Jong"&lt;sy.jong.choi@intel.com&gt; 
To: "최익성"&lt;pnk003@naver.com&gt;; "Kyle Larose"&lt;eomereadig@gmail.com&gt;; 
Cc: "dev@dpdk.org"&lt;dev@dpdk.org&gt;; 
Sent: 2015-10-21 (수) 11:07:17
Subject: RE: [dpdk-dev] When I run test-pmd, most of received packets(loop-backed packet) have RX-error.
 
Hi Ick-Sung,



You will need to use igb_uio for DPDK. That is the Poll mode driver.



ixgbe is for the kernel, and do not support DPDK.



Regards,

Choi, Sy Jong

Platform Application Engineer



-----Original Message-----

From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of ???

Sent: Wednesday, October 21, 2015 10:04 AM

To: Kyle Larose

Cc: dev@dpdk.org

Subject: Re: [dpdk-dev] When I run test-pmd, most of received packets(loop-backed packet) have RX-error.



 Dear Kyle Larose. 

 

Thank you very much for your precious advice and answer.

 

I will try your suggestions.

 

 

I have a question. Can I use igb_uio driver in DPDK?

 

When I stalled the network device driver in DPDK.

 

I used the following commands and I see that the 10GbE devices have igb_uio device driver. 

 

   sudo /sbin/modprobe uio

   sudo /sbin/insmod $RTE_SDK/$RTE_TARGET/kmod/igb_uio.ko

 

 

Network devices using DPDK-compatible driver ============================================

0000:02:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection' drv=igb_uio unused=

0000:02:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection' drv=igb_uio unused=

 

Network devices using kernel driver

===================================

0000:00:19.0 'Ethernet Connection I217-V' if=eth0 drv=e1000e unused=igb_uio *Active*

0000:04:00.0 '82572EI Gigabit Ethernet Controller (Copper)' if=eth3 drv=e1000e unused=igb_uio 

 

The network device driver seems to be igb_uio.

 

 

 

If I bind the network device to ixgbe using the following commands, the network device seems to be connected to kernel, not the DPDK.

 

        sudo ${RTE_SDK}/tools/dpdk_nic_bind.py -b ixgbe 0000:02:00.0 &amp;&amp; echo "OK"

        sudo ${RTE_SDK}/tools/dpdk_nic_bind.py -b ixgbe 0000:02:00.1 &amp;&amp; echo "OK"

 

 

Can I use ixgbe driver for DPDK?

 

If I can, would you tell me how can I specify it?

 

Thank you very much for your precious advices.

 

Sincerely Yours,

 

Ick-Sung Choi.

 

 

-----Original Message-----

From: "Kyle Larose"&lt;eomereadig@gmail.com&gt;

To: "최익성"&lt;pnk003@naver.com&gt;;

Cc: &lt;dev@dpdk.org&gt;;

Sent: 2015-10-20 (í™”) 22:50:43

Subject: Re: [dpdk-dev] When I run test-pmd, most of received packets(loop-backed packet) have RX-error.

 

On Tue, Oct 20, 2015 at 2:12 AM, 최익성 &lt;pnk003@naver.com&gt; wrote:

&gt; Dear DPDK experts.

&gt;

&gt; Thank you very much for your best great efforts and precious answers.

&gt;

&gt;

&gt; When I run test-pmd, most of received packets are RX-error.

&gt;

&gt; The computer has two 10GbE ports Intel NIC and the two ports are loop-backed each other.

&gt;

&gt; The result shows that the loop-backed packets have rx-error occured from ethernet device port.

&gt;

&gt; The rx-error ( ierrors) seems to be counted by rte_eth_stats_get(uint8_t port_id, struct rte_eth_stats *stats) function in ~/dpdk/lib/librte_ether/rte_ethdev.c

&gt;

&gt; Then this rte_eth_stats_get() function calls (*dev-&gt;dev_ops-&gt;stats_get)(dev, stats); &gt; &gt; However, I can't find and trace the function (*dev-&gt;dev_ops-&gt;stats_get)().

&gt;

&gt; Would you tell me how can I find the function?

&gt;

&gt; Would you tell me why this receive errors occurs for what reasons?

&gt;

&gt;

&gt; I tested it in two xeon computers with different OS.

&gt;

&gt;    Fedora 22 (linux kernel version 4.2.3-200.fc22.x86_64, DPDK 2.1.0).

&gt;    Ubuntu 14.04.1 LTS(linux kernel version : 3.13.0-34-generic, DPDK 2.1.0).

&gt;

&gt; Both experiments show the same result with rx-errors.

&gt;

&gt; I will really appreciate if I can be given any advice and answers.

&gt;

&gt; Thank you very much.

&gt;

&gt; Sincerely Yours,

&gt;

&gt; Ick-Sung Choi.

&gt;



Hello,



I don't know the reason for your errors, but I can probably help with the function.



I usually do this in two ways. One way is to identify the driver, and then look for instances of "struct eth_dev_ops" in it. For example, if you have an ixgbe/82599/etc, the driver is the ixgbe. Searching in the directory for it, you find this:



    http://dpdk.org/browse/dpdk/tree/drivers/net/ixgbe/ixgbe_ethdev.c#n389



Another alternative is to attach to your running process with gdb, and print the dev struct. gdb will typically map the pointers contained therein to their symbolic names.



\x16º&Ê槅©åŠébžìbž×¥r‰–yÓœ·muçŽ8ßm5å\x17­º¹ÏjØr¹©ájybºX§»\x18§µé\¢d^qè¯y×ë¢i k^"ž×¥r‰¦­xŠ{^•Ê&×ݹ睵זòv—d¢¸\x0f¢Ë_‹\x1c"¶\x11\x1213ât>;è?y\x0fWè­×¯v—d¢¸\x16yݵ9ËvÓ^uçŽ8Ûí6Ó@„I4^qè¯y×ë¢gæ²h\x1aÓMŸš)ízW(›]6ç}¸Û¦ò~k&­tÝù¢ž×¥r‰°ŠØDHÄÏÛSœ·m5çN¸ã´ïM\x17\x13^[K¢ŠuÕr+¢sè®Ð\x15

      parent reply	other threads:[~2015-10-21 13:30 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-20  6:12 최익성
2015-10-20 13:50 ` Kyle Larose
2015-10-21  2:04   ` 최익성
2015-10-21  2:07     ` Choi, Sy Jong
2015-10-21  2:10       ` 최익성
2015-10-21 13:30       ` 최익성 [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3dac8affde3dc157dba7365e919718b@cweb28.nm.nhnsystem.com \
    --to=pnk003@naver.com \
    --cc=dev@dpdk.org \
    --cc=eomereadig@gmail.com \
    --cc=sy.jong.choi@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).