devices: vhost: fix data offset on input

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>
(cherry picked from commit 5ecc1e4d433a34845c7bfd761dc990413e6c321b)
This commit is contained in:
Benoît Ganne 2020-01-24 18:06:01 +01:00 committed by Dave Barach
parent 95993c64a3
commit 0d40954b42

View 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;
}
if (enable_csum)
{