* [dpdk-dev] Fast Path Query @ 2015-01-14 6:16 Deepak Sehrawat 2015-01-14 6:24 ` Gal Sagie 2015-01-14 7:47 ` Zhang, Helin 0 siblings, 2 replies; 6+ messages in thread From: Deepak Sehrawat @ 2015-01-14 6:16 UTC (permalink / raw) To: dev Hi All, I have a use-case where my slow path application (control path) is to run on Linux where as my data path is to run as DPDK application. Because both control and data packets are going to be received via same NIC card, how will these two flows be separated and passed on to Linux control app and DPDK data path app respectively? In short I want to understand how NIC received packets are separated between Linux Eth driver and PMD (poll mode driver) of DPDK? Thanks for the help in advance. Thanks, Deepak ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] Fast Path Query 2015-01-14 6:16 [dpdk-dev] Fast Path Query Deepak Sehrawat @ 2015-01-14 6:24 ` Gal Sagie 2015-01-14 7:47 ` Zhang, Helin 1 sibling, 0 replies; 6+ messages in thread From: Gal Sagie @ 2015-01-14 6:24 UTC (permalink / raw) To: Deepak Sehrawat; +Cc: <dev@dpdk.org> Your application (which you build on top of DPDK) needs to filter which traffic is control traffic and inject it into the network stack. You can leverage DPDK KNI for that ( http://dpdk.org/doc/guides/prog_guide/kernel_nic_interface.html) Keep in mind you also need to take care of the TX side. On Wed, Jan 14, 2015 at 8:16 AM, Deepak Sehrawat <d.sehrawat@gmail.com> wrote: > Hi All, > > I have a use-case where my slow path application (control path) is to run > on Linux where as my data path is to run as DPDK application. Because both > control and data packets are going to be received via same NIC card, how > will these two flows be separated and passed on to Linux control app and > DPDK data path app respectively? In short I want to understand how NIC > received packets are separated between Linux Eth driver and PMD (poll mode > driver) of DPDK? > > Thanks for the help in advance. > > Thanks, > Deepak > -- Best Regards , The G. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] Fast Path Query 2015-01-14 6:16 [dpdk-dev] Fast Path Query Deepak Sehrawat 2015-01-14 6:24 ` Gal Sagie @ 2015-01-14 7:47 ` Zhang, Helin 2015-01-14 7:58 ` Deepak Sehrawat 1 sibling, 1 reply; 6+ messages in thread From: Zhang, Helin @ 2015-01-14 7:47 UTC (permalink / raw) To: Deepak Sehrawat, dev Hi Deepak If a NIC port is controlled by DPDK, all packets received by that port will go directly to DPDK, and Linux kernel doesn't know those packets anymore. But, the packets received by DPDK can be put into kernel by two special ways. They are exception_path and KNI. Please check the examples/ for more details. In the future, a port may be co-controlled by both Linux and DPDK. Part of queues will be controlled by Linux kernel driver, part of queues will be controlled by DPDK. Check the DPDK roadmap for more details. Regards, Helin > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Deepak Sehrawat > Sent: Wednesday, January 14, 2015 2:16 PM > To: dev@dpdk.org > Subject: [dpdk-dev] Fast Path Query > > Hi All, > > I have a use-case where my slow path application (control path) is to run on > Linux where as my data path is to run as DPDK application. Because both > control and data packets are going to be received via same NIC card, how will > these two flows be separated and passed on to Linux control app and DPDK > data path app respectively? In short I want to understand how NIC received > packets are separated between Linux Eth driver and PMD (poll mode > driver) of DPDK? > > Thanks for the help in advance. > > Thanks, > Deepak ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] Fast Path Query 2015-01-14 7:47 ` Zhang, Helin @ 2015-01-14 7:58 ` Deepak Sehrawat 2015-01-14 8:02 ` Zhang, Helin 0 siblings, 1 reply; 6+ messages in thread From: Deepak Sehrawat @ 2015-01-14 7:58 UTC (permalink / raw) To: Zhang, Helin; +Cc: dev Hi Helin, If we use exception_path or KNI, which extracts packet from Linux kernel (for DPDK application processing), will it still remain fast path? Will it not impact the performance; as Linux interrupt framework shall also come into picture here? On Wed, Jan 14, 2015 at 1:17 PM, Zhang, Helin <helin.zhang@intel.com> wrote: > Hi Deepak > > If a NIC port is controlled by DPDK, all packets received by that port > will go directly to DPDK, and Linux kernel doesn't know those packets > anymore. > But, the packets received by DPDK can be put into kernel by two special > ways. They are exception_path and KNI. Please check the examples/ for more > details. > In the future, a port may be co-controlled by both Linux and DPDK. Part of > queues will be controlled by Linux kernel driver, part of queues will be > controlled by DPDK. Check the DPDK roadmap for more details. > > Regards, > Helin > > > -----Original Message----- > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Deepak Sehrawat > > Sent: Wednesday, January 14, 2015 2:16 PM > > To: dev@dpdk.org > > Subject: [dpdk-dev] Fast Path Query > > > > Hi All, > > > > I have a use-case where my slow path application (control path) is to > run on > > Linux where as my data path is to run as DPDK application. Because both > > control and data packets are going to be received via same NIC card, how > will > > these two flows be separated and passed on to Linux control app and DPDK > > data path app respectively? In short I want to understand how NIC > received > > packets are separated between Linux Eth driver and PMD (poll mode > > driver) of DPDK? > > > > Thanks for the help in advance. > > > > Thanks, > > Deepak > -- ====================================== The Harder I work, The Luckier I Get ---------------------------------------------------------------------------- DEEPAK $EHRAWAT Senior Principal Engineer Hughes Systique Corporation, D-8, InfoCity Phase- II, Sector-33, Gurgaon-122001 Mobile No. 9818228349 deepak.sehrawat@hsc.com ====================================== ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [dpdk-dev] Fast Path Query 2015-01-14 7:58 ` Deepak Sehrawat @ 2015-01-14 8:02 ` Zhang, Helin [not found] ` <CAH+GhRmonvEv=JsRY8T4ykYDkfFfvHat=HX_nDyRg=sz1dQ6rg@mail.gmail.com> 0 siblings, 1 reply; 6+ messages in thread From: Zhang, Helin @ 2015-01-14 8:02 UTC (permalink / raw) To: Deepak Sehrawat; +Cc: dev Hi Deepak Exception path or KNI just provide an exceptional path for packet exchanging between user space and kernel space. All packet IO are still in user space DPDK, Linux kernel still doesn’t know the NIC port. So, no standard Linux interrupt. Regards, Helin From: Deepak Sehrawat [mailto:d.sehrawat@gmail.com] Sent: Wednesday, January 14, 2015 3:58 PM To: Zhang, Helin Cc: dev@dpdk.org Subject: Re: [dpdk-dev] Fast Path Query Hi Helin, If we use exception_path or KNI, which extracts packet from Linux kernel (for DPDK application processing), will it still remain fast path? Will it not impact the performance; as Linux interrupt framework shall also come into picture here? On Wed, Jan 14, 2015 at 1:17 PM, Zhang, Helin <helin.zhang@intel.com<mailto:helin.zhang@intel.com>> wrote: Hi Deepak If a NIC port is controlled by DPDK, all packets received by that port will go directly to DPDK, and Linux kernel doesn't know those packets anymore. But, the packets received by DPDK can be put into kernel by two special ways. They are exception_path and KNI. Please check the examples/ for more details. In the future, a port may be co-controlled by both Linux and DPDK. Part of queues will be controlled by Linux kernel driver, part of queues will be controlled by DPDK. Check the DPDK roadmap for more details. Regards, Helin > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org<mailto:dev-bounces@dpdk.org>] On Behalf Of Deepak Sehrawat > Sent: Wednesday, January 14, 2015 2:16 PM > To: dev@dpdk.org<mailto:dev@dpdk.org> > Subject: [dpdk-dev] Fast Path Query > > Hi All, > > I have a use-case where my slow path application (control path) is to run on > Linux where as my data path is to run as DPDK application. Because both > control and data packets are going to be received via same NIC card, how will > these two flows be separated and passed on to Linux control app and DPDK > data path app respectively? In short I want to understand how NIC received > packets are separated between Linux Eth driver and PMD (poll mode > driver) of DPDK? > > Thanks for the help in advance. > > Thanks, > Deepak -- ====================================== The Harder I work, The Luckier I Get ---------------------------------------------------------------------------- DEEPAK $EHRAWAT Senior Principal Engineer Hughes Systique Corporation, D-8, InfoCity Phase- II, Sector-33, Gurgaon-122001 Mobile No. 9818228349 deepak.sehrawat@hsc.com<mailto:deepak.sehrawat@hsc.com> ====================================== ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <CAH+GhRmonvEv=JsRY8T4ykYDkfFfvHat=HX_nDyRg=sz1dQ6rg@mail.gmail.com>]
[parent not found: <F35DEAC7BCE34641BA9FAC6BCA4A12E70A7E8648@SHSMSX104.ccr.corp.intel.com>]
[parent not found: <CAH+GhRm-yvJw6iZvoxXChKPYyuWJDsFZLtPTk4DENHPYc+bAXg@mail.gmail.com>]
* Re: [dpdk-dev] Fast Path Query [not found] ` <CAH+GhRm-yvJw6iZvoxXChKPYyuWJDsFZLtPTk4DENHPYc+bAXg@mail.gmail.com> @ 2015-01-15 6:46 ` Zhang, Helin 0 siblings, 0 replies; 6+ messages in thread From: Zhang, Helin @ 2015-01-15 6:46 UTC (permalink / raw) To: Deepak Sehrawat; +Cc: dev Hi Deepak I got it. Thanks for the detailed explanation! The performance of packet IO shouldn’t be affected from DPDK side as long as enough cpu cycles can be used. While you cannot expect too much high performance number transmitted from kernel space to user space, as kernel stack or netdev framework might be bottle necks. Regards, Helin From: Deepak Sehrawat [mailto:d.sehrawat@gmail.com] Sent: Wednesday, January 14, 2015 4:37 PM To: Zhang, Helin Subject: Re: [dpdk-dev] Fast Path Query Hi Helin, Let me elaborate my case a bit. Consider that Linux is controlling a NIC port which is receiving Control as well as Data packets. These control packets are processed by a normal Linux userspace application; whereas the data packets are forwarded to DPDK userplane application using KNI (i.e from Linux kernel to DPDK). This userplane application, after processing these data packets, forwards them out (using PMD) of another NIC port (controlled by DPDK PMD). Thanks, Deepak On Wed, Jan 14, 2015 at 1:46 PM, Zhang, Helin <helin.zhang@intel.com<mailto:helin.zhang@intel.com>> wrote: Hi Deepak Still a bit confused. Linux driver is controlling the NIC port, are there any other ports controlled by DPDK? I guess yes. If yes, there must have one or more user space thread who is responsible for packet exchanging between kernel and user space via exception_path or KNI. Packet IO speed can be still the maximum, depends on what percentage of cpu cycles can be used for packet IO. Performance may or may not be affected depends on if there are enough cpu cycles can be used for packet IO. Regards, Helin From: Deepak Sehrawat [mailto:d.sehrawat@gmail.com<mailto:d.sehrawat@gmail.com>] Sent: Wednesday, January 14, 2015 4:08 PM To: Zhang, Helin Subject: Re: [dpdk-dev] Fast Path Query Hi Helin, My mistake, I was actually refering to the case when Linux is controlling the NIC port (and not DPDK) and it is then using KNI to pass data plane packets (say IPSec packets) to DPDK application. So will it effect the fast path performance in this scenario? Thanks, Deepak On Wed, Jan 14, 2015 at 1:32 PM, Zhang, Helin <helin.zhang@intel.com<mailto:helin.zhang@intel.com>> wrote: Hi Deepak Exception path or KNI just provide an exceptional path for packet exchanging between user space and kernel space. All packet IO are still in user space DPDK, Linux kernel still doesn’t know the NIC port. So, no standard Linux interrupt. Regards, Helin From: Deepak Sehrawat [mailto:d.sehrawat@gmail.com<mailto:d.sehrawat@gmail.com>] Sent: Wednesday, January 14, 2015 3:58 PM To: Zhang, Helin Cc: dev@dpdk.org<mailto:dev@dpdk.org> Subject: Re: [dpdk-dev] Fast Path Query Hi Helin, If we use exception_path or KNI, which extracts packet from Linux kernel (for DPDK application processing), will it still remain fast path? Will it not impact the performance; as Linux interrupt framework shall also come into picture here? On Wed, Jan 14, 2015 at 1:17 PM, Zhang, Helin <helin.zhang@intel.com<mailto:helin.zhang@intel.com>> wrote: Hi Deepak If a NIC port is controlled by DPDK, all packets received by that port will go directly to DPDK, and Linux kernel doesn't know those packets anymore. But, the packets received by DPDK can be put into kernel by two special ways. They are exception_path and KNI. Please check the examples/ for more details. In the future, a port may be co-controlled by both Linux and DPDK. Part of queues will be controlled by Linux kernel driver, part of queues will be controlled by DPDK. Check the DPDK roadmap for more details. Regards, Helin > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org<mailto:dev-bounces@dpdk.org>] On Behalf Of Deepak Sehrawat > Sent: Wednesday, January 14, 2015 2:16 PM > To: dev@dpdk.org<mailto:dev@dpdk.org> > Subject: [dpdk-dev] Fast Path Query > > Hi All, > > I have a use-case where my slow path application (control path) is to run on > Linux where as my data path is to run as DPDK application. Because both > control and data packets are going to be received via same NIC card, how will > these two flows be separated and passed on to Linux control app and DPDK > data path app respectively? In short I want to understand how NIC received > packets are separated between Linux Eth driver and PMD (poll mode > driver) of DPDK? > > Thanks for the help in advance. > > Thanks, > Deepak ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2015-01-15 6:48 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2015-01-14 6:16 [dpdk-dev] Fast Path Query Deepak Sehrawat 2015-01-14 6:24 ` Gal Sagie 2015-01-14 7:47 ` Zhang, Helin 2015-01-14 7:58 ` Deepak Sehrawat 2015-01-14 8:02 ` Zhang, Helin [not found] ` <CAH+GhRmonvEv=JsRY8T4ykYDkfFfvHat=HX_nDyRg=sz1dQ6rg@mail.gmail.com> [not found] ` <F35DEAC7BCE34641BA9FAC6BCA4A12E70A7E8648@SHSMSX104.ccr.corp.intel.com> [not found] ` <CAH+GhRm-yvJw6iZvoxXChKPYyuWJDsFZLtPTk4DENHPYc+bAXg@mail.gmail.com> 2015-01-15 6:46 ` Zhang, Helin
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).