[dpdk-users] RTE_REGISTER_BUS
Gadre Nayan
gadrenayan at gmail.com
Tue Nov 26 04:45:42 CET 2019
Hi,
Thanks Rivet.
I was checking the testpmd application to test if my PMD is registered
on the PCI device list.
With the softnic pmd, rte_eal_init calls vdev_scan()
But when I run testpmd with options: ./testpmd -l 0-3 -n 4 -- i
it again calls vdev_scan().
Also only virtual device drivers are getting registered through
rte_vdev_register.
I was expecting it to register rte_pci_register then call
rte_pci_scan() and then subsequently rte_pci_probe()
Does testpmd work with PCI devices or only Vdevs.
I am trying to write my own PMD for a NIC on my laptop from Realtek.
Thanks
Nayan
On Mon, Nov 25, 2019 at 8:55 PM Gaëtan Rivet <gaetan.rivet at 6wind.com> wrote:
>
> On Mon, Nov 25, 2019 at 08:13:00PM +0530, Gadre Nayan wrote:
> > Hi,
> >
> > I am trying to understand RTE_REGISTER_BUS for PCI Bus.
> >
> > 1. Load uio, igb_uio, bind the NIC with igb_uio.
> > 2. load the application.
> >
> > Step 1, is mostly about registering Drivers with the PCI bus.
> > I am looking at when does RTE_REGISTER_BUS get called in this process.
> >
> > Thanks
> > Nayan
>
> Hello,
>
> RTE_REGISTER_ functions all uses RTE_INIT_PRIO(n) macro.
> This macro will only add the GCC attribute __attribute__((constructor(n), used))
> to the symbole defined with RTE_INIT_PRIO() (attribute supported by all
> major compiler).
>
> This attribute adds the related function to the .init section of the
> generated ELF. This section is executed before the main() of the
> program.
>
> This allows libraries to define init and cleanup code that is executed
> automatically when linking against the lib.
>
> --
> Gaėtan Rivet
> 6WIND
More information about the users
mailing list