DPDK patches and discussions
 help / color / mirror / Atom feed
From: Pravin Shelar <pshelar@nicira.com>
To: Thomas Graf <tgraf@redhat.com>
Cc: "dev@openvswitch.org" <dev@openvswitch.org>,
	dev@dpdk.org, Gerald Rogers <gerald.rogers@intel.com>,
	dpdk-ovs@ml01.01.org
Subject: Re: [dpdk-dev] [ovs-dev] [PATCH RFC] dpif-netdev: Add support Intel DPDK based ports.
Date: Tue, 28 Jan 2014 10:17:04 -0800	[thread overview]
Message-ID: <CALnjE+rP29s8mkiKPtppt-a8jMn-B2qS7+re2ZBd8bK46ozUPA@mail.gmail.com> (raw)
In-Reply-To: <52E7D13B.9020404@redhat.com>

On Tue, Jan 28, 2014 at 7:48 AM, Thomas Graf <tgraf@redhat.com> wrote:
> On 01/28/2014 02:48 AM, pshelar@nicira.com wrote:
>>
>> From: Pravin B Shelar <pshelar@nicira.com>
>>
>> Following patch adds DPDK netdev-class to userspace datapath.
>> Approach taken in this patch differs from Intel® DPDK vSwitch
>> where DPDK datapath switching is done in saparate process.  This
>> patch adds support for DPDK type port and uses OVS userspace
>> datapath for switching.  Therefore all DPDK processing and flow
>> miss handling is done in single process.  This also avoids code
>> duplication by reusing OVS userspace datapath switching and
>> therefore it supports all flow matching and actions that
>> user-space datapath supports.  Refer to INSTALL.DPDK doc for
>> further info.
>>
>> With this patch I got similar performance for netperf TCP_STREAM
>> tests compared to kernel datapath.
>
>
> I'm happy to see this happen!
>
>
>
>> +static const struct rte_eth_conf port_conf = {
>> +        .rxmode = {
>> +                .mq_mode = ETH_MQ_RX_RSS,
>> +                .split_hdr_size = 0,
>> +                .header_split   = 0, /* Header Split disabled */
>> +                .hw_ip_checksum = 0, /* IP checksum offload enabled */
>> +                .hw_vlan_filter = 0, /* VLAN filtering disabled */
>> +                .jumbo_frame    = 0, /* Jumbo Frame Support disabled */
>> +                .hw_strip_crc   = 0, /* CRC stripped by hardware */
>> +        },
>> +        .rx_adv_conf = {
>> +                .rss_conf = {
>> +                        .rss_key = NULL,
>> +                        .rss_hf = ETH_RSS_IPV4_TCP | ETH_RSS_IPV4 |
>> ETH_RSS_IPV6,
>> +                },
>> +        },
>> +        .txmode = {
>> +                .mq_mode = ETH_MQ_TX_NONE,
>> +        },
>> +};
>
>
> I realize this is an RFC patch but I will ask anyway:
>
> What are the plans on managing runtime dependencies of a DPDK enabled OVS
> and DPDK itself? Will a OVS built against DPDK 1.5.2 work with
> drivers written for 1.5.3?
>
> Based on the above use of struct rte_eth_conf it would seem that once
> released, rte_eth_conf cannot be extended anymore without breaking
> ABI compatibility. The same applies to many of the other user
> structures. I see various structures changes between minor releases,
> for example dpdk.org ed2c69c3ef7 between 1.5.1 and 1.5.2.
>

Right, version mismatch will not work. API provided by DPDK are not
stable, So OVS has to be built for different releases for now.

I do not see how we can fix it from OVS side. DPDK needs to
standardize API, Actually OVS also needs more API, like DPDK
initialization, mempool destroy, etc.

  parent reply	other threads:[~2014-01-28 18:15 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-28  1:48 [dpdk-dev] " 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 [this message]
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
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=CALnjE+rP29s8mkiKPtppt-a8jMn-B2qS7+re2ZBd8bK46ozUPA@mail.gmail.com \
    --to=pshelar@nicira.com \
    --cc=dev@dpdk.org \
    --cc=dev@openvswitch.org \
    --cc=dpdk-ovs@ml01.01.org \
    --cc=gerald.rogers@intel.com \
    --cc=tgraf@redhat.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).