devices: vhost: fix data offset on input 17/24517/2
authorBenoît Ganne <bganne@cisco.com>
Fri, 24 Jan 2020 17:06:01 +0000 (18:06 +0100)
committerDamjan Marion <dmarion@me.com>
Mon, 27 Jan 2020 19:19:23 +0000 (19:19 +0000)
Regardless of whether the virtio_net_hdr is sent as a separate
descriptors or in the same descriptor as the data, we always want to
skip the header length - maybe moving to the next descriptor along the
way.

Type: fix

Change-Id: Iaa70aeb310e589639b20f8c7029aaa8d3ce5d307
Signed-off-by: Benoît Ganne <bganne@cisco.com>
src/vnet/devices/virtio/vhost_user_input.c

index 11d4581..1c3e180 100644 (file)
@@ -559,17 +559,7 @@ vhost_user_if_input (vlib_main_t * vm,
            }
        }
 
-      if (PREDICT_TRUE (vui->is_any_layout) ||
-         (!(desc_table[desc_current].flags & VIRTQ_DESC_F_NEXT)))
-       {
-         /* ANYLAYOUT or single buffer */
-         desc_data_offset = vui->virtio_net_hdr_sz;
-       }
-      else
-       {
-         /* CSR case without ANYLAYOUT, skip 1st buffer */
-         desc_data_offset = desc_table[desc_current].len;
-       }
+      desc_data_offset = vui->virtio_net_hdr_sz;
 
       if (enable_csum)
        {