xsk_ring_prod__submit(&xsk->umem->fq, rcvd);
                xsk_ring_cons__release(&xsk->umem->cq, rcvd);
                xsk->outstanding_tx -= rcvd;
-               xsk->ring_stats.tx_npkts += rcvd;
        }
 }
 
        if (rcvd > 0) {
                xsk_ring_cons__release(&xsk->umem->cq, rcvd);
                xsk->outstanding_tx -= rcvd;
-               xsk->ring_stats.tx_npkts += rcvd;
        }
 }
 
        }
 
        xsk_ring_prod__submit(&xsk->tx, batch_size);
+       xsk->ring_stats.tx_npkts += batch_size;
        xsk->outstanding_tx += batch_size;
        *frame_nb += batch_size;
        *frame_nb %= NUM_FRAMES;
                }
                return;
        }
+       xsk->ring_stats.rx_npkts += rcvd;
 
        ret = xsk_ring_prod__reserve(&xsk->tx, rcvd, &idx_tx);
        while (ret != rcvd) {
        xsk_ring_prod__submit(&xsk->tx, rcvd);
        xsk_ring_cons__release(&xsk->rx, rcvd);
 
-       xsk->ring_stats.rx_npkts += rcvd;
+       xsk->ring_stats.tx_npkts += rcvd;
        xsk->outstanding_tx += rcvd;
 }