Community
cancel
Showing results for 
Search instead for 
Did you mean: 
SMent1
Beginner
2,223 Views

Data Plane Developer Kit

The Data Plane SDK was announced last year (available 2Q2010) as Intel's solution for fast-path network processing. Previously, the only available solutions were proprietary via 3rd party vendors such as WindRiver. As far as I can tell, it is still not available. Does anyone have info regarding release dates for the SDK? We are interested in gaining knowledge on this subject for a future IPTV VOD-server project.

Thanks,

Steve

29 Replies
FMcNu1
Valued Contributor I
234 Views

Hi Steve:

Welcome to the Intel® Embedded Community.

Do you happen to have a link to info on this SDK? Or do you recall where you saw the announcement? I looked around intel.com and don't find anything.

Thanks

Felix

J. Felix McNulty

Community Moderator

(Intel contractor)

SMent1
Beginner
234 Views

Hi Felix, thanks for responding.

See page 7: http://download.intel.com/embedded/applications/networksecurity/323814.pdf http://download.intel.com/embedded/applications/networksecurity/323814.pdf. There are other papers that refer to a Data Plane SDK, too. Let me know if you would like to see them.

Regards,

Steve

Michael_L_Intel3
Employee
234 Views

Hi Steve,

my name is Michael Lynch and I am a Product Marketing Manager in Intel's Embedded Communications Group.

The Intel® Data Plane Development kit (Intel® DPDK) is not yet broadly available and is still in the "Early Access" phase, whereby it is being made available under NDA to select customers and ecopartners for evaluation and feedback. We do have plans to make the software available under a broader distribution model in the future.

If you would like to know more, please contact me directly at my email address below.

Best regards,

Michael

Product Marketing Manager

Embedded Communications Group

Intel Corporation

email: mailto:michael.a.lynch@intel.com michael.a.lynch@intel.com

VJard
Beginner
234 Views

Hi Steve,

If you whish to benchmark it, the DPDK is integrated with the 6WINDGate's dataplane. Please, contact 6WIND's support.

Best regards,

Vincent

SZare
Beginner
234 Views

Get Access to Intel® Data Plane Development Kit (Intel® DPDK) source code

I'm so forested a week of search and contacting the appropriate people and posting at premier help ( https://premier.intel.com/premier/PremierResources.aspx https://premier.intel.com/premier/PremierResources.aspx)

I've not able to find or get an access to Intel® Data Plane Development Kit (Intel® DPDK) source code.

I got a copy of "Developer's Reference" but that is it.

Is there anyone out there can help me please?

Michael_L_Intel3
Employee
234 Views

Hi Steven,

per my comments above, the Intel(r) Data Plane Development Kit is still under the guise of an Early Access program, where the code can only be released under NDA and only when a candidate company is accepted into the early access program. Please contact me directly if you'd like to know more.

Best regards,

Michael

ZAn
Beginner
234 Views

Hi Felix,

I'm working on DPDK, but I'm not very clear about the relation between the NIC driver and DPDK.

You know, DPDK can run as app on Linux. So doen that means latest linux kernel driver of intel NIC has supported DPDK?

Another problem: what platform does DPDK support? What CPU does it support?

Thank you.

VJard
Beginner
234 Views

The Linux kernel drivers are not used by the DPDK. The DPDK includes its own drivers which are made of a different paradigm: "Polling" and "no OS".

Both drivers are exclusive:

- either your PCI NIC device is managed by Linux (igb, ixgb)

- either your PCI NIC device is managed by the DPDK (librte_82576_pmd/ or librte_82599_pmd/)

The DPDK looks like a library that your applications should link with and it should be used to bypass the OS services (so drivers). DPDK is optimized for Intel architectures.

Best regards,

Vincent@6WIND

ZAn
Beginner
234 Views

Hi Vincent,

Thank you very much.

When dpdk run as linux app, how does the NIC works?

VJard
Beginner
234 Views

There are two parts, let's try to make it simple:

- probes -> main() / init()

There is a userland PCI probing during the startup of the userland process (see the main()) and init() functions. Then, it maps the memory to read/write to the PCI NICs.

- RX/TX -> main loop

In order to receive packets, using the properly mapped memory during the init, it polls the queues of packets which have been DMA-ed into the memory.

In order to send, still using this mapped memory, it fills some queues with packets and it requests to the NICs to drain (DMA-ed) those queues of packets which are sent on the wire.

This main loop is made of a while(1) { } in order to pump the packets and then to push the packets.

The Linux kernel drivers are NOT used anymore when the PMD runs for the NICs which are managed by the DPDK. Other NICs can still be managed by the Linux kernel drivers.

If you want to better understand some insides, there are some examples of code and a good documentation about it into the DPDK source code itself (I cannot post, you would need NDA with 6WIND or Intel or etc...). Or I can only advice you to play with the 6WINDGate dataplane that includes a fine grain integration of the DPDK for high speed and low latency packet processing.

Best regards,

Vincent@6WIND

SGosw2
Beginner
234 Views

Hi, the Linux ixgbe drivers are already NAPI enabled, which supports a poll mode. I am curious about why NAPI was not considered optimum enough for packet processing. Would appreciate any insight. Thanks

VJard
Beginner
234 Views

NAPI is not pure PMD.

SGosw2
Beginner
234 Views

Ok, would help if you can throw in a few lines on why or how NAPI is not PMD.

MHaye2
Beginner
234 Views

Hi Michael, I am searching for the latest version of the DPDK download (version 1.1 according to the API documentation. My company has a privledged account and I have downloaded all the releated privledged docs but I cannot find the download for the actual kit. Can you help please,

Martin

jxie9
Beginner
234 Views

Hi vincent,

After I bound a net device to IGB_UIO driver, if I want to configure it for network access, use linux tools like ifconfig, what should I do? in DPDK, is kni response for this function?

any response will be appericated!

VJard
Beginner
234 Views

Hi Jiexie,

KNI would provide path to your kernel (a kind of fast TUN/TAP channel), but it is not designed to manage (ifconfig'd) the ethernet ports with some IP addresses. In order to configure IP addresses, it means that you need a stack; but DPDK provides only library (librte_*). In order to get a stack, check: www.6wind.com which is the best I know , see: http://www.6wind.com/products/6windgate-protocols/ http://www.6wind.com/products/6windgate-protocols/

Sorry,

Vincent

jxie9
Beginner
234 Views

Hi vincent, thanks for responding.

so I can transmit packets to kernel through KNI, let linux network protocol stack process the related packets, then I can use ifconfig, tcpdump...

besides, I met a problem when test the kni example provided by intel, can you please give some advice?

EAL: memzone_reserve_aligned_thread_unsafe(MP_mbuf_pool, 311173440, 0)No appropriate segment found

EAL: Error - exiting with code: 1

Cause: Could not initialise mbuf pool

Natalie_Z_Intel
Employee
234 Views

Hi Jiexie,

After the KNI user space example application and kernel module both successfully loaded, the KNI creates a vEth0net_dev that is very similar to regular Linux network device drive, so standard Linux tools like ifconfig, ip link, ethtool can be used to configure this vEth0 device. The Linux kernel stack will be used in this case.

The only difference of KNI vs. regular network device drive is that the KNI talks to user space PMD rather

 

than NIC via FIFOs.
Natalie_Z_Intel
Employee
234 Views

Here is another resource for http://www.dpdk.org/ DPDK. Intel DPDK is a set of libraries and drivers for fast packet processing on x86 platforms. It runs mostly in Linux userland. This project tracks Intel DPDK and includes all major public contributions.