VHOST counters reversed
VHOST counters are reversed. RX packet count are shown as TX and vise-versa in "show hardware" statistics. Change-Id: Ie1d41f1f0845edf495cdf34ca65466fc307940c6 Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
This commit is contained in:
@ -321,11 +321,12 @@ u32 tx_burst_vector_internal (vlib_main_t * vm,
|
|||||||
(uint16_t) (tx_head-tx_tail));
|
(uint16_t) (tx_head-tx_tail));
|
||||||
if (PREDICT_TRUE(rv > 0))
|
if (PREDICT_TRUE(rv > 0))
|
||||||
{
|
{
|
||||||
dpdk_vu_vring *vring = &(xd->vu_intf->vrings[offset + VIRTIO_RXQ]);
|
dpdk_vu_vring *vring = &(xd->vu_intf->vrings[offset + VIRTIO_TXQ]);
|
||||||
vring->packets += rv;
|
vring->packets += rv;
|
||||||
vring->bytes += bytes;
|
vring->bytes += bytes;
|
||||||
|
|
||||||
if (dpdk_vhost_user_want_interrupt(xd, offset + VIRTIO_RXQ)) {
|
if (dpdk_vhost_user_want_interrupt(xd, offset + VIRTIO_RXQ)) {
|
||||||
|
vring = &(xd->vu_intf->vrings[offset + VIRTIO_RXQ]);
|
||||||
vring->n_since_last_int += rv;
|
vring->n_since_last_int += rv;
|
||||||
|
|
||||||
f64 now = vlib_time_now (vm);
|
f64 now = vlib_time_now (vm);
|
||||||
@ -358,11 +359,12 @@ u32 tx_burst_vector_internal (vlib_main_t * vm,
|
|||||||
|
|
||||||
if (PREDICT_TRUE(rv > 0))
|
if (PREDICT_TRUE(rv > 0))
|
||||||
{
|
{
|
||||||
dpdk_vu_vring *vring = &(xd->vu_intf->vrings[offset + VIRTIO_RXQ]);
|
dpdk_vu_vring *vring = &(xd->vu_intf->vrings[offset + VIRTIO_TXQ]);
|
||||||
vring->packets += rv;
|
vring->packets += rv;
|
||||||
vring->bytes += bytes;
|
vring->bytes += bytes;
|
||||||
|
|
||||||
if (dpdk_vhost_user_want_interrupt(xd, offset + VIRTIO_RXQ)) {
|
if (dpdk_vhost_user_want_interrupt(xd, offset + VIRTIO_RXQ)) {
|
||||||
|
vring = &(xd->vu_intf->vrings[offset + VIRTIO_RXQ]);
|
||||||
vring->n_since_last_int += rv;
|
vring->n_since_last_int += rv;
|
||||||
|
|
||||||
f64 now = vlib_time_now (vm);
|
f64 now = vlib_time_now (vm);
|
||||||
|
@ -105,12 +105,10 @@ dpdk_rx_burst ( dpdk_main_t * dm, dpdk_device_t * xd, u16 queue_id)
|
|||||||
|
|
||||||
f64 now = vlib_time_now (vm);
|
f64 now = vlib_time_now (vm);
|
||||||
|
|
||||||
dpdk_vu_vring *vring = &(xd->vu_intf->vrings[offset + VIRTIO_TXQ]);
|
dpdk_vu_vring *vring = NULL;
|
||||||
vring->packets += n_buffers;
|
|
||||||
vring->bytes += bytes;
|
|
||||||
|
|
||||||
/* send pending interrupts if needed */
|
/* send pending interrupts if needed */
|
||||||
if (dpdk_vhost_user_want_interrupt(xd, offset + VIRTIO_TXQ)) {
|
if (dpdk_vhost_user_want_interrupt(xd, offset + VIRTIO_TXQ)) {
|
||||||
|
vring = &(xd->vu_intf->vrings[offset + VIRTIO_TXQ]);
|
||||||
vring->n_since_last_int += n_buffers;
|
vring->n_since_last_int += n_buffers;
|
||||||
|
|
||||||
if ((vring->n_since_last_int && (vring->int_deadline < now))
|
if ((vring->n_since_last_int && (vring->int_deadline < now))
|
||||||
@ -118,8 +116,11 @@ dpdk_rx_burst ( dpdk_main_t * dm, dpdk_device_t * xd, u16 queue_id)
|
|||||||
dpdk_vhost_user_send_interrupt(vm, xd, offset + VIRTIO_TXQ);
|
dpdk_vhost_user_send_interrupt(vm, xd, offset + VIRTIO_TXQ);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vring = &(xd->vu_intf->vrings[offset + VIRTIO_RXQ]);
|
||||||
|
vring->packets += n_buffers;
|
||||||
|
vring->bytes += bytes;
|
||||||
|
|
||||||
if (dpdk_vhost_user_want_interrupt(xd, offset + VIRTIO_RXQ)) {
|
if (dpdk_vhost_user_want_interrupt(xd, offset + VIRTIO_RXQ)) {
|
||||||
vring = &(xd->vu_intf->vrings[offset + VIRTIO_RXQ]);
|
|
||||||
if (vring->n_since_last_int && (vring->int_deadline < now))
|
if (vring->n_since_last_int && (vring->int_deadline < now))
|
||||||
dpdk_vhost_user_send_interrupt(vm, xd, offset + VIRTIO_RXQ);
|
dpdk_vhost_user_send_interrupt(vm, xd, offset + VIRTIO_RXQ);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user