Subject: Re: [PATCH iproute2 v4 3/4] ifstat: Add 64 bits based stats to extended statistics

From: Roopa Prabhu <[email-masked]>
Date: Thu, 19 Jan 2017 08:06:21 -0800

On 1/19/17, 7:21 AM, Nogah Frankel wrote:
>> -----Original Message-----
>> From: Nogah Frankel
>> Sent: Sunday, January 15, 2017 3:55 PM
>> To: 'Stephen Hemminger' <[email-masked]>
>> Cc: [email-masked]; [email-masked]; [email-masked]; Jiri
>> Pirko <[email-masked]>; Ido Schimmel <[email-masked]>; Elad Raz
>> <[email-masked]>; Yotam Gigi <[email-masked]>; Or Gerlitz
>> <[email-masked]>
>> Subject: RE: [PATCH iproute2 v4 3/4] ifstat: Add 64 bits based stats to extended statistics
>>
>>
>>
>>> -----Original Message-----
>>> From: Stephen Hemminger [mailto:[email-masked]]
>>> Sent: Friday, January 13, 2017 3:44 AM
>>> To: Nogah Frankel <[email-masked]>
>>> Cc: [email-masked]; [email-masked]; [email-masked];
>> Jiri
>>> Pirko <[email-masked]>; Ido Schimmel <[email-masked]>; Elad Raz
>>> <[email-masked]>; Yotam Gigi <[email-masked]>; Or Gerlitz
>>> <[email-masked]>
>>> Subject: Re: [PATCH iproute2 v4 3/4] ifstat: Add 64 bits based stats to extended statistics
>>>
>>> On Thu, 12 Jan 2017 15:49:50 +0200
>>> Nogah Frankel <[email-masked]> wrote:
>>>
>>>> The default stats for ifstat are 32 bits based.
>>>> The kernel supports 64 bits based stats. (They are returned in struct
>>>> rtnl_link_stats64 which is an exact copy of struct rtnl_link_stats, in
>>>> which the "normal" stats are returned, but with fields of u64 instead of
>>>> u32). This patch adds them as an extended stats.
>>>>
>>>> It is read with filter type IFLA_STATS_LINK_64 and no sub type.
>>>>
>>>> It is under the name 64bits
>>>> (or any shorten of it as "64")
>>>>
>>>> For example:
>>>> ifstat -x 64bit
>>>>
>>>> Signed-off-by: Nogah Frankel <[email-masked]>
>>>> Reviewed-by: Jiri Pirko <[email-masked]>
>>> Other commands (like ip link) always use the 64 bit statistics if available
>>> from the device. I see no reason that ifstat needs to be different.
>>>
>> Do you mean to change the default ifstat results to be 64 bits based?
>> I tried it in the first version, but Roopa commented that it was not a good idea.
>> She said they tried it in the past and it caused backward compatibilities problems.
>> (Or maybe I didn't understand correctly)
> So, can I leave the default ifstat results to be 32 bits based, for the time being?
>
>>From past discussions: Moving the default to 64bit has compat issues with the old history file.
There is a way to make it work by using a new file header (to indicate that it is 64 bit) in
a freshly created history file and also check this header before dumping stats into the history file.
ie maintain backward compat without introducing a new option. It is doable.

One approach is, you can drop the 64bit option from this series and
try updating the default to 64 bit (with compat handling code) in a later series.