DPDK patches and discussions
 help / color / mirror / Atom feed
From: Maxime Coquelin <maxime.coquelin@redhat.com>
To: Pankaj Chauhan <pankaj.chauhan@nxp.com>, dev@dpdk.org
Cc: hemant.agrawal@nxp.com, shreyansh.jain@nxp.com,
	jianfeng.tan@intel.com, yuanhan.liu@linux.intel.com
Subject: Re: [dpdk-dev] [RFC][PATCH 0/3] example/vhost: Introduce Vswitch Framework
Date: Fri, 26 Aug 2016 18:56:44 +0200	[thread overview]
Message-ID: <c82d8197-e92f-ee42-7906-d66e4707dec0@redhat.com> (raw)
In-Reply-To: <1472315186-28090-1-git-send-email-pankaj.chauhan@nxp.com>



On 08/27/2016 06:26 PM, Pankaj Chauhan wrote:
> Introduce generic vswitch framework in vhost-switch application. Following
> are the goals/aim of the framework:
>
> 1. Make vhost-switch application generic so that it can support devices
> which don't support VMDQ.
>
> 2. Provide a framework so that any switching logic (generic in software or
> vendor specefic like VMDQ) can work with vhost-switch. Thus making vhost-switch
> applicable for multiple platforms of different vendors.
>
> 3. Make vhost-switch and switching logic scalable in terms of ports or policies
> of doing rx/tx across the ports added to switch.
>
> The patchset includes three patches:
> 1. "Add vswitch(generic switch) framework": This adds the generic framework, it provides
> the APIs/accessor functions which the vhos-switch application uses without knowing
> anything about underlying switching logic. The framework introduces the concept of
> vswitch_device, vswitch_port, and vswitch_ops. The idea is that vhost-switch will
> sit over the framework and different switching logics will plug into the framework
> underneath it. Please refer the patch description for more details of devices, ports
> and ops.
>
> 2. "Add vswitch command line options": Adds two new command line options for vswitch.
> 3. "Add VMDQ vswitch device": This patch basically delinks existing vhost/main.[c,h]
> from VMDQ and adds VMDQ as a vswitch device implmentation which plugs into the vswitch
> framework. Any other vendor logic for switching can also be plugged in same way.
>
> Thanks to Tan Jianfeng, Yuanhan Liu, Maxime coquelin for early discussions and inputs
> on this concept.
>
> ** Caution and disclaimer **
> 1. The patch set is not tested, it just compiles fine: I just finished the coding and
> sending the RFC patch so that it can be reviewed early. In parallel i will start testing it
> and therefore please forgive if you find some code which you think will crash shamelessly
> (i know it will crash :), it is not tested). So please review the concept, meanwhile
> i will test and  send the next version soon.
>
> 2. This patchset is first step towards using vhost-switch on platforms other than
> intel and making it generic. It is no way complete, so i expect that we discuss/develop
> toghether towards the goals i mentioned in this cover letter.
>
> TODO list:
> 1. Test obviously : i will do it in comming week, once basic things are working i will
> send another version which you can use for your testing. Till then don't spend your
> time in test because i am sure it will waste your time for my silly mistakes.
>
> 2. Addd constructor based logic for registration of Vswitch implmentations like VMDQ.
> we will use similar mechanism as registration of PMD drivers (base on constructor function)
> to register all the switch implmentations in vhost-switch and then select the required
> implementation using command line option 'switch'.
>
> Pankaj Chauhan (3):
>   examples/vhost: Add vswitch (generic switch) framework
>   examples/vhost: Add vwitch command line options
>   examples/vhost: Add VMDQ vswitch device
>
>  examples/vhost/Makefile         |   2 +-
>  examples/vhost/main.c           | 603 +++++++++++--------------------------
>  examples/vhost/main.h           |  10 +
>  examples/vhost/vmdq.c           | 649 ++++++++++++++++++++++++++++++++++++++++
>  examples/vhost/vmdq.h           |  59 ++++
>  examples/vhost/vswitch_common.c | 467 +++++++++++++++++++++++++++++
>  examples/vhost/vswitch_common.h | 175 +++++++++++
>  7 files changed, 1528 insertions(+), 437 deletions(-)
>  create mode 100644 examples/vhost/vmdq.c
>  create mode 100644 examples/vhost/vmdq.h
>  create mode 100644 examples/vhost/vswitch_common.c
>  create mode 100644 examples/vhost/vswitch_common.h
>

Thanks Pankaj, that was fast for such a big change!
I'll start the review beginning of next week.

Regards,
Maxime

  reply	other threads:[~2016-08-26 16:56 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-27 16:26 Pankaj Chauhan
2016-08-26 16:56 ` Maxime Coquelin [this message]
2016-08-27 16:26 ` [dpdk-dev] [RFC][PATCH 1/3] examples/vhost: Add vswitch (generic switch) framework Pankaj Chauhan
2016-09-02 14:17   ` Maxime Coquelin
2016-09-03 15:28     ` Pankaj Chauhan
2016-08-27 16:26 ` [dpdk-dev] [RFC][PATCH 2/3] examples/vhost: Add vswitch command line options Pankaj Chauhan
2016-09-02 14:44   ` Maxime Coquelin
2016-09-03 15:29     ` Pankaj Chauhan
2016-08-27 16:26 ` [dpdk-dev] [RFC][PATCH 3/3] examples/vhost: Add VMDQ vswitch device Pankaj Chauhan

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=c82d8197-e92f-ee42-7906-d66e4707dec0@redhat.com \
    --to=maxime.coquelin@redhat.com \
    --cc=dev@dpdk.org \
    --cc=hemant.agrawal@nxp.com \
    --cc=jianfeng.tan@intel.com \
    --cc=pankaj.chauhan@nxp.com \
    --cc=shreyansh.jain@nxp.com \
    --cc=yuanhan.liu@linux.intel.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).