DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] new EAL mechanism proposal for driver options
@ 2017-11-30 19:50 Matan Azrad
  0 siblings, 0 replies; only message in thread
From: Matan Azrad @ 2017-11-30 19:50 UTC (permalink / raw)
  To: dev; +Cc: Thomas Monjalon

Hi all

It may be convenient that DPDK drivers can work in several modes.
Allowing driver option changes by the user can make the program more efficient.
For Example:
If user knows that all its Tx packets are 1 segment packets it can change the PMD
mode to work with different tx_burst function which is more efficient for 1 segment scenario,
As soon as multi segments packet are created, the user can change the mode back in run time.

Now let's discuss how to implement driver options.

I suggest new bus operation to set the driver options.

Each bus will expose new operation in rte_bus structure to set driver option by driver name:
int set_driver_option(const char* driver_name, const char* optargs)

Each bus will expose operation in rte_bus structure to set itself options:
int set_option(char* optargs)

Each PMD will expose operation to create option in its driver structure:
int set_option(char* optargs)

The EAL will expose API to set driver options by the user:
int eal_set_driver_option(const char* bus_name, const char* driver_name, const char* optargs)
int eal_set_bus_option(const char* bus_name, const char* optargs)

optargs format will be "key1=value1,key2=value2,key3=value3..." and should be validated by EAL.

Add new EAL command line parameter  to set the start options per driver:
"-driver-options bus_name=<driver bus name>,[name=<driver name>,]key1=value1[,key2=value2,key3=value3...]".


Thoughts?

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2017-11-30 19:50 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-30 19:50 [dpdk-dev] new EAL mechanism proposal for driver options Matan Azrad

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).