[dpdk-dev] [PATCH] ethdev: support action with any config object type

Adrien Mazarguil adrien.mazarguil at 6wind.com
Tue Jul 2 11:57:16 CEST 2019


On Tue, Jul 02, 2019 at 08:42:41AM +0000, Dekel Peled wrote:
> Thanks, PSB.
> 
> > -----Original Message-----
> > From: Andrew Rybchenko <arybchenko at solarflare.com>
> > Sent: Tuesday, July 2, 2019 11:09 AM
> > To: Dekel Peled <dekelp at mellanox.com>; Adrien Mazarguil
> > <adrien.mazarguil at 6wind.com>; wenzhuo.lu at intel.com;
> > jingjing.wu at intel.com; bernard.iremonger at intel.com; Yongseok Koh
> > <yskoh at mellanox.com>; Shahaf Shuler <shahafs at mellanox.com>; Slava
> > Ovsiienko <viacheslavo at mellanox.com>; arybchenko at solarflare.com
> > Cc: dev at dpdk.org; Ori Kam <orika at mellanox.com>
> > Subject: Re: [dpdk-dev] [PATCH] ethdev: support action with any config
> > object type
> > 
> > On 01.07.2019 17:10, Dekel Peled wrote:
> > > In current implementation, an action which requires parameters must
> > > accept them enclosed in a structure.
> > > Some actions require a single, trivial type parameter, but it still
> > > must be enclosed in a structure.
> > > This obligation results in multiple, action-specific structures, each
> > > containing a single trivial type parameter.
> > >
> > > This patch introduces a new approach, allowing an action configuration
> > > object of any type, trivial or a structure.
> > >
> > > This patch introduces, in test-pmd, a new macro ARG_ENTRY_HTON, to
> > > allow using a single argument, not enclosed in a structure.
> > >
> > > Signed-off-by: Dekel Peled <dekelp at mellanox.com>
> > 
> > The term "object" confuses me a bit, but I'm not a native speaker so it could
> > be just my wrong association. I'd prefer "configuration data".
> 
> In previous version I wrote just "action configuration", and changed to "action configuration object" per Adrien's suggestion. I think it is better, but if it causes confusion maybe it should be changed.
> 
> Adrien, what do you think? Does "configuration data" carry the correct meaning?

Well I'm no native speaker either but "object" is the term used in the C
standard with a well-defined meaning [1] and encompasses everything
(integers, floats, structures, unions, functions, pointers, arrays):

 "region of data storage in the execution environment, the contents of which
  can represent values"

I think it's a bit less vague than "data" because whenever objects are
mentioned in the standard, they always have a type. There's no such thing as
a C object without one, and rte_flow puts a lot of emphasis on documenting
them.

 int foo;
 struct { ... } foo;
 double foo;
 char foo[];
 void *foo;
 
Whatever the type, would you refer to "foo" itself as an "object" or as
"data"?

Unrelated, but you must remove ARG_ENTRY_HTON from this patch since there's
no testpmd change in there that requires it. There's no tolerance for dead
code in testpmd as it doesn't expose an API.

Thanks.

[1] 3.14 "object"
    http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf

-- 
Adrien Mazarguil
6WIND


More information about the dev mailing list