yes, discovery is done by other tools like lspci, /proc  and /sys
interfaces. Also udev rules are there to make naming persistent.

For pci it can be:

odp_pktio_open("mdev:eth0")

then you parse /proc/bus/pci/devices to find actual driver used for this
eth0. And if you have matching mdev pktio driver  - open it.
That looks like very simply and clear.

Maxim.


On 27 October 2017 at 01:03, Bill Fischofer <bill.fischo...@linaro.org>
wrote:

> I think you've captured the distinction correctly. The larger question is
> what does ODP itself need to do with this? When an interface name is
> presented to odp_pktio_open() it is the application's responsibility to
> provide a name string that can be mapped to the device that should be
> opened. ODP uses that string to locate / load the driver that's needed to
> operate that device. The driver is then responsible to make the actual
> connection to the device.
>
> When a driver gets a "device string" is needs to translate that into either
> an appropriate Linux system call (for mdev) or to a set of PCI Bar or other
> HW register addresses (for dedicated I/O). So if there is a case of a
> southbound ODP API, it would be to assist with this latter translation.
>
> On Thu, Oct 26, 2017 at 12:38 PM, Honnappa Nagarahalli <
> honnappa.nagaraha...@linaro.org> wrote:
>
> > Hi,
> >    I created a document to convert our discussion into pictures. I
> > will update this as we discuss other concepts like devio/driver etc.
> >
> > https://docs.google.com/a/linaro.org/document/d/1nzy-Qp6hYZU38DVi7_
> > ZnPiaf3jRqdMN6IQHmfO80Al4/edit?usp=sharing
> >
> > Thanks,
> > Honnappa
> >
>

Reply via email to