Tue, Mar 15, 2016 at 09:08:44AM CET, ro...@cumulusnetworks.com wrote:
>On 3/15/16, 12:52 AM, Jiri Pirko wrote:
>> Tue, Mar 15, 2016 at 08:38:51AM CET, ro...@cumulusnetworks.com wrote:
>>>
>[snip]
>>> how does it matter if we have reached an agreement that the struct is 
>>> required ?.
>>> unlike other messages, a filter_mask is an important and must attribute for
>>> stats. If you are worried about us running out of bits in u32, the netlink 
>>> attribute you will
>>> define for the filter_mask will also be u32 to begin with.
>> No, you are missing the point:
>
>I understood what you meant the first time...(to which i did comment if you 
>really wanted a u8 for every filter attribute).

You mentioned "u32 attr" in last reply and that is clearly something I
didn't suggested and wasn't talking about at all, so I had to make
things clear.


>
>>
>> enum {
>>      IFLA_STATS_UNSPEC,
>>      IFLA_STATS_FILTER, /* nest */
>>      IFLA_STATS_LINK64,
>>      IFLA_STATS_INET6,
>>      __IFLA_STATS_MAX,
>> };
>>
>> #define IFLA_STATS_MAX (__IFLA_STATS_MAX - 1)
>>
>> enum {
>>      IFLA_STATS_FILTER_UNSPEC,
>>      IFLA_STATS_FILTER_LINK64, /* flag */
>>      IFLA_STATS_FILTER_INET6, /* flag */
>>      ...
>>      IFLA_STATS_FILTER_WHATEVER, /* flag */
>>      __IFLA_STATS_FILTER_MAX,
>> };
>>
>> #define IFLA_STATS_FILTERMAX (__IFLA_STATS_FILTER_MAX - 1)
>
>Apart from the usability concern i have described earlier, this just seems an 
>overkill ...having to redefine every attribute.

I don't hear the usability concern. User knows how to compose/parse
attrs, no problem there.

You just add flag attr as if you add bit in u32 mask. The same thing.

I don't understand why you say this is an "overkill". I believe that
this is the correct way to do.

Reply via email to