DPDK patches and discussions
 help / color / mirror / Atom feed
From: Tomasz Duszynski <tdu@semihalf.com>
To: Ferruh Yigit <ferruh.yigit@intel.com>
Cc: Tomasz Duszynski <tdu@semihalf.com>,
	dev@dpdk.org, mw@semihalf.com, dima@marvell.com,
	nsamsono@marvell.com, Jianbo.liu@linaro.org,
	Jacek Siuda <jck@semihalf.com>
Subject: Re: [dpdk-dev] [PATCH v3 2/4] net/mrvl: add mrvl net pmd driver
Date: Thu, 5 Oct 2017 10:43:33 +0200	[thread overview]
Message-ID: <20171005084333.GA20961@tdu> (raw)
In-Reply-To: <a829c500-48c3-5a92-d9d6-97429dea711b@intel.com>

On Wed, Oct 04, 2017 at 05:59:11PM +0100, Ferruh Yigit wrote:
> On 10/4/2017 9:59 AM, Tomasz Duszynski wrote:
> > On Wed, Oct 04, 2017 at 01:24:27AM +0100, Ferruh Yigit wrote:
> >> On 10/3/2017 12:51 PM, Tomasz Duszynski wrote:
> >>> Add support for the Marvell PPv2 (Packet Processor v2) 1/10 Gbps adapter.
> >>> Driver is based on external, publicly available, light-weight Marvell
> >>> MUSDK library that provides access to network packet processor.
> >>>
> >>> Driver comes with support for the following features:
> >>>
> >>> * Speed capabilities
> >>> * Link status
> >>> * Queue start/stop
> >>> * MTU update
> >>> * Jumbo frame
> >>> * Promiscuous mode
> >>> * Allmulticast mode
> >>> * Unicast MAC filter
> >>> * Multicast MAC filter
> >>> * RSS hash
> >>> * VLAN filter
> >>> * CRC offload
> >>> * L3 checksum offload
> >>> * L4 checksum offload
> >>> * Packet type parsing
> >>> * Basic stats
> >>> * Stats per queue
> >>
> >> I have more detailed comments but in high level,
> >> what do you think splitting this patch into three patches:
> >> - Skeleton
> >> - Add Rx/Tx support
> >> - Add features, like MTU update or Promiscuous etc.. support
> > If it's how submission process works then I think you left me with no
> > other option than splitting driver into nice patchset :).
>
> No, there is no defined submission process.
>
> > On the other
> > hand driver is really a wrapper to MUSDK library and thus quite easy to
> > follow. What are the benefits of such 3-way split?
>
> To help others review/understand your code. Big code chunks are scary
> and I believe most of details gets lost in big code chunks.
>
> When someone from community wants to understand and update/improve/fix
> your code, to help them by logically split the code that their focus can
> go into more narrow part.
>
> But this also means some effort in your side, so some kind of balance is
> required.
>
> I think splitting patch into smaller logical part is helpful for others,
> what do you think, is it too much effort?
>

Fair enough. I'll split the driver as suggested. A few specific
questions about functionality each patch should contain though.

As for skeleton, I see others just put driver probing here.

As for Rx/Tx support it seems that there's no common pattern.
Functionality like starting/stopping device, queues configuration
and all the other things related to Rx/Tx should be here as well?

What's left are features which go into features-patch.

> >>
> >>>
> >>> Driver was engineered cooperatively by Semihalf and Marvell teams.
> >>>
> >>> Semihalf:
> >>> Jacek Siuda <jck@semihalf.com>
> >>> Tomasz Duszynski <tdu@semihalf.com>
> >>>
> >>> Marvell:
> >>> Dmitri Epshtein <dima@marvell.com>
> >>> Natalie Samsonov <nsamsono@marvell.com>
> >>>
> >>> Signed-off-by: Jacek Siuda <jck@semihalf.com>
> >>> Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
> >>
> >> <...>
> >>
> >>> +static struct rte_vdev_driver pmd_mrvl_drv = {
> >>> +	.probe = rte_pmd_mrvl_probe,
> >>> +	.remove = rte_pmd_mrvl_remove,
> >>> +};
> >>> +
> >>> +RTE_PMD_REGISTER_VDEV(net_mrvl, pmd_mrvl_drv);
> >>
> >> Please help me understand.
> >>
> >> This driver implemented as virtual driver, because:
> >> With the help of custom kernel modules, musdk library already provides
> >> userspace datapath support. This PMD is an interface to musdk library.
> >> Is this correct?
> > That is right. Another reason this NIC is not PCI device.
>
> We support more bus now :). Out of curiosity, which bus is device on?

Bus is called Aurora2. That's proprietary SoC interconnect fabric.

>
> >>
> >> If so, just thinking loud:
> >> - Why not implement this PMD directly on top of kernel interface,
> >> removing musdk layer completely?
> >> - How big problem that this PMD depends on custom kernel code?
> > I think the main reason is that MUSDK is already used in different projects.
> > Keeping multiple codebases offering similar functionality would be quite
> > demanding in terms of extra work needed.
> >> - How library and custom kernel code delivered? For which platforms?
> > Kernel and library sources are hosted on publicly available repository.
>
> I guess it would be nice to highlight custom kernel with external
> patches is required. This is not mentioned in "Prerequisites" section of
> the document.
>

ACK

> > Driver was tested on Armada 7k/8k SoCs.
>
> Can you please provide link to the HW mentioned in documentation?
>

You can find some info here:

https://www.marvell.com/embedded-processors/armada-70xx/
https://www.marvell.com/embedded-processors/armada-80xx/

> >>
> >> <....>
> >>
> >
> > --
> > - Tomasz Duszyński
> >
>

--
- Tomasz Duszyński

  reply	other threads:[~2017-10-05  8:43 UTC|newest]

Thread overview: 110+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-26  9:39 [dpdk-dev] [PATCH 0/8] add net/crypto mrvl pmd drivers Tomasz Duszynski
2017-09-26  9:39 ` [dpdk-dev] [PATCH 1/8] app: link the whole rte_cfgfile library Tomasz Duszynski
2017-09-26 14:31   ` Bruce Richardson
2017-09-27  7:36     ` Tomasz Duszynski
2017-09-27 12:01       ` Bruce Richardson
2017-09-26  9:39 ` [dpdk-dev] [PATCH 2/8] net/mrvl: add mrvl net pmd driver Tomasz Duszynski
2017-09-26  9:40 ` [dpdk-dev] [PATCH 3/8] doc: add mrvl net pmd documentation Tomasz Duszynski
2017-09-26  9:40 ` [dpdk-dev] [PATCH 4/8] maintainers: add maintainers for the mrvl net pmd Tomasz Duszynski
2017-09-26  9:40 ` [dpdk-dev] [PATCH 5/8] crypto/mrvl: add mrvl crypto pmd driver Tomasz Duszynski
2017-09-26  9:40 ` [dpdk-dev] [PATCH 6/8] doc: add mrvl crypto pmd documentation Tomasz Duszynski
2017-09-26  9:40 ` [dpdk-dev] [PATCH 7/8] maintainers: add maintainers for the mrvl crypto pmd Tomasz Duszynski
2017-09-26  9:40 ` [dpdk-dev] [PATCH 8/8] test: add mrvl crypto pmd unit tests Tomasz Duszynski
2017-09-27  9:40 ` [dpdk-dev] [PATCH 0/8] add net/crypto mrvl pmd drivers De Lara Guarch, Pablo
2017-09-27 10:59   ` Tomasz Duszynski
2017-09-28 10:22 ` [dpdk-dev] [PATCH v2 0/4] add net mrvl pmd driver Tomasz Duszynski
2017-09-28 10:22   ` [dpdk-dev] [PATCH v2 1/4] app: link the whole rte_cfgfile library Tomasz Duszynski
2017-10-03 11:51     ` [dpdk-dev] [PATCH v3 0/4] add net mrvl pmd driver Tomasz Duszynski
2017-10-03 11:51       ` [dpdk-dev] [PATCH v3 1/4] app: link the whole rte_cfgfile library Tomasz Duszynski
2017-10-03 11:51       ` [dpdk-dev] [PATCH v3 2/4] net/mrvl: add mrvl net pmd driver Tomasz Duszynski
2017-10-04  0:24         ` Ferruh Yigit
2017-10-04  8:59           ` Tomasz Duszynski
2017-10-04 16:59             ` Ferruh Yigit
2017-10-05  8:43               ` Tomasz Duszynski [this message]
2017-10-05 17:29                 ` Ferruh Yigit
2017-10-06  6:41                   ` Tomasz Duszynski
2017-10-10 21:25                 ` Thomas Monjalon
2017-10-04  0:28         ` Ferruh Yigit
2017-10-04 13:19           ` Tomasz Duszynski
2017-10-05 17:37             ` Ferruh Yigit
2017-10-03 11:51       ` [dpdk-dev] [PATCH v3 3/4] doc: add mrvl net pmd documentation Tomasz Duszynski
2017-10-04  0:29         ` Ferruh Yigit
2017-10-04  7:53           ` Tomasz Duszynski
2017-10-03 11:51       ` [dpdk-dev] [PATCH v3 4/4] maintainers: add maintainers for the mrvl net pmd Tomasz Duszynski
2017-10-09 15:00       ` [dpdk-dev] [PATCH v4 00/16] add net mrvl pmd driver Tomasz Duszynski
2017-10-09 15:00         ` [dpdk-dev] [PATCH v4 01/16] app: link the whole rte_cfgfile library Tomasz Duszynski
2017-10-09 15:00         ` [dpdk-dev] [PATCH v4 02/16] net/mrvl: add mrvl net pmd driver skeleton Tomasz Duszynski
2017-10-11 13:38           ` Thomas Monjalon
2017-10-12  6:51             ` Tomasz Duszynski
2017-10-12  7:59               ` Vincent JARDIN
2017-10-12 12:14                 ` Jacek Siuda
2017-10-12 13:57                   ` Vincent JARDIN
2017-10-09 15:00         ` [dpdk-dev] [PATCH v4 03/16] net/mrvl: add rx/tx support Tomasz Duszynski
2017-10-09 15:00         ` [dpdk-dev] [PATCH v4 04/16] net/mrvl: add link update Tomasz Duszynski
2017-10-09 15:00         ` [dpdk-dev] [PATCH v4 05/16] net/mrvl: add link speed capabilities Tomasz Duszynski
2017-10-09 15:00         ` [dpdk-dev] [PATCH v4 06/16] net/mrvl: add support for updating mtu Tomasz Duszynski
2017-10-09 15:00         ` [dpdk-dev] [PATCH v4 07/16] net/mrvl: add jumbo frame support Tomasz Duszynski
2017-10-09 15:00         ` [dpdk-dev] [PATCH v4 08/16] net/mrvl: add support for promiscuous and allmulticast modes Tomasz Duszynski
2017-10-09 15:00         ` [dpdk-dev] [PATCH v4 09/16] net/mrvl: add support for mac filtering Tomasz Duszynski
2017-10-09 15:00         ` [dpdk-dev] [PATCH v4 10/16] net/mrvl: add rss hashing support Tomasz Duszynski
2017-10-09 15:00         ` [dpdk-dev] [PATCH v4 11/16] net/mrvl: add support for vlan filtering Tomasz Duszynski
2017-10-09 15:00         ` [dpdk-dev] [PATCH v4 12/16] net/mrvl: add crc, l3 and l4 offloads support Tomasz Duszynski
2017-10-09 15:00         ` [dpdk-dev] [PATCH v4 13/16] net/mrvl: add packet type parsing support Tomasz Duszynski
2017-10-09 15:00         ` [dpdk-dev] [PATCH v4 14/16] net/mrvl: add basic stats support Tomasz Duszynski
2017-10-09 15:00         ` [dpdk-dev] [PATCH v4 15/16] maintainers: add maintainers for the mrvl net pmd Tomasz Duszynski
2017-10-09 19:02           ` Ferruh Yigit
2017-10-09 19:09             ` Marcin Wojtas
2017-10-09 19:12               ` Ferruh Yigit
2017-10-10  5:47             ` Tomasz Duszynski
2017-10-10  3:20           ` Jianbo Liu
2017-10-10  4:38             ` Ferruh Yigit
2017-10-09 15:00         ` [dpdk-dev] [PATCH v4 16/16] doc: add mrvl net pmd documentation Tomasz Duszynski
2017-10-09 20:54           ` Ferruh Yigit
2017-10-10  5:51             ` Tomasz Duszynski
2017-10-11 14:27           ` Thomas Monjalon
2017-10-12  2:01             ` Thomas Monjalon
2017-10-09 20:59         ` [dpdk-dev] [PATCH v4 00/16] add net mrvl pmd driver Ferruh Yigit
2017-10-10  0:25           ` Ferruh Yigit
2017-10-10  7:07             ` Tomasz Duszynski
2017-10-10  5:55           ` Tomasz Duszynski
2017-10-12  1:51           ` Ferruh Yigit
2017-10-12  2:37             ` [dpdk-dev] [PATCH] doc: add build steps to mrvl NIC guide Thomas Monjalon
2017-10-12  6:28               ` Tomasz Duszynski
2017-10-12  8:02                 ` Thomas Monjalon
2017-10-12  6:07             ` [dpdk-dev] [PATCH v4 00/16] add net mrvl pmd driver Tomasz Duszynski
2017-09-28 10:22   ` [dpdk-dev] [PATCH v2 2/4] net/mrvl: add mrvl net " Tomasz Duszynski
2017-09-29 15:38     ` Stephen Hemminger
2017-10-02 11:08       ` Bruce Richardson
2017-10-03  6:33         ` Tomasz Duszynski
2017-10-03  6:23       ` Tomasz Duszynski
2017-09-28 10:22   ` [dpdk-dev] [PATCH v2 3/4] doc: add mrvl net pmd documentation Tomasz Duszynski
2017-09-28 10:22   ` [dpdk-dev] [PATCH v2 4/4] maintainers: add maintainers for the mrvl net pmd Tomasz Duszynski
2017-09-28 11:06   ` [dpdk-dev] [PATCH v2 0/4] add net mrvl pmd driver Ferruh Yigit
2017-09-28 11:40     ` Amit Tomer
2017-09-28 12:01       ` Marcin Wojtas
2017-09-28 10:23 ` [dpdk-dev] [PATCH v2 0/4] add crypto " Tomasz Duszynski
2017-09-28 10:23   ` [dpdk-dev] [PATCH v2 1/4] crypto/mrvl: add mrvl crypto " Tomasz Duszynski
2017-10-05 15:01     ` De Lara Guarch, Pablo
2017-10-06  7:24       ` Tomasz Duszynski
2017-10-05 15:47     ` Bruce Richardson
2017-10-06  7:05       ` Tomasz Duszynski
2017-09-28 10:23   ` [dpdk-dev] [PATCH v2 2/4] doc: add mrvl crypto pmd documentation Tomasz Duszynski
2017-10-05 14:45     ` De Lara Guarch, Pablo
2017-10-06  8:06       ` Tomasz Duszynski
2017-09-28 10:23   ` [dpdk-dev] [PATCH v2 3/4] maintainers: add maintainers for the mrvl crypto pmd Tomasz Duszynski
2017-09-28 10:23   ` [dpdk-dev] [PATCH v2 4/4] test: add mrvl crypto pmd unit tests Tomasz Duszynski
2017-10-07 20:28   ` [dpdk-dev] [PATCH v3 0/4] add crypto mrvl pmd driver Tomasz Duszynski
2017-10-07 20:28     ` [dpdk-dev] [PATCH v3 1/4] crypto/mrvl: add mrvl crypto " Tomasz Duszynski
2017-10-10 10:16       ` De Lara Guarch, Pablo
2017-10-10 10:25         ` Tomasz Duszynski
2017-10-07 20:28     ` [dpdk-dev] [PATCH v3 2/4] doc: add mrvl crypto pmd documentation Tomasz Duszynski
2017-10-07 20:28     ` [dpdk-dev] [PATCH v3 3/4] maintainers: add maintainers for the mrvl crypto pmd Tomasz Duszynski
2017-10-07 20:28     ` [dpdk-dev] [PATCH v3 4/4] test: add mrvl crypto pmd unit tests Tomasz Duszynski
2017-10-10 10:44       ` De Lara Guarch, Pablo
2017-10-10 10:57         ` Tomasz Duszynski
2017-10-10 12:17     ` [dpdk-dev] [PATCH v4 0/4] add crypto mrvl pmd driver Tomasz Duszynski
2017-10-10 12:17       ` [dpdk-dev] [PATCH v4 1/4] crypto/mrvl: add mrvl crypto " Tomasz Duszynski
2017-10-10 12:17       ` [dpdk-dev] [PATCH v4 2/4] doc: add mrvl crypto pmd documentation Tomasz Duszynski
2017-10-10 12:17       ` [dpdk-dev] [PATCH v4 3/4] maintainers: add maintainers for the mrvl crypto pmd Tomasz Duszynski
2017-10-10 12:17       ` [dpdk-dev] [PATCH v4 4/4] test: add mrvl crypto pmd unit tests Tomasz Duszynski
2017-10-12 12:11       ` [dpdk-dev] [PATCH v4 0/4] add crypto mrvl pmd driver De Lara Guarch, Pablo

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=20171005084333.GA20961@tdu \
    --to=tdu@semihalf.com \
    --cc=Jianbo.liu@linaro.org \
    --cc=dev@dpdk.org \
    --cc=dima@marvell.com \
    --cc=ferruh.yigit@intel.com \
    --cc=jck@semihalf.com \
    --cc=mw@semihalf.com \
    --cc=nsamsono@marvell.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).