vdpa: Accessing CVQ header through its structure
We can access the CVQ header through `struct virtio_net_ctrl_hdr`, instead of accessing it through a `uint8_t` pointer, which improves the code's readability and maintainability. Signed-off-by: Hawkins Jiawei <yin31149@gmail.com> Message-Id: <cd522e06a4371e9d6b8a1c1a86f90a92401d56e8.1688743107.git.yin31149@gmail.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
b77a5f22ac
commit
45c4101828
@ -934,6 +934,7 @@ static int vhost_vdpa_net_handle_ctrl_avail(VhostShadowVirtqueue *svq,
|
||||
{
|
||||
VhostVDPAState *s = opaque;
|
||||
size_t in_len;
|
||||
const struct virtio_net_ctrl_hdr *ctrl;
|
||||
virtio_net_ctrl_ack status = VIRTIO_NET_ERR;
|
||||
/* Out buffer sent to both the vdpa device and the device model */
|
||||
struct iovec out = {
|
||||
@ -949,7 +950,9 @@ static int vhost_vdpa_net_handle_ctrl_avail(VhostShadowVirtqueue *svq,
|
||||
out.iov_len = iov_to_buf(elem->out_sg, elem->out_num, 0,
|
||||
s->cvq_cmd_out_buffer,
|
||||
vhost_vdpa_net_cvq_cmd_len());
|
||||
if (*(uint8_t *)s->cvq_cmd_out_buffer == VIRTIO_NET_CTRL_ANNOUNCE) {
|
||||
|
||||
ctrl = s->cvq_cmd_out_buffer;
|
||||
if (ctrl->class == VIRTIO_NET_CTRL_ANNOUNCE) {
|
||||
/*
|
||||
* Guest announce capability is emulated by qemu, so don't forward to
|
||||
* the device.
|
||||
|
Loading…
x
Reference in New Issue
Block a user