apprise vhost net about the virtio net header size.

Signed-off-by: Kommula Shiva Shankar <[email protected]>
---
 drivers/vhost/net.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c
index c6508fe0d5c8..a5c56af555f9 100644
--- a/drivers/vhost/net.c
+++ b/drivers/vhost/net.c
@@ -78,6 +78,7 @@ static const u64 vhost_net_features[VIRTIO_FEATURES_DWORDS] = 
{
        (1ULL << VIRTIO_F_IN_ORDER),
        VIRTIO_BIT(VIRTIO_NET_F_GUEST_UDP_TUNNEL_GSO) |
        VIRTIO_BIT(VIRTIO_NET_F_HOST_UDP_TUNNEL_GSO),
+       VIRTIO_BIT(VIRTIO_NET_F_OUT_NET_HEADER),
 };
 
 enum {
@@ -1661,6 +1662,9 @@ static int vhost_net_set_features(struct vhost_net *n, 
const u64 *features)
                  sizeof(struct virtio_net_hdr_mrg_rxbuf) :
                  sizeof(struct virtio_net_hdr);
 
+       if (virtio_features_test_bit(features,
+                                    VIRTIO_NET_F_OUT_NET_HEADER))
+               hdr_len = sizeof(struct 
virtio_net_hdr_v1_hash_tunnel_out_net_hdr);
        if (virtio_features_test_bit(features,
                                     VIRTIO_NET_F_HOST_UDP_TUNNEL_GSO) ||
            virtio_features_test_bit(features,
-- 
2.48.1


Reply via email to