[dpdk-dev] [PATCH v2] net/kni: set packet input port in Rx
Ferruh Yigit
ferruh.yigit at intel.com
Fri Jul 24 17:10:28 CEST 2020
From: jiancheng pei <jpei at sonicwall.com>
Store port_id in pmd_internals when eth kni device is created.
Then set packet port of rte_mbuf in function eth_kni_rx.
Signed-off-by: Jecky Pei <jpei at sonicwall.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit at intel.com>
---
drivers/net/kni/rte_eth_kni.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/net/kni/rte_eth_kni.c b/drivers/net/kni/rte_eth_kni.c
index cde98f0bb2..831fe96c96 100644
--- a/drivers/net/kni/rte_eth_kni.c
+++ b/drivers/net/kni/rte_eth_kni.c
@@ -47,6 +47,7 @@ struct pmd_queue {
struct pmd_internals {
struct rte_kni *kni;
+ uint16_t port_id;
int is_kni_started;
pthread_t thread;
@@ -78,8 +79,11 @@ eth_kni_rx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs)
struct pmd_queue *kni_q = q;
struct rte_kni *kni = kni_q->internals->kni;
uint16_t nb_pkts;
+ int i;
nb_pkts = rte_kni_rx_burst(kni, bufs, nb_bufs);
+ for (i = 0; i < nb_pkts; i++)
+ bufs[i]->port = kni_q->internals->port_id;
kni_q->rx.pkts += nb_pkts;
@@ -372,6 +376,7 @@ eth_kni_create(struct rte_vdev_device *vdev,
return NULL;
internals = eth_dev->data->dev_private;
+ internals->port_id = eth_dev->data->port_id;
data = eth_dev->data;
data->nb_rx_queues = 1;
data->nb_tx_queues = 1;
--
2.25.4
More information about the dev
mailing list