Add "rte_atomic32_t started" to turn on/off the RX/TX flow from
per port perspective.

Add rte_atomic32_t allow_queuing to control traffic flow from
per Queue perspective.

Signed-off-by: Zhiyong Yang <zhiyong.y...@intel.com>
---
 drivers/net/virtio/virtio_pci.h  | 1 +
 drivers/net/virtio/virtio_rxtx.h | 6 ++++++
 2 files changed, 7 insertions(+)

diff --git a/drivers/net/virtio/virtio_pci.h b/drivers/net/virtio/virtio_pci.h
index 0362acd..952ad62 100644
--- a/drivers/net/virtio/virtio_pci.h
+++ b/drivers/net/virtio/virtio_pci.h
@@ -253,6 +253,7 @@ struct virtio_hw {
        uint64_t    req_guest_features;
        uint64_t    guest_features;
        uint32_t    max_queue_pairs;
+       rte_atomic32_t started;
        uint16_t        max_mtu;
        uint16_t    vtnet_hdr_size;
        uint8_t     vlan_strip;
diff --git a/drivers/net/virtio/virtio_rxtx.h b/drivers/net/virtio/virtio_rxtx.h
index 28f82d6..03357ae 100644
--- a/drivers/net/virtio/virtio_rxtx.h
+++ b/drivers/net/virtio/virtio_rxtx.h
@@ -60,6 +60,9 @@ struct virtnet_rx {
        struct virtnet_stats stats;
 
        const struct rte_memzone *mz; /**< mem zone to populate RX ring. */
+
+       /* a flag indicates whether allow to receive pkts. */
+       rte_atomic32_t allow_queuing;
 };
 
 struct virtnet_tx {
@@ -75,6 +78,9 @@ struct virtnet_tx {
        struct virtnet_stats stats;
 
        const struct rte_memzone *mz;    /**< mem zone to populate TX ring. */
+
+       /* a flag indicates whether allow to transmit pkts. */
+       rte_atomic32_t allow_queuing;
 };
 
 struct virtnet_ctl {
-- 
2.7.4

Reply via email to