diff options
author | Michael Brown <mcb30@ipxe.org> | 2022-08-16 13:21:49 +0100 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2022-08-16 17:58:46 +0100 |
commit | b52ea208411e65a6583c70c9efdc0cd8eda2d7d7 (patch) | |
tree | da241423c845a8f75cbbd0e0ac0882f013452651 /src/drivers/net/intelxlvf.h | |
parent | cad1cc6b449b63415ffdad8e12f13df4256106fb (diff) | |
download | ipxe-b52ea208411e65a6583c70c9efdc0cd8eda2d7d7.tar.gz |
[intelxl] Show virtual function packet statistics for debugging
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/drivers/net/intelxlvf.h')
-rw-r--r-- | src/drivers/net/intelxlvf.h | 29 |
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 */ |