[dpdk-dev] examples/flow_filtering: add Tx queues setup process
Checks
Commit Message
This example do not has the process of set up tx queues, but
some NIC start up process will be blocked if this is no tx queue
and only rx queues. So add tx queues setup process in main code.
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
---
examples/flow_filtering/main.c | 11 +++++++++++
1 file changed, 11 insertions(+)
Comments
Add maintainer orika@mellanox.com into cc list.
> -----Original Message-----
> From: Zhao1, Wei
> Sent: Tuesday, December 26, 2017 5:21 PM
> To: dev@dpdk.org
> Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; Zhao1, Wei
> <wei.zhao1@intel.com>
> Subject: [PATCH] examples/flow_filtering: add Tx queues setup process
>
> This example do not has the process of set up tx queues, but some NIC start
> up process will be blocked if this is no tx queue and only rx queues. So add tx
> queues setup process in main code.
>
> Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> ---
> examples/flow_filtering/main.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/examples/flow_filtering/main.c b/examples/flow_filtering/main.c
> index 7d739b4..b5c7677 100644
> --- a/examples/flow_filtering/main.c
> +++ b/examples/flow_filtering/main.c
> @@ -173,6 +173,17 @@ init_port(void)
> }
> }
>
> + for (i = 0; i < nr_queues; i++) {
> + ret = rte_eth_tx_queue_setup(port_id, i, 512,
> + rte_eth_dev_socket_id(port_id),
> + NULL);
> + if (ret < 0) {
> + rte_exit(EXIT_FAILURE,
> + ":: Tx queue setup failed: err=%d,
> port=%u\n",
> + ret, port_id);
> + }
> + }
> +
> rte_eth_promiscuous_enable(port_id);
> ret = rte_eth_dev_start(port_id);
> if (ret < 0) {
> --
> 2.9.3
Hi Wei,
Your patch looks good, but there is an ack patch that deals with offloads.
http://dpdk.org/ml/archives/dev/2017-December/083639.html
Please update your patch to support the new tx offloads.
Regards,
Ori
> -----Original Message-----
> From: Zhao1, Wei [mailto:wei.zhao1@intel.com]
> Sent: Tuesday, December 26, 2017 12:03 PM
> To: Ori Kam <orika@mellanox.com>
> Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; dev@dpdk.org
> Subject: RE: [PATCH] examples/flow_filtering: add Tx queues setup process
>
> Add maintainer orika@mellanox.com into cc list.
>
>
> > -----Original Message-----
> > From: Zhao1, Wei
> > Sent: Tuesday, December 26, 2017 5:21 PM
> > To: dev@dpdk.org
> > Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; Zhao1, Wei
> > <wei.zhao1@intel.com>
> > Subject: [PATCH] examples/flow_filtering: add Tx queues setup process
> >
> > This example do not has the process of set up tx queues, but some NIC
> > start up process will be blocked if this is no tx queue and only rx
> > queues. So add tx queues setup process in main code.
> >
> > Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> > ---
> > examples/flow_filtering/main.c | 11 +++++++++++
> > 1 file changed, 11 insertions(+)
> >
> > diff --git a/examples/flow_filtering/main.c
> > b/examples/flow_filtering/main.c index 7d739b4..b5c7677 100644
> > --- a/examples/flow_filtering/main.c
> > +++ b/examples/flow_filtering/main.c
> > @@ -173,6 +173,17 @@ init_port(void)
> > }
> > }
> >
> > + for (i = 0; i < nr_queues; i++) {
> > + ret = rte_eth_tx_queue_setup(port_id, i, 512,
> > + rte_eth_dev_socket_id(port_id),
> > + NULL);
> > + if (ret < 0) {
> > + rte_exit(EXIT_FAILURE,
> > + ":: Tx queue setup failed: err=%d,
> > port=%u\n",
> > + ret, port_id);
> > + }
> > + }
> > +
> > rte_eth_promiscuous_enable(port_id);
> > ret = rte_eth_dev_start(port_id);
> > if (ret < 0) {
> > --
> > 2.9.3
Hi, Ori Kam
Thank you for your suggestion.
I have commit a v2 to DPDK.org.
https://dpdk.org/dev/patchwork/patch/32768/
> -----Original Message-----
> From: Ori Kam [mailto:orika@mellanox.com]
> Sent: Tuesday, December 26, 2017 10:09 PM
> To: Zhao1, Wei <wei.zhao1@intel.com>
> Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; dev@dpdk.org
> Subject: RE: [PATCH] examples/flow_filtering: add Tx queues setup process
>
> Hi Wei,
>
> Your patch looks good, but there is an ack patch that deals with offloads.
> http://dpdk.org/ml/archives/dev/2017-December/083639.html
>
> Please update your patch to support the new tx offloads.
>
> Regards,
> Ori
>
>
> > -----Original Message-----
> > From: Zhao1, Wei [mailto:wei.zhao1@intel.com]
> > Sent: Tuesday, December 26, 2017 12:03 PM
> > To: Ori Kam <orika@mellanox.com>
> > Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; dev@dpdk.org
> > Subject: RE: [PATCH] examples/flow_filtering: add Tx queues setup
> > process
> >
> > Add maintainer orika@mellanox.com into cc list.
> >
> >
> > > -----Original Message-----
> > > From: Zhao1, Wei
> > > Sent: Tuesday, December 26, 2017 5:21 PM
> > > To: dev@dpdk.org
> > > Cc: Lu, Wenzhuo <wenzhuo.lu@intel.com>; Zhao1, Wei
> > > <wei.zhao1@intel.com>
> > > Subject: [PATCH] examples/flow_filtering: add Tx queues setup
> > > process
> > >
> > > This example do not has the process of set up tx queues, but some
> > > NIC start up process will be blocked if this is no tx queue and only
> > > rx queues. So add tx queues setup process in main code.
> > >
> > > Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
> > > ---
> > > examples/flow_filtering/main.c | 11 +++++++++++
> > > 1 file changed, 11 insertions(+)
> > >
> > > diff --git a/examples/flow_filtering/main.c
> > > b/examples/flow_filtering/main.c index 7d739b4..b5c7677 100644
> > > --- a/examples/flow_filtering/main.c
> > > +++ b/examples/flow_filtering/main.c
> > > @@ -173,6 +173,17 @@ init_port(void)
> > > }
> > > }
> > >
> > > + for (i = 0; i < nr_queues; i++) {
> > > + ret = rte_eth_tx_queue_setup(port_id, i, 512,
> > > + rte_eth_dev_socket_id(port_id),
> > > + NULL);
> > > + if (ret < 0) {
> > > + rte_exit(EXIT_FAILURE,
> > > + ":: Tx queue setup failed: err=%d,
> > > port=%u\n",
> > > + ret, port_id);
> > > + }
> > > + }
> > > +
> > > rte_eth_promiscuous_enable(port_id);
> > > ret = rte_eth_dev_start(port_id);
> > > if (ret < 0) {
> > > --
> > > 2.9.3
@@ -173,6 +173,17 @@ init_port(void)
}
}
+ for (i = 0; i < nr_queues; i++) {
+ ret = rte_eth_tx_queue_setup(port_id, i, 512,
+ rte_eth_dev_socket_id(port_id),
+ NULL);
+ if (ret < 0) {
+ rte_exit(EXIT_FAILURE,
+ ":: Tx queue setup failed: err=%d, port=%u\n",
+ ret, port_id);
+ }
+ }
+
rte_eth_promiscuous_enable(port_id);
ret = rte_eth_dev_start(port_id);
if (ret < 0) {