On 12/7/21 21:37, David Marchand wrote:
+struct netdev_dpdk_vhost_q_stats {
+    uint64_t bytes;
+    uint64_t packets;
+    uint64_t errors;
+};
+
  /* Custom software stats for dpdk ports */
  struct netdev_dpdk_sw_stats {
      /* No. of retries when unable to transmit. */
@@ -206,6 +213,10 @@ struct netdev_dpdk_sw_stats {
      uint64_t rx_qos_drops;
      /* Packet drops in HWOL processing. */
      uint64_t tx_invalid_hwol_drops;
+    /* Per-queue Vhost Tx stats */
+    struct netdev_dpdk_vhost_q_stats *txq;
+    /* Per-queue Vhost Rx stats */
+    struct netdev_dpdk_vhost_q_stats *rxq;
|Here, we add "driver" specific stats, while netdev_dpdk_sw_stats struct carries OVS "own" stats. This netdev_dpdk_sw_stats struct is converted by netdev_dpdk_get_sw_custom_stats and there is a small framework on adding custom OVS stats (using some macros "trick"). I'd rather leave netdev_dpdk_sw_stats struct untouched for consistency. Pointers to vhost specific stats can be added to the netdev_dpdk struct (we have some spare space after the pointer to netdev_dpdk_sw_stats). |

I checked with pahole, and the comment stating "/*36 pad bytes here.*/"
is outdated. Since it is difficult to maintain it given it needs to be
updated when struct netdev_stats is modified, I will just remove it in
next revision.

Maxime

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to