Пример #1
0
static void
reset_vring_queue_pair(struct virtio_net *dev, uint32_t qp_idx)
{
	uint32_t base_idx = qp_idx * VIRTIO_QNUM;

	reset_vring_queue(dev->virtqueue[base_idx + VIRTIO_RXQ], qp_idx);
	reset_vring_queue(dev->virtqueue[base_idx + VIRTIO_TXQ], qp_idx);
}
Пример #2
0
/*
 * Reset some variables in device structure, while keeping few
 * others untouched, such as vid, ifname, nr_vring: they
 * should be same unless the device is removed.
 */
void
reset_device(struct virtio_net *dev)
{
	uint32_t i;

	dev->features = 0;
	dev->protocol_features = 0;
	dev->flags = 0;

	for (i = 0; i < dev->nr_vring; i++)
		reset_vring_queue(dev, i);
}