On Tue, Jul 02, 2019 at 08:42:41AM +0000, Dekel Peled wrote:
> Thanks, PSB.
>
> > -----Original Message-----
> > From: Andrew Rybchenko <[email protected]>
> > Sent: Tuesday, July 2, 2019 11:09 AM
> > To: Dekel Peled <[email protected]>; Adrien Mazarguil
> > <[email protected]>; [email protected];
> > [email protected]; [email protected]; Yongseok Koh
> > <[email protected]>; Shahaf Shuler <[email protected]>; Slava
> > Ovsiienko <[email protected]>; [email protected]
> > Cc: [email protected]; Ori Kam <[email protected]>
> > 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 <[email protected]>
> >
> > 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