Re: [PATCH net-next] net: export netdev_stats_to_stats64

Eric Dumazet
2012-03-06T04:43:28Z

Le mardi 06 mars 2012 à 12:38 +0800, Junchang Wang a écrit :
> > Some drivers use internal netdev stats member to store part of their
> > stats, yet advertize ndo_get_stats64() to implement some 64bit fields.
> >
> > Allow them to use netdev_stats_to_stats64() helper to make the copy of
> > netdev stats before they compute their 64bit counters.
> >
> > Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
>
> Hi Eric,
> And I think we can add a netdev_stats_add_to_stats64() helper to avoid
> following duplicate code. Is that acceptable? Thanks.
>
> drivers/net/bonding/bond_main.c
> stats->rx_packets += sstats->rx_packets;
> stats->rx_bytes += sstats->rx_bytes;
> stats->rx_errors += sstats->rx_errors;
> stats->rx_dropped += sstats->rx_dropped;
>
> stats->tx_packets += sstats->tx_packets;
> stats->tx_bytes += sstats->tx_bytes;
> stats->tx_errors += sstats->tx_errors;
> stats->tx_dropped += sstats->tx_dropped;
>
> stats->multicast += sstats->multicast;
> stats->collisions += sstats->collisions;
>
> stats->rx_length_errors += sstats->rx_length_errors;
> stats->rx_over_errors += sstats->rx_over_errors;
> stats->rx_crc_errors += sstats->rx_crc_errors;
> stats->rx_frame_errors += sstats->rx_frame_errors;
> stats->rx_fifo_errors += sstats->rx_fifo_errors;
> stats->rx_missed_errors += sstats->rx_missed_errors;
>
> stats->tx_aborted_errors += sstats->tx_aborted_errors;
> stats->tx_carrier_errors += sstats->tx_carrier_errors;
> stats->tx_fifo_errors += sstats->tx_fifo_errors;
> stats->tx_heartbeat_errors += sstats->tx_heartbeat_errors;
> stats->tx_window_errors += sstats->tx_window_errors;
>

Yep, I was currently preparing these patches :)