From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf0-f43.google.com (mail-lf0-f43.google.com [209.85.215.43]) by dpdk.org (Postfix) with ESMTP id 44D197CBD for ; Wed, 4 Oct 2017 11:00:02 +0200 (CEST) Received: by mail-lf0-f43.google.com with SMTP id b127so12574669lfe.9 for ; Wed, 04 Oct 2017 02:00:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=zr/xWSbABlfmT7a+OlrBV9EjaBkGFcMwxUVhtTOECmQ=; b=xcVxqtq8gNJCDo5RXt2ykbgEISB73RQNKXU+sltpdbCCzUqBAxUe1mAE+tRupDA3f0 6c9Za3wQt4G27cX+2Eda1qnIaDhRBCWXjYt194MSa1MDKTKE1JO4AseOeP2nicIi7rJd Xe2azIFvCjTVB9/i2qftFpRV0XwsyDhpXb5PDw5Smth6KjsgxHREr2DB7ImESh4J+6yc 4qFMhfYvxxgAtti027UjhNdQuU/lnqIvTt9eBAIFM+sk6NnM6UuzoaW4GMMX+6D0llBh 1ZNoeANUpT1WCyeRrCaSTz2nM20KBBJrrlO1DB4RtwS4aEY/dcQcdAG4M4Acy0cadiAC nEmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=zr/xWSbABlfmT7a+OlrBV9EjaBkGFcMwxUVhtTOECmQ=; b=Bqsn5rQEOANNhkBZAr+OnEh7yAd2awDphW+uh8a79wT8Sr23u/TDiMREpG7lRLnE3V iQpk1eFHROjd+Ro5oHkqDdxKoNonYT93D3IsKORrhuB7ITJXZYX/RvOX5keslSEZNo12 u5sJ8X8NuCZtuR6p0JhNXkDmBzwaVMFPj5vnZ0odEV5Ie+r3evm8XQHMLA6lgsDSQb5u SUZOgfgvOSFZXpv58ZKcgmHeb3NDllDWReh05qvH/HjfxvK8jmTCsUbWwIErLIDQ9Jar YQMo5J7oMBzU12WcPTmmsqcOhvhHebZ21Rg8hjb5gw5b9ArLPRXyinQeVQnsn38TSnRj 1jQQ== X-Gm-Message-State: AMCzsaUVIa5nmBPatureUFJIRW4/XNRQdgj38c/Tm0ImwAbbTp7kn10Q cKz+NJeAcOUGr+5M+GLSiZXUrA== X-Google-Smtp-Source: AOwi7QDRrcwoa9LqqNflTuRlMbOXpyvXlvDfHXn8ABadHXftBpHE8QPhM+A0hU4Fq5tQBLFQbDvWtQ== X-Received: by 10.46.7.2 with SMTP id 2mr836143ljh.120.1507107601706; Wed, 04 Oct 2017 02:00:01 -0700 (PDT) Received: from localhost (31-172-191-173.noc.fibertech.net.pl. [31.172.191.173]) by smtp.gmail.com with ESMTPSA id k37sm598057lfi.27.2017.10.04.02.00.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 04 Oct 2017 02:00:00 -0700 (PDT) Date: Wed, 4 Oct 2017 10:59:59 +0200 From: Tomasz Duszynski To: Ferruh Yigit Cc: Tomasz Duszynski , dev@dpdk.org, mw@semihalf.com, dima@marvell.com, nsamsono@marvell.com, Jianbo.liu@linaro.org, Jacek Siuda Message-ID: <20171004085959.GB5668@tdu> References: <1506594158-15721-2-git-send-email-tdu@semihalf.com> <1507031500-11473-1-git-send-email-tdu@semihalf.com> <1507031500-11473-3-git-send-email-tdu@semihalf.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: User-Agent: Mutt/1.5.23.1 (2014-03-12) Subject: Re: [dpdk-dev] [PATCH v3 2/4] net/mrvl: add mrvl net pmd driver X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Oct 2017 09:00:02 -0000 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 adapte= r. > > 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 :). 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? > > > > > Driver was engineered cooperatively by Semihalf and Marvell teams. > > > > Semihalf: > > Jacek Siuda > > Tomasz Duszynski > > > > Marvell: > > Dmitri Epshtein > > Natalie Samsonov > > > > Signed-off-by: Jacek Siuda > > Signed-off-by: Tomasz Duszynski > > <...> > > > +static struct rte_vdev_driver pmd_mrvl_drv =3D { > > + .probe =3D rte_pmd_mrvl_probe, > > + .remove =3D 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. > > 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. Driver was tested on Armada 7k/8k SoCs. > > <....> > -- - Tomasz Duszy=C5=84ski