]> granicus.if.org Git - sysstat/commitdiff
Changed IPv4 counters (used by sar -n {IP | EIP }) to
authorseb <seb@kluane.home>
Mon, 10 Dec 2012 20:49:12 +0000 (21:49 +0100)
committerseb <seb@kluane.home>
Mon, 10 Dec 2012 20:49:12 +0000 (21:49 +0100)
unsigned long long to keep in sync with current kernels.

Keep in sync with recent kernels (3.7rc8 used here): Now use
unsigned long long for SNMP IPv4 statistics.
WARNING: This breaks compatibility with older sar data
files format for IPv4 statistics.

CHANGES
activity.c
rd_stats.c
rd_stats.h

diff --git a/CHANGES b/CHANGES
index 77f9167a95f70bd6838d85b6b1b5f2a67f162b29..58807625a9a24ee9c861bb1eda5f0e002f53b560 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -5,6 +5,10 @@ xxxx/xx/xx: Version 10.1.3 - Sebastien Godard (sysstat <at> orange.fr)
          unsigned long long to keep in sync with current kernels.
          WARNING: This breaks compatibility with older sar data
          files format for network statistics.
+       * Changed IPv4 counters (used by sar -n { IP | EIP}) to
+         unsigned long long to keep in sync with current kernels.
+         WARNING: This breaks compatibility with older sar data
+         files format for IPv4 statistics.
        * [Peter Schiffer]: Added option -y to iostat. This option
          prevents iostat from displaying its first report with
          statistics since system boot.
index 58e258b9d60884393a4749027d3328dee26f32b4..ed9c21c3ec6515f7faacf192c18157da3ed09c40 100644 (file)
@@ -572,7 +572,7 @@ struct activity net_sock_act = {
 struct activity net_ip_act = {
        .id             = A_NET_IP,
        .options        = AO_NULL,
-       .magic          = ACTIVITY_MAGIC_BASE,
+       .magic          = ACTIVITY_MAGIC_BASE + 1,
        .group          = G_SNMP,
 #ifdef SOURCE_SADC
        .f_count        = NULL,
@@ -603,7 +603,7 @@ struct activity net_ip_act = {
 struct activity net_eip_act = {
        .id             = A_NET_EIP,
        .options        = AO_NULL,
-       .magic          = ACTIVITY_MAGIC_BASE,
+       .magic          = ACTIVITY_MAGIC_BASE + 1,
        .group          = G_SNMP,
 #ifdef SOURCE_SADC
        .f_count        = NULL,
index 3e4782499bf8cd2df5cc4bc25ee936210dca8491..008f15802e0f03aac5189abac8f905906351f9e7 100644 (file)
@@ -967,8 +967,8 @@ void read_net_ip(struct stats_net_ip *st_net_ip)
 
                if (!strncmp(line, "Ip:", 3)) {
                        if (sw) {
-                               sscanf(line + 3, "%*u %*u %lu %*u %*u %lu %*u %*u "
-                                      "%lu %lu %*u %*u %*u %lu %lu %*u %lu %*u %lu",
+                               sscanf(line + 3, "%*u %*u %llu %*u %*u %llu %*u %*u "
+                                      "%llu %llu %*u %*u %*u %llu %llu %*u %llu %*u %llu",
                                       &st_net_ip->InReceives,
                                       &st_net_ip->ForwDatagrams,
                                       &st_net_ip->InDelivers,
@@ -1013,8 +1013,8 @@ void read_net_eip(struct stats_net_eip *st_net_eip)
 
                if (!strncmp(line, "Ip:", 3)) {
                        if (sw) {
-                               sscanf(line + 3, "%*u %*u %*u %lu %lu %*u %lu %lu "
-                                      "%*u %*u %lu %lu %*u %*u %*u %lu %*u %lu",
+                               sscanf(line + 3, "%*u %*u %*u %llu %llu %*u %llu %llu "
+                                      "%*u %*u %llu %llu %*u %*u %*u %llu %*u %llu",
                                       &st_net_eip->InHdrErrors,
                                       &st_net_eip->InAddrErrors,
                                       &st_net_eip->InUnknownProtos,
index 57a76a55344c286270efb09dac944c60103ac973..8d4b8b5d449152df1b9242e8d8274113c2f4f537 100644 (file)
@@ -291,28 +291,28 @@ struct stats_net_sock {
 
 /* Structure for IP statistics */
 struct stats_net_ip {
-       unsigned long InReceives        __attribute__ ((aligned (8)));
-       unsigned long ForwDatagrams     __attribute__ ((aligned (8)));
-       unsigned long InDelivers        __attribute__ ((aligned (8)));
-       unsigned long OutRequests       __attribute__ ((aligned (8)));
-       unsigned long ReasmReqds        __attribute__ ((aligned (8)));
-       unsigned long ReasmOKs          __attribute__ ((aligned (8)));
-       unsigned long FragOKs           __attribute__ ((aligned (8)));
-       unsigned long FragCreates       __attribute__ ((aligned (8)));
+       unsigned long long InReceives           __attribute__ ((aligned (16)));
+       unsigned long long ForwDatagrams        __attribute__ ((aligned (16)));
+       unsigned long long InDelivers           __attribute__ ((aligned (16)));
+       unsigned long long OutRequests          __attribute__ ((aligned (16)));
+       unsigned long long ReasmReqds           __attribute__ ((aligned (16)));
+       unsigned long long ReasmOKs             __attribute__ ((aligned (16)));
+       unsigned long long FragOKs              __attribute__ ((aligned (16)));
+       unsigned long long FragCreates          __attribute__ ((aligned (16)));
 };
 
 #define STATS_NET_IP_SIZE      (sizeof(struct stats_net_ip))
 
 /* Structure for IP errors statistics */
 struct stats_net_eip {
-       unsigned long InHdrErrors       __attribute__ ((aligned (8)));
-       unsigned long InAddrErrors      __attribute__ ((aligned (8)));
-       unsigned long InUnknownProtos   __attribute__ ((aligned (8)));
-       unsigned long InDiscards        __attribute__ ((aligned (8)));
-       unsigned long OutDiscards       __attribute__ ((aligned (8)));
-       unsigned long OutNoRoutes       __attribute__ ((aligned (8)));
-       unsigned long ReasmFails        __attribute__ ((aligned (8)));
-       unsigned long FragFails         __attribute__ ((aligned (8)));
+       unsigned long long InHdrErrors          __attribute__ ((aligned (16)));
+       unsigned long long InAddrErrors         __attribute__ ((aligned (16)));
+       unsigned long long InUnknownProtos      __attribute__ ((aligned (16)));
+       unsigned long long InDiscards           __attribute__ ((aligned (16)));
+       unsigned long long OutDiscards          __attribute__ ((aligned (16)));
+       unsigned long long OutNoRoutes          __attribute__ ((aligned (16)));
+       unsigned long long ReasmFails           __attribute__ ((aligned (16)));
+       unsigned long long FragFails            __attribute__ ((aligned (16)));
 };
 
 #define STATS_NET_EIP_SIZE     (sizeof(struct stats_net_eip))