diff -Naur linux-2.6.16.9/include/linux/netdevice.h linux-2.6.16.9tbj/include/linux/netdevice.h --- linux-2.6.16.9/include/linux/netdevice.h 2006-04-19 08:10:14.000000000 +0200 +++ linux-2.6.16.9tbj/include/linux/netdevice.h 2006-04-20 11:33:34.000000000 +0200 @@ -107,10 +107,10 @@ struct net_device_stats { - unsigned long rx_packets; /* total packets received */ - unsigned long tx_packets; /* total packets transmitted */ - unsigned long rx_bytes; /* total bytes received */ - unsigned long tx_bytes; /* total bytes transmitted */ + unsigned long long rx_packets; /* total packets received */ + unsigned long long tx_packets; /* total packets transmitted */ + unsigned long long rx_bytes; /* total bytes received */ + unsigned long long tx_bytes; /* total bytes transmitted */ unsigned long rx_errors; /* bad packets received */ unsigned long tx_errors; /* packet transmit problems */ unsigned long rx_dropped; /* no space in linux buffers */ diff -Naur linux-2.6.16.9/net/core/dev.c linux-2.6.16.9tbj/net/core/dev.c --- linux-2.6.16.9/net/core/dev.c 2006-04-19 08:10:14.000000000 +0200 +++ linux-2.6.16.9tbj/net/core/dev.c 2006-04-20 11:39:13.000000000 +0200 @@ -1911,8 +1911,8 @@ if (dev->get_stats) { struct net_device_stats *stats = dev->get_stats(dev); - seq_printf(seq, "%6s:%8lu %7lu %4lu %4lu %4lu %5lu %10lu %9lu " - "%8lu %7lu %4lu %4lu %4lu %5lu %7lu %10lu\n", + seq_printf(seq, "%6s:%8llu %7llu %4lu %4lu %4lu %5lu %10lu %9lu " + "%8llu %7llu %4lu %4lu %4lu %5lu %7lu %10lu\n", dev->name, stats->rx_bytes, stats->rx_packets, stats->rx_errors, stats->rx_dropped + stats->rx_missed_errors,