From 1b45a4cfaefcfd18b2e396ffb86fd3fb024c9f81 Mon Sep 17 00:00:00 2001 From: songyanchao Date: Mon, 5 Jun 2023 09:01:45 +0000 Subject: 🐞 fix(TSG-15352): fix the marsio_recv_burst MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix the marsio_recv_burst --- app/include/tap.h | 2 +- app/src/rawio.c | 10 +++++----- app/src/tap.c | 14 +++++++------- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/app/include/tap.h b/app/include/tap.h index 249304a..56a9f77 100644 --- a/app/include/tap.h +++ b/app/include/tap.h @@ -3,4 +3,4 @@ #include int tap_representor_init(struct mr_instance * mr_instance, struct mr_vdev * vdev); -int tap_representor_entry(struct mr_vdev * vdev, unsigned int qid, marsio_buff_t * buffs[], unsigned int nr_buffs); \ No newline at end of file +int tap_representor_entry(struct mr_vdev * vdev, unsigned int qid, struct rte_mbuf * buffs[], unsigned int nr_buffs); diff --git a/app/src/rawio.c b/app/src/rawio.c index f900f62..4eaba21 100644 --- a/app/src/rawio.c +++ b/app/src/rawio.c @@ -5,12 +5,12 @@ #include #include #include -#include #include #include #include #include #include +#include #include #include @@ -63,7 +63,7 @@ int marsio_recv_burst(struct mr_vdev * vdev, queue_id_t qid, marsio_buff_t * mbu int nr_rx_mbufs = vnode_mirror_dequeue_burst(vdi->vnode_rx_cons, qid, rx_buffer->mbufs, (int)rx_buffer->size); if (vdev->tap_representor != NULL) { - tap_representor_entry(vdev, qid, mbufs, nr_rx_mbufs); + tap_representor_entry(vdev, qid, rx_buffer->mbufs, nr_rx_mbufs); } for (int i = 0; i < nr_rx_mbufs; i++) @@ -233,7 +233,7 @@ int marsio_poll_wait(struct mr_instance * instance, struct mr_vdev * vdevs[], un eventfd_t _not_use_eventfd_value; - if(instance->en_notify == 0) + if (instance->en_notify == 0) { return 0; } @@ -248,7 +248,7 @@ int marsio_poll_wait(struct mr_instance * instance, struct mr_vdev * vdevs[], un } /* flush the vdev */ - for(unsigned int i = 0; i < nr_vdevs; i++) + for (unsigned int i = 0; i < nr_vdevs; i++) { marsio_send_buffer_flush(vdevs[i], tid); } @@ -302,4 +302,4 @@ int marsio_poll_wait(struct mr_instance * instance, struct mr_vdev * vdevs[], un } return 0; -} \ No newline at end of file +} diff --git a/app/src/tap.c b/app/src/tap.c index bb0c131..e389a90 100644 --- a/app/src/tap.c +++ b/app/src/tap.c @@ -5,9 +5,9 @@ #include #include #include +#include #include #include -#include #include #include @@ -192,7 +192,8 @@ static int tap_device_rx(struct tap_device * tap_dev, unsigned int queue_id, mar return 1; } -static struct tap_device * tap_device_create(struct mr_instance * mr_instance, const char * name, struct rte_ether_addr * hwaddr) +static struct tap_device * tap_device_create(struct mr_instance * mr_instance, const char * name, + struct rte_ether_addr * hwaddr) { struct tap_device * tap_dev_inst = rte_zmalloc(NULL, sizeof(struct tap_device), 0); MR_VERIFY_MALLOC(tap_dev_inst); @@ -345,21 +346,20 @@ errout: return (void *)NULL; } -int tap_representor_entry(struct mr_vdev * vdev, unsigned int qid, marsio_buff_t * buffs[], unsigned int nr_buffs) +int tap_representor_entry(struct mr_vdev * vdev, unsigned int qid, struct rte_mbuf * buffs[], unsigned int nr_buffs) { static rte_spinlock_t tap_dev_write_lock = {0}; for (unsigned int i = 0; i < nr_buffs; i++) { - struct rte_mbuf * mbuf = (struct rte_mbuf *)buffs[i]; - if (tap_resp_dev_filter(vdev->vdi->vdev, mbuf) <= 0) + if (tap_resp_dev_filter(vdev->vdi->vdev, buffs[i]) <= 0) { continue; } /* spinlock at here */ rte_spinlock_lock(&tap_dev_write_lock); - tap_device_tx(vdev->tap_representor, mbuf); + tap_device_tx(vdev->tap_representor, buffs[i]); rte_spinlock_unlock(&tap_dev_write_lock); } @@ -395,4 +395,4 @@ int tap_representor_init(struct mr_instance * mr_instance, struct mr_vdev * vdev MR_INFO("tap representor for %s created. ", vdev->devsym); return 0; -} \ No newline at end of file +} -- cgit v1.2.3