All of lore.kernel.org
 help / color / mirror / Atom feed
From: Neil Horman <nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
To: Thomas Monjalon
	<thomas.monjalon-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
Cc: dev-VfR2kkLFssw@public.gmane.org
Subject: Re: [PATCH v2 07/11 1/2] vdev: new registration API
Date: Sat, 12 Apr 2014 07:03:17 -0400	[thread overview]
Message-ID: <20140412110317.GA30887@hmsreliant.think-freely.org> (raw)
In-Reply-To: <24514389.3vY1j6NNAg@x220>

On Sat, Apr 12, 2014 at 08:05:22AM +0200, Thomas Monjalon wrote:
> Hi Bruce,
> 
> 11/04/2014 20:08, Richardson, Bruce :
> > From: Neil Horman
> > > On Fri, Apr 11, 2014 at 06:18:08PM +0200, Thomas Monjalon wrote:
> > > > It seems that your patch is not removing
> > > > rte_eth_ring_pair_create/rte_eth_ring_pair_attach so I'm not sure you
> > > > can dynamically change the PMD in this case.
> > > 
> > > Ew, I had missed those calls.  Yes, those should be encapsulated as some
> > > driver ops or some such.  I'll look at that when I rebase.  Regardless
> > > however, I didn't mean to state that pmds could be switched while
> > > running, only that the pmd to use could be specified at run time. 
> > > Though, you're correct, pmd_ring doesn't seem to hold in line with the
> > > other pmds in their isolation.
> > 
> > The ring PMD is probably best treated separately from the other PMDs as it's
> > not really a device poll-mode driver. Instead, it's a general library that
> > presents an API to make a ring, or set of rings, appear as a poll-mode
> > driver ethdev. The EAL command to have one created at startup time was just
> > an addon after-the-fact in case someone might find it useful :-). However,
> > it's primary purpose was to allow applications to be written which could
> > use physical NICs or rings interchangeably. For example, an app with
> > multiple stages in a pipeline, where each stage just reads from an ethdev
> > without caring if it's actually reading from a port or from packets sent
> > from another lcore/function etc. Another example might be where an
> > application wishes to sometimes loop packets back to itself, in this case
> > it uses the C API to create an additional ring ethdev which it uses as
> > output port for any packets it wants looped back - no special handling
> > needed, everything is an ethdev to it on which it calls rx_burst or
> > tx_burst. It's also likely that in future we will develop other libraries
> > which wish to present their functionality via rx_burst/tx_burst functions
> > i.e. as an ethdev.
> 
> I think you are describing a vdev and you want to be able to instantiate this 
> vdev in your application code. Right?
> So why not make a generic API to be able to instantiate a vdev?
> 
+1, thats exactly what you're describing richard, an ethernet device thats
backed by rings (or pipes, or whatever other non-phycial transport you want to
use).  Though we already have a method to generically instantiate a vdev, its
the --vdev option in the eal library.  It seems to me the simplest solution here
is to remove the ring_create/attach api from public accessibility, and call it
directly from the pmd init routine by passing parameters to it through the
--vdev command line argument.  I've actually got that in the patch series that
I'm rebasing for the PMD DSO cleanups.

Neil

> -- 
> Thomas
> 

  reply	other threads:[~2014-04-12 11:03 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-28 17:25 [PATCH 00/11] eal: allow virtual pmd drivers as shared lib Olivier Matz
     [not found] ` <1393608350-4431-1-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-02-28 17:25   ` [PATCH 01/11] mk: use whole-archive option when creating dpdk binaries Olivier Matz
     [not found]     ` <1393608350-4431-2-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-04-10 13:58       ` Thomas Monjalon
2014-02-28 17:25   ` [PATCH 02/11] devices-args: introduce rte_devargs in eal Olivier Matz
     [not found]     ` <1393608350-4431-3-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-02-28 21:39       ` Stephen Hemminger
     [not found]         ` <20140228133929.03844b24-We1ePj4FEcvRI77zikRAJc56i+j3xesD0e7PPNI6Mm0@public.gmane.org>
2014-03-01 12:02           ` Olivier MATZ
     [not found]             ` <5311CC3E.1010804-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-03-01 12:14               ` [PATCH v2 " Olivier Matz
     [not found]                 ` <1393676055-17655-1-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-04-10 13:59                   ` Thomas Monjalon
2014-02-28 17:25   ` [PATCH 03/11] devices-args: use rte_devargs and remove old whitelist code Olivier Matz
     [not found]     ` <1393608350-4431-4-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-03-01 12:14       ` [PATCH v2 " Olivier Matz
     [not found]         ` <1393676074-17703-1-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-04-10 14:01           ` Thomas Monjalon
2014-02-28 17:25   ` [PATCH 04/11] devices-args: add a dump_devargs command in basic test application Olivier Matz
     [not found]     ` <1393608350-4431-5-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-04-10 14:02       ` Thomas Monjalon
2014-02-28 17:25   ` [PATCH 05/11] pci: rename device_list as pci_device_list Olivier Matz
     [not found]     ` <1393608350-4431-6-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-04-10 14:03       ` Thomas Monjalon
2014-02-28 17:25   ` [PATCH 06/11] vdev: rename eal_common_nonpci_devs.c as eal_common_vdev.c Olivier Matz
     [not found]     ` <1393608350-4431-7-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-04-10 14:39       ` Thomas Monjalon
2014-04-11  7:36         ` [PATCH v2 06/11] vdev: rename nonpci_devs as vdev Olivier Matz
     [not found]           ` <1397201793-26580-1-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-04-11 11:25             ` Thomas Monjalon
2014-04-11 11:45               ` [PATCH v3 " Olivier Matz
     [not found]                 ` <1397216703-30301-1-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-04-11 12:37                   ` Thomas Monjalon
2014-02-28 17:25   ` [PATCH 07/11] vdev: allow external registration of virtual device drivers Olivier Matz
     [not found]     ` <1393608350-4431-8-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-04-10 14:55       ` Thomas Monjalon
2014-04-11  7:36         ` [PATCH v2 07/11 1/2] vdev: new registration API Olivier Matz
     [not found]           ` <1397201813-26627-1-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-04-11  7:36             ` [PATCH v2 07/11 2/2] vdev: allow external registration of virtual device drivers Olivier Matz
     [not found]               ` <1397201813-26627-2-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-04-11 14:31                 ` Thomas Monjalon
2014-04-11 10:49             ` [PATCH v2 07/11 1/2] vdev: new registration API Neil Horman
     [not found]               ` <20140411104929.GA911-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-04-11 13:11                 ` Thomas Monjalon
2014-04-11 15:50                   ` Neil Horman
     [not found]                     ` <20140411155000.GD911-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-04-11 16:18                       ` Thomas Monjalon
2014-04-11 17:44                         ` Neil Horman
     [not found]                           ` <20140411174454.GE911-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-04-11 20:08                             ` Richardson, Bruce
     [not found]                               ` <59AF69C657FD0841A61C55336867B5B01A9FC02F-kPTMFJFq+rELt2AQoY/u9bfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-04-12  6:05                                 ` Thomas Monjalon
2014-04-12 11:03                                   ` Neil Horman [this message]
     [not found]                                     ` <20140412110317.GA30887-B26myB8xz7F8NnZeBjwnZQMhkBWG/bsMQH7oEaQurus@public.gmane.org>
2014-04-12 11:23                                       ` Richardson, Bruce
     [not found]                                         ` <59AF69C657FD0841A61C55336867B5B01A9FC150-kPTMFJFq+rELt2AQoY/u9bfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-04-12 14:06                                           ` Neil Horman
2014-04-14 13:20                                   ` John W. Linville
     [not found]                                     ` <20140414132053.GA27324-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-04-14 13:45                                       ` Thomas Monjalon
2014-04-14 13:54                                         ` Neil Horman
2014-04-14 14:10                                         ` John W. Linville
     [not found]                                           ` <20140414141030.GB27324-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
2014-04-14 14:39                                             ` Thomas Monjalon
2014-04-11 14:31             ` Thomas Monjalon
2014-02-28 17:25   ` [PATCH 08/11] device-args: use a comma instead of semicolon to separate key/values Olivier Matz
     [not found]     ` <1393608350-4431-9-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-04-10 14:05       ` Thomas Monjalon
2014-02-28 17:25   ` [PATCH 09/11] device-args: replace use-device eal option by pci-whitelist and vdev Olivier Matz
     [not found]     ` <1393608350-4431-10-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-03-01 12:14       ` [PATCH v2 " Olivier Matz
     [not found]         ` <1393676085-17745-1-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-04-10 14:06           ` Thomas Monjalon
2014-03-03 17:14       ` [PATCH " Richardson, Bruce
     [not found]         ` <59AF69C657FD0841A61C55336867B5B01A9A16C7-kPTMFJFq+rELt2AQoY/u9bfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-03-04 13:09           ` Olivier MATZ
     [not found]             ` <5315D081.20506-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-03-04 13:14               ` Richardson, Bruce
     [not found]                 ` <59AF69C657FD0841A61C55336867B5B01A9A1AC3-kPTMFJFq+rELt2AQoY/u9bfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-03-24 22:39                   ` Thomas Monjalon
2014-02-28 17:25   ` [PATCH 10/11] device-args: allow to provide per pci device command line arguments Olivier Matz
     [not found]     ` <1393608350-4431-11-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-03-01 12:14       ` [PATCH v2 " Olivier Matz
     [not found]         ` <1393676094-17787-1-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-04-10 14:06           ` Thomas Monjalon
2014-02-28 17:25   ` [PATCH 11/11] testpmd: add several dump commands, useful for debug Olivier Matz
     [not found]     ` <1393608350-4431-12-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-03-01 12:15       ` [PATCH v2 " Olivier Matz
     [not found]         ` <1393676101-17830-1-git-send-email-olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-04-10 14:08           ` Thomas Monjalon

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=20140412110317.GA30887@hmsreliant.think-freely.org \
    --to=nhorman-2xusbdqka4r54taoqtywwq@public.gmane.org \
    --cc=dev-VfR2kkLFssw@public.gmane.org \
    --cc=thomas.monjalon-pdR9zngts4EAvxtiuMwx3w@public.gmane.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.