Signed-off-by: Jens Freiman <jfreim...@redhat.com>
---
 drivers/net/virtio/virtio_ethdev.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/net/virtio/virtio_ethdev.c 
b/drivers/net/virtio/virtio_ethdev.c
index a2bb726ba..b02c65598 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -1161,6 +1161,15 @@ virtio_negotiate_features(struct virtio_hw *hw, uint64_t 
req_features)
                        req_features &= ~(1ULL << VIRTIO_NET_F_MTU);
        }
 
+#ifdef RTE_LIBRTE_VIRTIO_PQ
+       if (req_features & (1ULL << VIRTIO_F_RING_PACKED)) {
+               req_features &= ~(1ull << VIRTIO_NET_F_CTRL_MAC_ADDR);
+               req_features &= ~(1ull << VIRTIO_NET_F_CTRL_VQ);
+               req_features &= ~(1ull << VIRTIO_NET_F_CTRL_RX);
+               req_features &= ~(1ull << VIRTIO_NET_F_CTRL_VLAN);
+       }
+#endif
+
        /*
         * Negotiate features: Subset of device feature bits are written back
         * guest feature bits.
-- 
2.17.1

Reply via email to