[dpdk-dev] [PATCH v3 2/4] net/mrvl: add mrvl net pmd driver

Thomas Monjalon thomas at monjalon.net
Tue Oct 10 23:25:38 CEST 2017


05/10/2017 10:43, Tomasz Duszynski:
> 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.
[...]
> > >>> +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.

So you should provide drivers/bus/aurora2/.
It would do a software scan of devices (probably looking in sysfs).
Then the probe function is nearly the same as with vdev init.
It could provide a better user experience by removing the need of
explicit declaration of devices. It will allow to be integrated in
a more generic whitelist/blacklist mechanism.
And having such well defined bus code and objects will probably help
in your future developments.



More information about the dev mailing list