DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Rogers, Gerald" <gerald.rogers@intel.com>
To: Prashant Upadhyaya <prashant.upadhyaya@aricent.com>,
	Pravin Shelar <pshelar@nicira.com>
Cc: "dev@openvswitch.org" <dev@openvswitch.org>,
	"dev@dpdk.org" <dev@dpdk.org>,
	"dpdk-ovs@lists.01.org" <dpdk-ovs@lists.01.org>
Subject: Re: [dpdk-dev] [PATCH RFC] dpif-netdev: Add support Intel DPDK based ports.
Date: Thu, 30 Jan 2014 16:27:12 +0000	[thread overview]
Message-ID: <CF0FC6BA.4619C%gerald.rogers@intel.com> (raw)
In-Reply-To: <C7CE7EEF248E2B48BBA63D0ABEEE700C5A2A24F97D@GUREXMB01.ASIAN.AD.ARICENT.COM>

Prashant,

IVShm is supported by the Intel DPDK client rings, and a patched QEMU/KVM
from the OVDK work on 01.org (https://01.org/packet-processing).  The main
part being the patched QEMU/KVM to map the Intel DPDK Huge Page Tables
(with Release of Intel DPDK 1.6 the requirement to map 1 GB huge pages has
been removed, but still supported) into the QEMU/KVM ivshm device (the
Client rings are standard in Intel DPDK releases).  My suggestion to add
this functionality is similar to the way different interfaces are
supported under Linux (tap, socket, etc.).  Basically add another Intel
DPDK Netdev type for client rings. Once the rings are instantiated (upon
Intel DPDK initialization), then it is simple enough to have the
OpenVSwitch control to initialize them into the polling method (just like
the physical ports are done today).  Structures like mac address, MTU,
etc. for the would need to be considered since the client rings are not
really thought of as ³Ethernet² ports within DPDK.  If you want to make
them virtual ³Ethernet² ports, then assigning the Ethernet parameters a
static value upon initialization would be acceptable.

Thoughts from the community are much welcomed on this whole topic.

As Pravin mentioned in one of his previous e-mails, the support for
IVShmem, Intel DPDK QOS, vxLan etc. wasn¹t added (and in some cases
doesn¹t exist as an Intel DPDK library, ie. vxLan) to simplify the patch.
It will be worked on for subsequent patches.

Sincerely,

Gerald

On 1/30/14, 3:15 AM, "Prashant Upadhyaya" <prashant.upadhyaya@aricent.com>
wrote:

>Hi Pravin,
>
>Request you to please validate atleast one method to interface VM's with
>your innovative dpdk port on the OVS.
>Preferably IVSHM.
>Please do publish the steps for that too.
>
>We really need the above for huge acceptance.
>
>Regards
>-Prashant
>
>
>-----Original Message-----
>From: Pravin Shelar [mailto:pshelar@nicira.com]
>Sent: Thursday, January 30, 2014 3:00 AM
>To: Prashant Upadhyaya
>Cc: dev@openvswitch.org; dev@dpdk.org; dpdk-ovs@lists.01.org; Gerald
>Rogers
>Subject: Re: [dpdk-dev] [PATCH RFC] dpif-netdev: Add support Intel DPDK
>based ports.
>
>On Wed, Jan 29, 2014 at 12:56 AM, Prashant Upadhyaya
><prashant.upadhyaya@aricent.com> wrote:
>> Hi Pravin,
>>
>> I think your stuff is on the brink of a creating a mini revolution :)
>>
>> Some questions inline below --
>> +    ovs-vsctl add-port br0 dpdk0 -- set Interface dpdk0 type=dpdk
>> What do you mean by portid here, do you mean the physical interface id
>>like eth0 which I have bound to igb_uio now ?
>> If I have multiple interfaces I have assigned igb_uio to, eg. eth0,
>>eth1, eth2 etc., what is the id mapping for those ?
>>
>Port id is id assigned by DPDK. DPDK interface takes this port id as
>argument. Currently you need to look at pci id to figure out the device
>mapping to port id. I know it is clean and I am exploring better
>interface so that we can specify device names to ovs-vsctl.
>
>> If I have VM's running, then typically how to interface those VM's to
>>this OVS in user space now, do I use the same classical 'tap' interface
>>and add it to the OVS above.
>
>tap device will work, but you would not get performance primarily due to
>scheduling delay and memcopy.
>DPDK has multiple drivers to create interface with KVM guests OS.
>those should perform better. I have no tried it yet.
>
>> What is the actual path the data takes from the VM now all the way to
>>the switch, wouldn't it be hypervisor to kernel to OVS switch in user
>>space to other VM/Network ?
>
>Depends on method you use. e.g. Memnic bypass hypervisor and host kernel
>entirely.
>
>> I think if we can solve the VM to OVS port connectivity remaining in
>>userspace only, then we have a great thing at our hand. Kindly comment
>>on this.
>>
>right, performance looks pretty good. Still DPDK needs constant polling
>which consumes more power. RFC ovs-dkdp patch has simple polling which
>need tweaking for better power usage.
>
>Thanks,
>Pravin.
>
>
>
>> Regards
>> -Prashant
>>
>>
>
>
>
>
>==========================================================================
>=====
>Please refer to http://www.aricent.com/legal/email_disclaimer.html
>for important disclosures regarding this electronic communication.
>==========================================================================
>=====

  reply	other threads:[~2014-01-30 16:27 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-28  1:48 pshelar
     [not found] ` <20140128044950.GA4545@nicira.com>
2014-01-28  5:28   ` [dpdk-dev] [ovs-dev] " Pravin Shelar
2014-01-28 14:47     ` [dpdk-dev] " Vincent JARDIN
2014-01-28 17:56       ` Pravin Shelar
2014-01-29  0:15         ` Vincent JARDIN
2014-01-29 19:32           ` Pravin Shelar
     [not found]       ` <52E7D2A8.400@redhat.com>
2014-01-28 18:20         ` [dpdk-dev] [ovs-dev] " Pravin Shelar
     [not found] ` <52E7D13B.9020404@redhat.com>
2014-01-28 18:17   ` Pravin Shelar
2014-01-29  8:15     ` Thomas Graf
2014-01-29 10:26       ` Vincent JARDIN
2014-01-29 11:14         ` Thomas Graf
2014-01-29 16:34           ` Vincent JARDIN
2014-01-29 17:14             ` Thomas Graf
2014-01-29 18:42               ` Stephen Hemminger
2014-01-29 20:47               ` François-Frédéric Ozog
2014-01-29 23:15                 ` Thomas Graf
2014-03-13  7:37                 ` David Nyström
2014-01-29  8:56 ` [dpdk-dev] " Prashant Upadhyaya
2014-01-29 21:29   ` Pravin Shelar
2014-01-30 10:15     ` Prashant Upadhyaya
2014-01-30 16:27       ` Rogers, Gerald [this message]
2014-01-29 10:01 ` [dpdk-dev] [ovs-dev] " Thomas Graf
2014-01-29 21:49   ` Pravin Shelar

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=CF0FC6BA.4619C%gerald.rogers@intel.com \
    --to=gerald.rogers@intel.com \
    --cc=dev@dpdk.org \
    --cc=dev@openvswitch.org \
    --cc=dpdk-ovs@lists.01.org \
    --cc=prashant.upadhyaya@aricent.com \
    --cc=pshelar@nicira.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).