DPDK usage discussions
 help / color / mirror / Atom feed
From: "Gaëtan Rivet" <gaetan.rivet@6wind.com>
To: Gadre Nayan <gadrenayan@gmail.com>
Cc: users@dpdk.org
Subject: Re: [dpdk-users] RTE_REGISTER_BUS
Date: Tue, 26 Nov 2019 10:40:39 +0100	[thread overview]
Message-ID: <20191126094039.GL28445@bidouze.6wind.com> (raw)
In-Reply-To: <CAKJ7aR7owt3ns2BVaZT8mYSae9++3BmiFNhrh9p_nXCFdcZK+A@mail.gmail.com>

testpmd works with all DPDK devices, PCI included.

Use GDB and break on businitfn_pci, main. Check that the PCI register
function is called, and then the state of the bus list. You can also
break on rte_bus_scan().

If you don't see the PCI bus anywhere, a possible explanation is that
the bus is disabled in your build/.config file.

Gaëtan

On Tue, Nov 26, 2019 at 09:15:42AM +0530, Gadre Nayan wrote:
> 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@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

-- 
Gaëtan Rivet
6WIND

      reply	other threads:[~2019-11-26  9:40 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-25 14:43 Gadre Nayan
2019-11-25 15:25 ` Gaëtan Rivet
2019-11-26  3:45   ` Gadre Nayan
2019-11-26  9:40     ` Gaëtan Rivet [this message]

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=20191126094039.GL28445@bidouze.6wind.com \
    --to=gaetan.rivet@6wind.com \
    --cc=gadrenayan@gmail.com \
    --cc=users@dpdk.org \
    /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).