Embedded Intel® Core™ Processors
Communicate Intel® Core™ Hardware, Software, Firmware, Graphics Concerns

Problems running DPDK KNI example

VPrus
Beginner
9,482 Views

I'm new to DPDK. I'm trying to learn about KNI. I compiled and fired up the KNI example provided with the library.

  • I used the ifconfig commands to bring up the vEth interfaces that spin up corresponding to each port and assign ipaddress and netmasks to them.
  • I tried to ping and hping (tcp ping) other machines on the same network.
  • Through tcpdump, I can see that the KNI interfaces send out the right frames but don't seem to be receiving anything.
  • I don't see any errors in dmesg or the console running the KNI test script.
  • I proceeded to try and debug by printing out mbufs entries. The KNI Rx doesn't seem find anything in the ring buffer corresponding to the Eth port which is supposed to receive the data/frames. However, the ifconfig messages do show up on the buffers and are accordingly acted upon by the kernel.

It would be very helpful if someone can advise me on how to move forward with this and get this to work as it is supposed to. I have been spinning my wheels on this for a while. I have tried this on both VMs and physical machine with multiple network interfaces.

Thanks

0 Kudos
32 Replies
VPrus
Beginner
1,798 Views

I'm using DPDK checked out from http://dpdk.org/browse/dpdk/tree/ dpdk - Data Plane Development Kit

The OS is Ubuntu 14.04.

0 Kudos
CarlosAM_INTEL
Moderator
1,798 Views

Hello Varun,

 

Thanks for your reply.

Could you please tell us what is the NIC SKU that you are using? Because it seems that you are using a 1 G NIC instead of a 10 G.

By the way, we suggest you to submit this issue through http://dpdk.org/ DPDK.org, which is the official channel for DPDK technical consultations.

 

 

Thanks again for your cooperation to solve this inconvenience.

 

 

Best Regards,

 

Carlos A.
0 Kudos
VPrus
Beginner
1,798 Views

Hi Carlos,

I'm out of town this week. So don't have the SKU handy with me. I will get back to you as soon as I get back. But yes, I'm using 1G NIC.

When you say DPDK.org, do you mean the mailing lists?

Thanks

Varun

0 Kudos
VPrus
Beginner
1,798 Views

Hi Carlos,

Sorry for the late reply. I have been out of town with spotty internet connection. The info you required:

NIC Device: Ethernet controller: Intel Corporation 82580 Gigabit Network Connection

Kernel: 3.13.0-62-generic

platform: Ubuntu 14.04 64 bit

DPDK version: 2.1.0

Does that help?

Thanks

Varun

0 Kudos
CarlosAM_INTEL
Moderator
1,798 Views

Hello Varun,

Thanks for your reply.

Actually KNI is independent of any specific NIC, as it is just a channel between user space and kernel space.

On our system, the kernel bridge works well with using X710 (i40e). We have created two KNI instances in kernel space, which added to a bridge (brctl addbr <>), then it can receive packets from user space and then forward the packets back from another KNI instance.

Due to these facts, we would like to address the following questions:

Could you please check if KNI works well with other NICs (I350, 82599, X710 etc.) on your board?

Could you please verify that the testpmd or l2fwd, l3fwd works with the 82580?

Could you please tell us if you have previous experience with KNI?

By the way, customers sometimes are struggling on using KNI with network managers. Generally we just disable network manager before running KNI application.

Thanks again for your cooperation to solve this inconvenience.

Best Regards,

Carlos_A

0 Kudos
VPrus
Beginner
1,798 Views

HI Carlos,

Thanks for the reply. I will try out the steps you recommended. I'm running a little busy, so I will get back to you in a couple of days.

On you question about my experience with KNI, I don't have any experience with KNI or even DPDK. This is the first project I undertook.

Thanks

Varun

0 Kudos
cmohapatra
Beginner
1,653 Views

I am facing one issue with KNI.

In a single x86 server

1. Primary DPDK process able to open 2 KNI interface for 2 DPDK interface, we are facing problem while opening interface from secondary, is it possible Secondary process also open 2 KNI interface on different DPDK port.

We are getting error as primary and Secondary are trying to access /dev/kni interface .

 

Any solution or suggestion to use kni from secondary 

0 Kudos
CarlosAM_INTEL
Moderator
1,648 Views

Hello, @cmohapatra:

Thank you for contacting Intel Embedded Community.

We want to address the following questions to understand your problem:

Could you please let us know the information of the server related to the mentioned issue (such as the brand, model, part number, and manufacturer name)?

We are waiting for your reply.

Best regards,

@CarlosAM_INTEL.

 

0 Kudos
cmohapatra
Beginner
1,642 Views

Thanks @CarlosAM_INTEL. for your quick reply .

 

Here is the Details.

 

DPDK Version : 19.11

Server Details : Intel(R) Xeon(R) Gold 6248 CPU @ 2.50GHz

My requirements : My Application is running in a single Server both Primary and Secondary .

                                  Primary will communicate in 2 different DPDK ports which is connected via switch.

                                  Similarly Secondary will communicate in another 2 different DPDK ports which is connected via switch.

                                  To resolve ARP and PING Req - Reply we have implemented KNI in 2 Primary DPDK ports. It is working fine.

                                  Our Application is able to communicate with external server through 2 interface . and Corresponding vETh0 and vEth1 is able to resolve ARP and send ping response.

                                 But we are getting error when secondary process is trying to create KNI interface. 

    

 So alternative approach to solve this issue.

Thank You again.

 

 

 

 

0 Kudos
CarlosAM_INTEL
Moderator
1,629 Views

Hello, @cmohapatra:

 

Thanks for your reply.

 

We suggest as a reference review the information stade on the following website:

 

https://doc.dpdk.org/guides/sample_app_ug/kernel_nic_interface.html

 

In case you have questions related to this document, you should address your questions as a reference the channels listed on the following website:

 

https://www.dpdk.org/contribute/#mailing-lists

 

Best regards,

@CarlosAM_INTEL.

0 Kudos
cmohapatra
Beginner
1,613 Views

Hi @CarlosAM_INTEL.,

 

thanks for reply . I have gone through.

Will try to align and update you in soon.

 

I am facing one core as below.

#6 0x00000000008bd565 in malloc_elem_alloc ()
#7 0x00000000008bf1e8 in malloc_heap_alloc ()
#8 0x00000000008bac76 in rte_zmalloc ()
#9 0x00000000008972db in rte_mempool_create_empty ()
#10 0x000000000085a481 in rte_pktmbuf_pool_create ()

 

 Huge page configured as 66.

if I configure 16 it is working.

 

Any idea what could be the issue.

 

Regards

C Mohapatra

 

0 Kudos
Reply