Why not just scanning a directory or give a command line parameter?

On 16 November 2016 at 12:05, Christophe Milard <
christophe.mil...@linaro.org> wrote:

> So what?
> If we don't allow to load a driver from the north interface, where should
> they be loaded from??
> Or are we saying that we go for a predefined list of driver only?
>
> So drivers have to be .so files (because of autotools), but we don't give
> the possibility to load a free driver??
>
> Christophe
>
> On 16 November 2016 at 11:45, Francois Ozog <francois.o...@linaro.org>
> wrote:
>
>> Hello,
>>
>> If the north API is the one visible by ODP applications then I don't
>> think it is a good idea to expose that.
>> DPDK exposed it at the beginning and is now internal.
>>
>> That said there must be a standard way to manage drivers fir the benefit
>> of the device framework.
>>
>> I don't think the idea of integrating it with packetio open because
>> packetio is not really a device. It is an abstract way of dealing with
>> ports which may be hosted on a device (NIC) or on the platform (SoC).
>> It can be done as a PoC (that's what I do with virtio-net exploratiry
>> project) but that is not a long term solution.
>>
>> FF
>>
>>
>> Le mercredi 16 novembre 2016, Christophe Milard <
>> christophe.mil...@linaro.org> a écrit :
>>
>>> On 16 November 2016 at 10:07, Savolainen, Petri (Nokia - FI/Espoo)
>>> <petri.savolai...@nokia-bell-labs.com> wrote:
>>> >
>>> >>  /**
>>> >> + * Driver loading
>>> >> + *
>>> >> + * This function is used by the application to load NIC drivers into
>>> ODP.
>>> >> + * Calls to this function are optional, but should be performed (if
>>> any)
>>> >> + * after odp_init_global
>>> >> + *
>>> >> + *
>>> >> + * @param filename        Driver shared lib (dynamic library)
>>> >> + *
>>> >> + * @retval 0 on success
>>> >> + * @retval <0 on failure
>>> >> + *
>>> >> + */
>>> >> +int odp_load_driver(const char *filename);
>>> >
>>> > Why application should explicitly need to load a driver ? Why it
>>> cannot happen as part of odp_pktio_open() ?
>>> >
>>> > To me a better approach would be:
>>> > * user reads implementation documentation or uses system commands to
>>> find a list of available interfaces
>>> > * odp_global_init() finds out available pktio interfaces and drivers
>>> for those
>>> > * application opens the interface the user commands (just like today)
>>> > * pktio_open call loads the driver
>>> >
>>> > Or with more ODP support:
>>> > * odp_global_init() finds out available pktio interfaces and drivers
>>> for those
>>> > * a new API call lists all available interfaces
>>> > * application chooses an interface from the list and calls open
>>> > * pktio_open call loads the driver
>>> >
>>> >
>>> > -Petri
>>>
>>>
>>> Having ODP finding the driver by itself means "hard-coding" the list
>>> of available drivers (in the sense that ODP must know in advance what
>>> drivers matches what interface and where to find these drivers).
>>>
>>> The approach above let people do their own driver and attach it to ODP
>>> whithout any pre-requirements on ODP.
>>> When we have a set of "drivers we like", nothing prevent us from
>>> loading a default set of drivers at init.
>>> Unless the driver name (and path) is given as part as the pktio device
>>> name, which would just be awfull, we need such a load function to
>>> enable private driver loading.
>>>
>>> Moreover, the driver must be loaded to be probed: The drivers must
>>> tell what they can do, not ODP.
>>>
>>> I think the application should as a little aware as possible of
>>> drivers (and what HW they match) but should be given a way to load
>>> private drivers. The approach here enable that. Load your own driver
>>> (or none if it is in the default set), then open pktios without
>>> specifying any driver (note that 1 driver may be handling many
>>> interfaces)
>>>
>>> I think having an API call to list available interfaces makes sense,
>>> and does stress my proposal: Drivers must be loaded and probed to
>>> build that list.
>>>
>>> Christophe.
>>>
>>
>>
>> --
>> [image: Linaro] <http://www.linaro.org/>
>> François-Frédéric Ozog | *Director Linaro Networking Group*
>> T: +33.67221.6485
>> francois.o...@linaro.org | Skype: ffozog
>>
>>
>>
>


-- 
[image: Linaro] <http://www.linaro.org/>
François-Frédéric Ozog | *Director Linaro Networking Group*
T: +33.67221.6485
francois.o...@linaro.org | Skype: ffozog

Reply via email to