[dpdk-dev] [PATCH v2 3/4] app/test-eventdev: add Tx adapter support
Rao, Nikhil
nikhil.rao at intel.com
Wed Sep 5 11:37:55 CEST 2018
On 9/5/2018 2:24 PM, Pavan Nikhilesh wrote:
> On Wed, Sep 05, 2018 at 12:24:18PM +0530, Rao, Nikhil wrote:
>> On 9/4/2018 7:42 PM, Pavan Nikhilesh wrote:
>>> Convert existing Tx service based pipeline to Tx adapter based APIs and
>>> simplify worker functions.
>>>
>>> Signed-off-by: Pavan Nikhilesh <pbhagavatula at caviumnetworks.com>
>>> ---
>>> app/test-eventdev/test_pipeline_atq.c | 269 ++++++++++++-----------
>>> app/test-eventdev/test_pipeline_common.c | 206 +++++------------
>>> app/test-eventdev/test_pipeline_common.h | 62 +++---
>>> app/test-eventdev/test_pipeline_queue.c | 241 ++++++++++----------
>>> 4 files changed, 367 insertions(+), 411 deletions(-)
>>>
>>> diff --git a/app/test-eventdev/test_pipeline_common.c b/app/test-eventdev/test_pipeline_common.c
>>> index 832ab8b6e..ab407dbbb 100644
>>> --- a/app/test-eventdev/test_pipeline_common.c
>>> +++ b/app/test-eventdev/test_pipeline_common.c
>>> @@ -5,58 +5,6 @@
>>>
>>>
>>> @@ -215,7 +160,6 @@ pipeline_ethdev_setup(struct evt_test *test, struct evt_options *opt)
>>> {
>>> uint16_t i;
>>> uint8_t nb_queues = 1;
>>> - uint8_t mt_state = 0;
>>> struct test_pipeline *t = evt_test_priv(test);
>>> struct rte_eth_rxconf rx_conf;
>>> struct rte_eth_conf port_conf = {
>>> @@ -238,13 +182,21 @@ pipeline_ethdev_setup(struct evt_test *test, struct evt_options *opt)
>>> return -ENODEV;
>>> }
>>>
>>> + t->internal_port = 0;
>>> RTE_ETH_FOREACH_DEV(i) {
>>> struct rte_eth_dev_info dev_info;
>>> struct rte_eth_conf local_port_conf = port_conf;
>>> + uint32_t caps = 0;
>>> +
>>> + rte_event_eth_tx_adapter_caps_get(opt->dev_id, i, &caps);
>>> + if ((caps & RTE_EVENT_ETH_TX_ADAPTER_CAP_INTERNAL_PORT)) {
>>> + t->internal_port = 1;
>>> + } else if (t->internal_port == 1) {
>>> + evt_err("Eventdev can't use %d port", i);
>>> + return -EINVAL;
>>> + }
>>>
>> Shouldn't this function also return -EINVAL for the case where
>> internal_port = 0 for i = 0, and internal_port = 1 for i = 1 ?
>
> I think it would be better to force all the ports to use the non-internal cap
> mode when we detect that one of the port doesn't have internal port capability
> rather than exiting. This was the behaviour previously it will leave room to
> support both the pipeline models in future.
Agreed.
Nikhil
More information about the dev
mailing list