aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/sfc/net_driver.h
diff options
context:
space:
mode:
authorBen Hutchings <bhutchings@solarflare.com>2011-10-12 12:20:25 -0400
committerBen Hutchings <bhutchings@solarflare.com>2012-01-26 19:10:59 -0500
commitf9c762500ae77ab8940094be1325c8a2a1c8e5f5 (patch)
treec72369c2abde3d502d2ddbaeb5828f0778fbcce5 /drivers/net/ethernet/sfc/net_driver.h
parent0fca8c97612f90a68ff6e1873e674b4d69a435db (diff)
sfc: Make all MAC statistics consistently 64 bits wide
Currently we use type u64 for byte counts, which can very quickly exceed 2^32, and unsigned long for packet counts, which do not. But it can still take only 20-something minutes to send or receive 2^32 packets, and not all tools properly handle overflow even if they sample more often than this. The MAC statistics are all updated synchronously, so it costs very little to make them all 64-bit regardless of native word size. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Diffstat (limited to 'drivers/net/ethernet/sfc/net_driver.h')
-rw-r--r--drivers/net/ethernet/sfc/net_driver.h110
1 files changed, 55 insertions, 55 deletions
diff --git a/drivers/net/ethernet/sfc/net_driver.h b/drivers/net/ethernet/sfc/net_driver.h
index 310c50f06458..c20483efc22c 100644
--- a/drivers/net/ethernet/sfc/net_driver.h
+++ b/drivers/net/ethernet/sfc/net_driver.h
@@ -538,64 +538,64 @@ struct efx_mac_stats {
538 u64 tx_bytes; 538 u64 tx_bytes;
539 u64 tx_good_bytes; 539 u64 tx_good_bytes;
540 u64 tx_bad_bytes; 540 u64 tx_bad_bytes;
541 unsigned long tx_packets; 541 u64 tx_packets;
542 unsigned long tx_bad; 542 u64 tx_bad;
543 unsigned long tx_pause; 543 u64 tx_pause;
544 unsigned long tx_control; 544 u64 tx_control;
545 unsigned long tx_unicast; 545 u64 tx_unicast;
546 unsigned long tx_multicast; 546 u64 tx_multicast;
547 unsigned long tx_broadcast; 547 u64 tx_broadcast;
548 unsigned long tx_lt64; 548 u64 tx_lt64;
549 unsigned long tx_64; 549 u64 tx_64;
550 unsigned long tx_65_to_127; 550 u64 tx_65_to_127;
551 unsigned long tx_128_to_255; 551 u64 tx_128_to_255;
552 unsigned long tx_256_to_511; 552 u64 tx_256_to_511;
553 unsigned long tx_512_to_1023; 553 u64 tx_512_to_1023;
554 unsigned long tx_1024_to_15xx; 554 u64 tx_1024_to_15xx;
555 unsigned long tx_15xx_to_jumbo; 555 u64 tx_15xx_to_jumbo;
556 unsigned long tx_gtjumbo; 556 u64 tx_gtjumbo;
557 unsigned long tx_collision; 557 u64 tx_collision;
558 unsigned long tx_single_collision; 558 u64 tx_single_collision;
559 unsigned long tx_multiple_collision; 559 u64 tx_multiple_collision;
560 unsigned long tx_excessive_collision; 560 u64 tx_excessive_collision;
561 unsigned long tx_deferred; 561 u64 tx_deferred;
562 unsigned long tx_late_collision; 562 u64 tx_late_collision;
563 unsigned long tx_excessive_deferred; 563 u64 tx_excessive_deferred;
564 unsigned long tx_non_tcpudp; 564 u64 tx_non_tcpudp;
565 unsigned long tx_mac_src_error; 565 u64 tx_mac_src_error;
566 unsigned long tx_ip_src_error; 566 u64 tx_ip_src_error;
567 u64 rx_bytes; 567 u64 rx_bytes;
568 u64 rx_good_bytes; 568 u64 rx_good_bytes;
569 u64 rx_bad_bytes; 569 u64 rx_bad_bytes;
570 unsigned long rx_packets; 570 u64 rx_packets;
571 unsigned long rx_good; 571 u64 rx_good;
572 unsigned long rx_bad; 572 u64 rx_bad;
573 unsigned long rx_pause; 573 u64 rx_pause;
574 unsigned long rx_control; 574 u64 rx_control;
575 unsigned long rx_unicast; 575 u64 rx_unicast;
576 unsigned long rx_multicast; 576 u64 rx_multicast;
577 unsigned long rx_broadcast; 577 u64 rx_broadcast;
578 unsigned long rx_lt64; 578 u64 rx_lt64;
579 unsigned long rx_64; 579 u64 rx_64;
580 unsigned long rx_65_to_127; 580 u64 rx_65_to_127;
581 unsigned long rx_128_to_255; 581 u64 rx_128_to_255;
582 unsigned long rx_256_to_511; 582 u64 rx_256_to_511;
583 unsigned long rx_512_to_1023; 583 u64 rx_512_to_1023;
584 unsigned long rx_1024_to_15xx; 584 u64 rx_1024_to_15xx;
585 unsigned long rx_15xx_to_jumbo; 585 u64 rx_15xx_to_jumbo;
586 unsigned long rx_gtjumbo; 586 u64 rx_gtjumbo;
587 unsigned long rx_bad_lt64; 587 u64 rx_bad_lt64;
588 unsigned long rx_bad_64_to_15xx; 588 u64 rx_bad_64_to_15xx;
589 unsigned long rx_bad_15xx_to_jumbo; 589 u64 rx_bad_15xx_to_jumbo;
590 unsigned long rx_bad_gtjumbo; 590 u64 rx_bad_gtjumbo;
591 unsigned long rx_overflow; 591 u64 rx_overflow;
592 unsigned long rx_missed; 592 u64 rx_missed;
593 unsigned long rx_false_carrier; 593 u64 rx_false_carrier;
594 unsigned long rx_symbol_error; 594 u64 rx_symbol_error;
595 unsigned long rx_align_error; 595 u64 rx_align_error;
596 unsigned long rx_length_error; 596 u64 rx_length_error;
597 unsigned long rx_internal_error; 597 u64 rx_internal_error;
598 unsigned long rx_good_lt64; 598 u64 rx_good_lt64;
599}; 599};
600 600
601/* Number of bits used in a multicast filter hash address */ 601/* Number of bits used in a multicast filter hash address */