aboutsummaryrefslogtreecommitdiffstats
path: root/src/drivers/net/intelxlvf.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/net/intelxlvf.h')
-rw-r--r--src/drivers/net/intelxlvf.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/drivers/net/intelxlvf.h b/src/drivers/net/intelxlvf.h
index 5c2227577..c537f6a15 100644
--- a/src/drivers/net/intelxlvf.h
+++ b/src/drivers/net/intelxlvf.h
@@ -253,6 +253,33 @@ struct intelxlvf_admin_promisc_buffer {
uint16_t flags;
} __attribute__ (( packed ));
+/** Admin Queue VF Get Statistics opcode */
+#define INTELXLVF_ADMIN_GET_STATS 0x0000000f
+
+/** VF statistics */
+struct intelxlvf_admin_stats {
+ /** Bytes */
+ uint64_t bytes;
+ /** Unicast packets */
+ uint64_t unicasts;
+ /** Multicast packets */
+ uint64_t multicasts;
+ /** Broadcast packets */
+ uint64_t broadcasts;
+ /** Discarded packets */
+ uint64_t discards;
+ /** Errors */
+ uint64_t errors;
+} __attribute__ (( packed ));
+
+/** Admin Queue VF Get Statistics data buffer */
+struct intelxlvf_admin_stats_buffer {
+ /** Receive statistics */
+ struct intelxlvf_admin_stats rx;
+ /** Transmit statistics */
+ struct intelxlvf_admin_stats tx;
+} __attribute__ (( packed ));
+
/** Admin queue data buffer */
union intelxlvf_admin_buffer {
/** Original 40 Gigabit Ethernet data buffer */
@@ -271,6 +298,8 @@ union intelxlvf_admin_buffer {
struct intelxlvf_admin_promisc_buffer promisc;
/** VF IRQ Map data buffer */
struct intelxlvf_admin_irq_map_buffer irq;
+ /** VF Get Statistics data buffer */
+ struct intelxlvf_admin_stats_buffer stats;
} __attribute__ (( packed ));
/** Admin queue descriptor */