On Thu, 19 Jan 2017 08:06:21 -0800
Roopa Prabhu <ro...@cumulusnetworks.com> wrote:

> 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' <step...@networkplumber.org>
> >> Cc: netdev@vger.kernel.org; roszenr...@gmail.com; 
> >> ro...@cumulusnetworks.com; Jiri
> >> Pirko <j...@mellanox.com>; Ido Schimmel <ido...@mellanox.com>; Elad Raz
> >> <el...@mellanox.com>; Yotam Gigi <yot...@mellanox.com>; Or Gerlitz
> >> <ogerl...@mellanox.com>
> >> Subject: RE: [PATCH iproute2 v4 3/4] ifstat: Add 64 bits based stats to 
> >> extended statistics
> >>
> >>
> >>  
> >>> -----Original Message-----
> >>> From: Stephen Hemminger [mailto:step...@networkplumber.org]
> >>> Sent: Friday, January 13, 2017 3:44 AM
> >>> To: Nogah Frankel <nog...@mellanox.com>
> >>> Cc: netdev@vger.kernel.org; roszenr...@gmail.com; 
> >>> ro...@cumulusnetworks.com;  
> >> Jiri  
> >>> Pirko <j...@mellanox.com>; Ido Schimmel <ido...@mellanox.com>; Elad Raz
> >>> <el...@mellanox.com>; Yotam Gigi <yot...@mellanox.com>; Or Gerlitz
> >>> <ogerl...@mellanox.com>
> >>> 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 <nog...@mellanox.com> 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 <nog...@mellanox.com>
> >>>> Reviewed-by: Jiri Pirko <j...@mellanox.com>  
> >>> 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.

The ifstat code could do conversion based on file size.

  if (history_file_is_32bit()) {
        printf("converting to 64 bit format\n");
        ...
  }



Reply via email to