DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Dumitrescu, Cristian" <cristian.dumitrescu@intel.com>
To: Neil Horman <nhorman@tuxdriver.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH 00/29] Packet Framework
Date: Thu, 29 May 2014 20:06:27 +0000	[thread overview]
Message-ID: <3EB4FA525960D640B5BDFFD6A3D891261B1BF8B3@IRSMSX102.ger.corp.intel.com> (raw)
In-Reply-To: <20140527194755.GA24378@hmsreliant.think-freely.org>

Hi Neil,

Packet Framework does not compete against OVS. OVS is an application (for virtual switching), while Packet Framework is a toolbox to build applications.

Can somebody pick OVS building blocks and reuse them to build other applications that use the OpenFlow design principles (port, table, pipeline, actions, etc)? Probably not easily, if at all.
Can somebody use Packet Framework to build a virtual switch application? Hopefully yes.
Can somebody use Packet Framework to develop various applications with a custom actions extended outside the small OVS hardwired set (suitable for a switch, but not for e.g. a base station)? Hopefully yes.

This being said, OVS and Packet Framework do use similar design principles originating from OpenFlow.

Regards,
Cristian



-----Original Message-----
From: Neil Horman [mailto:nhorman@tuxdriver.com] 
Sent: Tuesday, May 27, 2014 8:48 PM
To: Dumitrescu, Cristian
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [PATCH 00/29] Packet Framework

On Tue, May 27, 2014 at 06:09:23PM +0100, Cristian Dumitrescu wrote:
> Intel DPDK Packet Framework provides a standard methodology (logically similar to OpenFlow) for rapid development of complex packet processing pipelines out of ports, tables and actions.
> 
> A pipeline is constructed by connecting its input ports to its output ports through a chain of lookup tables. As result of lookup operation into the current table, one of the table entries (or the default table entry, in case of lookup miss) is identified to provide the actions to be executed on the current packet and the associated action meta-data. The behavior of user actions is defined through the configurable table action handler, while the reserved actions define the next hop for the current packet (either another table, an output port or packet drop) and are handled transparently by the framework.
> 
> Three new Intel DPDK libraries are introduced for Packet Framework: librte_port, librte_table, librte_pipeline. Please check the Intel DPDK Programmer's Guide for full description of the Packet Framework design.
> 
> Two sample applications are provided for Packet Framework: app/test-pipeline and examples/ip_pipeline. Please check the Intel Sample Apps Guide for a detailed description of how these sample apps.
> 
Isn't this at least in part functionality that OVS provides on top of DPDK?  Why
re-invent the wheel?

Neil

--------------------------------------------------------------
Intel Shannon Limited
Registered in Ireland
Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
Registered Number: 308263
Business address: Dromore House, East Park, Shannon, Co. Clare

This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.

  reply	other threads:[~2014-05-29 20:06 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-27 17:09 Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 01/29] librte_lpm: rule_is_present Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 02/29] hexdump: fixed minor build issue Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 03/29] log: added log IDs for Packet Framework libraries Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 04/29] mbuf: added offset of packet meta-data in the packet buffer just after mbuf Cristian Dumitrescu
2014-05-28 12:03   ` Ivan Boule
2014-05-29 22:28     ` Dumitrescu, Cristian
2014-06-02 12:24       ` Ivan Boule
2014-06-05 13:22         ` Dumitrescu, Cristian
2014-05-29 22:37     ` Dumitrescu, Cristian
2014-05-27 17:09 ` [dpdk-dev] [PATCH 05/29] Packet Framework librte_port: Port API Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 06/29] Packet Framework librte_port: ethdev ports Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 07/29] Packet Framework librte_port: ring ports Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 08/29] Packet Framework librte_port: IPv4 frag port Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 09/29] Packet Framework librte_port: IPv4 reassembly Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 10/29] Packet Framework librte_port: hierarchical scheduler port Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 11/29] Packet Framework librte_port: Source/Sink ports Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 12/29] Packet Framework librte_port: Makefile Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 13/29] Packet Framework librte_table: Table API Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 14/29] Packet Framework librte_table: LPM IPv4 table Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 15/29] Packet Framework librte_table: LPM IPv6 table Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 16/29] Packet Framework librte_table: ACL table Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 17/29] Packet Framework librte_table: Hash tables Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 18/29] Packet Framework librte_table: array table Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 19/29] Packet Framework librte_table: Stub table Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 20/29] Packet Framework librte_table: Makefile Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 21/29] Packet Framework librte_pipeline: Pipeline Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 22/29] Packet Framework librte_pipeline: Makefile Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 23/29] librte_cfgfile: interpret config files Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 24/29] librte_cfgfile: Makefile Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 25/29] Packet Framework: build infrastructure Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 26/29] Packet Framework performance application Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 27/29] Packet Framework IPv4 pipeline sample app Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 28/29] app/Makefile: enable app/test-pipeline Cristian Dumitrescu
2014-05-27 17:09 ` [dpdk-dev] [PATCH 29/29] Packet Framework unit tests Cristian Dumitrescu
2014-05-27 19:47 ` [dpdk-dev] [PATCH 00/29] Packet Framework Neil Horman
2014-05-29 20:06   ` Dumitrescu, Cristian [this message]
2014-06-04 14:16 ` Cao, Waterman

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=3EB4FA525960D640B5BDFFD6A3D891261B1BF8B3@IRSMSX102.ger.corp.intel.com \
    --to=cristian.dumitrescu@intel.com \
    --cc=dev@dpdk.org \
    --cc=nhorman@tuxdriver.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).