net/kni: set packet input port in eth_kni_rx()

Message ID 20200701074941.3847658-1-ferruh.yigit@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers
Series net/kni: set packet input port in eth_kni_rx() |

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/iol-broadcom-Performance success Performance Testing PASS
ci/travis-robot success Travis build: passed
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-nxp-Performance success Performance Testing PASS
ci/Intel-compilation success Compilation OK
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-testing success Testing PASS

Commit Message

Ferruh Yigit July 1, 2020, 7:49 a.m. UTC
  From: jiancheng pei <jpei@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@sonicwall.com>
---
Sending patch to the email list on behalf of the Jecky, initially he
sent as github pull request.
---
 drivers/net/kni/rte_eth_kni.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
  

Comments

Ferruh Yigit July 24, 2020, 2:45 p.m. UTC | #1
On 7/1/2020 8:49 AM, Ferruh Yigit wrote:
> From: jiancheng pei <jpei@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.

Overall looks good, except minor issues commented below.
Since I have sent on behalf of the Jecky, I will send a new version with below
modifications.

Suggested title:
"net/kni: set packet input port in Rx"

> 
> Signed-off-by: Jecky Pei <jpei@sonicwall.com>
> ---
> Sending patch to the email list on behalf of the Jecky, initially he
> sent as github pull request.
> ---
>  drivers/net/kni/rte_eth_kni.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/kni/rte_eth_kni.c b/drivers/net/kni/rte_eth_kni.c
> index d88cb1778..e3f5b101d 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,9 +79,13 @@ 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;
> +	}

You can remove the curly braces.

> +	

There is trailing whitespace.

>  	kni_q->rx.pkts += nb_pkts;
>  
>  	return nb_pkts;
> @@ -372,6 +377,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;
>
  

Patch

diff --git a/drivers/net/kni/rte_eth_kni.c b/drivers/net/kni/rte_eth_kni.c
index d88cb1778..e3f5b101d 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,9 +79,13 @@  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;
 
 	return nb_pkts;
@@ -372,6 +377,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;