DPDK patches and discussions
 help / color / mirror / Atom feed
From: Jerin Jacob <jerinjacobk@gmail.com>
To: "Naga Harish K, S V" <s.v.naga.harish.k@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
	"Jayatheerthan, Jay" <jay.jayatheerthan@intel.com>
Subject: Re: [PATCH v2] eventdev/eth_rx: update adapter create APIs
Date: Wed, 2 Aug 2023 21:42:14 +0530	[thread overview]
Message-ID: <CALBAE1Mx6+_8Yzak7tRHfQgPUGQ75xKtvMrpn2rZti-hnPHmiA@mail.gmail.com> (raw)
In-Reply-To: <DM6PR11MB38681DF2AB69692B7A34ABF0A10BA@DM6PR11MB3868.namprd11.prod.outlook.com>

On Wed, Aug 2, 2023 at 7:58 PM Naga Harish K, S V
<s.v.naga.harish.k@intel.com> wrote:
>
> Hi Jerin,


Hi Harish,

>
> The API “rte_event_eth_rx_adapter_create_with_params()” is an extension to rte_event_eth_rx_adapter_create() with an additional adapter configuration params structure.
> There is no equivalent API existing today for the “rte_event_eth_rx_adapter_create_ext()” API which takes additional adapter params.
> There are use cases where create_ext() version of create API with additional parameters is needed. We may need to have one more adapter create API for this.
> That makes so many Adapter create APIs (4 in number) and will be confusing for the user.
>
>    That's why proposed the following changes to the Rx adapter create APIs which will consolidate the create APIs to 2 in number with all possible combinations.
> The applications that are currently using rte_event_eth_rx_adapter_create_ext() or rte_event_eth_rx_adapter_create() APIs for creating Rx Adapter can pass NULL argument for the
> newly added argument which will behave the same as before.
>
> Trying to understand what are the concerns from your perspective with this consolidated API approach.

If single application code base needs to support both version of DPDK
then they need have #ifdef clutter based on DPDK version check as we
are changing the function prototype.
IMO, We should do API prototype change as last resort. It is quite
common have two APIs versions of single operation with more
specialized parameters.



>
> -Harish
>
> > -----Original Message-----
> > From: Jerin Jacob <jerinjacobk@gmail.com>
> > Sent: Tuesday, August 1, 2023 8:54 PM
> > To: Naga Harish K, S V <s.v.naga.harish.k@intel.com>
> > Cc: dev@dpdk.org; Jayatheerthan, Jay <jay.jayatheerthan@intel.com>
> > Subject: Re: [PATCH v2] eventdev/eth_rx: update adapter create APIs
> >
> > On Tue, Aug 1, 2023 at 7:22 PM Naga Harish K S V
> > <s.v.naga.harish.k@intel.com> wrote:
> > >
> > > The adapter create APIs such as rte_event_eth_rx_adapter_create_ext()
> > > and
> > > rte_event_eth_rx_adapter_create() are updated to take additional
> > > argument as a pointer of type struct rte_event_eth_rx_adapter_params.
> > >
> > > The API rte_event_eth_rx_adapter_create_with_params() is deprecated.
> > >
> > > Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com>
> >
> > Pleas check v1 comment
> > http://mails.dpdk.org/archives/dev/2023-August/273602.html
> >
> > > ---
> > > v2:
> > > *  Fix doxygen compile issue and warning
> > > ---
> > > ---
> > >  app/test-eventdev/test_perf_common.c          |   2 +-
> > >  app/test-eventdev/test_pipeline_common.c      |   2 +-
> > >  app/test/test_event_eth_rx_adapter.c          |  22 ++--
> > >  app/test/test_security_inline_proto.c         |   2 +-
> > >  .../pipeline_worker_generic.c                 |   2 +-
> > >  .../eventdev_pipeline/pipeline_worker_tx.c    |   2 +-
> > >  examples/ipsec-secgw/event_helper.c           |   2 +-
> > >  examples/l2fwd-event/l2fwd_event_generic.c    |   2 +-
> > >  .../l2fwd-event/l2fwd_event_internal_port.c   |   2 +-
> > >  examples/l3fwd/l3fwd_event_generic.c          |   2 +-
> > >  examples/l3fwd/l3fwd_event_internal_port.c    |   2 +-
> > >  lib/eventdev/rte_event_eth_rx_adapter.c       | 100 ++++++++----------
> > >  lib/eventdev/rte_event_eth_rx_adapter.h       |  36 ++-----
> > >  lib/eventdev/version.map                      |   1 -
> > >  14 files changed, 74 insertions(+), 105 deletions(-)
> > >
> > > diff --git a/app/test-eventdev/test_perf_common.c
> > > b/app/test-eventdev/test_perf_common.c
> > > index 5e0255cfeb..0c6c252f7d 100644
> > > --- a/app/test-eventdev/test_perf_common.c
> > > +++ b/app/test-eventdev/test_perf_common.c
> > > @@ -1002,7 +1002,7 @@ perf_event_rx_adapter_setup(struct
> > evt_options *opt, uint8_t stride,
> > >                 }
> > >                 queue_conf.ev.queue_id = prod * stride;
> > >                 ret = rte_event_eth_rx_adapter_create(prod, opt->dev_id,
> > > -                               &prod_conf);
> > > +                               &prod_conf, NULL);
> > >                 if (ret) {
> > >                         evt_err("failed to create rx adapter[%d]", prod);
> > >                         return ret;
> > > diff --git a/app/test-eventdev/test_pipeline_common.c
> > > b/app/test-eventdev/test_pipeline_common.c
> > > index b111690b7c..5ae175f2c7 100644
> > > --- a/app/test-eventdev/test_pipeline_common.c
> > > +++ b/app/test-eventdev/test_pipeline_common.c
> > > @@ -571,7 +571,7 @@ pipeline_event_rx_adapter_setup(struct
> > evt_options *opt, uint8_t stride,
> > >                 }
> > >                 queue_conf.ev.queue_id = prod * stride;
> > >                 ret = rte_event_eth_rx_adapter_create(prod, opt->dev_id,
> > > -                               &prod_conf);
> > > +                               &prod_conf, NULL);
> > >                 if (ret) {
> > >                         evt_err("failed to create rx adapter[%d]", prod);
> > >                         return ret;
> > > diff --git a/app/test/test_event_eth_rx_adapter.c
> > > b/app/test/test_event_eth_rx_adapter.c
> > > index 52d146f97c..42edcb625a 100644
> > > --- a/app/test/test_event_eth_rx_adapter.c
> > > +++ b/app/test/test_event_eth_rx_adapter.c
> > > @@ -401,7 +401,7 @@ adapter_create(void)
> > >         rx_p_conf.dequeue_depth =
> > dev_info.max_event_port_dequeue_depth;
> > >         rx_p_conf.enqueue_depth =
> > dev_info.max_event_port_enqueue_depth;
> > >         err = rte_event_eth_rx_adapter_create(TEST_INST_ID, TEST_DEV_ID,
> > > -                                       &rx_p_conf);
> > > +                                       &rx_p_conf, NULL);
> > >         TEST_ASSERT(err == 0, "Expected 0 got %d", err);
> > >
> > >         return err;
> > > @@ -427,17 +427,17 @@ adapter_create_with_params(void)
> > >         rxa_params.use_queue_event_buf = false;
> > >         rxa_params.event_buf_size = 0;
> > >
> > > -       err = rte_event_eth_rx_adapter_create_with_params(TEST_INST_ID,
> > > +       err = rte_event_eth_rx_adapter_create(TEST_INST_ID,
> > >                                 TEST_DEV_ID, &rx_p_conf, &rxa_params);
> > >         TEST_ASSERT(err == -EINVAL, "Expected -EINVAL got %d", err);
> > >
> > >         rxa_params.use_queue_event_buf = true;
> > >
> > > -       err = rte_event_eth_rx_adapter_create_with_params(TEST_INST_ID,
> > > +       err = rte_event_eth_rx_adapter_create(TEST_INST_ID,
> > >                                 TEST_DEV_ID, &rx_p_conf, &rxa_params);
> > >         TEST_ASSERT(err == 0, "Expected 0 got %d", err);
> > >
> > > -       err = rte_event_eth_rx_adapter_create_with_params(TEST_INST_ID,
> > > +       err = rte_event_eth_rx_adapter_create(TEST_INST_ID,
> > >                                 TEST_DEV_ID, &rx_p_conf, &rxa_params);
> > >         TEST_ASSERT(err == -EEXIST, "Expected -EEXIST got %d", err);
> > >
> > > @@ -567,15 +567,15 @@ adapter_create_free(void)
> > >         };
> > >
> > >         err = rte_event_eth_rx_adapter_create(TEST_INST_ID, TEST_DEV_ID,
> > > -                                       NULL);
> > > +                                       NULL, NULL);
> > >         TEST_ASSERT(err == -EINVAL, "Expected -EINVAL got %d", err);
> > >
> > >         err = rte_event_eth_rx_adapter_create(TEST_INST_ID, TEST_DEV_ID,
> > > -                                       &rx_p_conf);
> > > +                                       &rx_p_conf, NULL);
> > >         TEST_ASSERT(err == 0, "Expected 0 got %d", err);
> > >
> > >         err = rte_event_eth_rx_adapter_create(TEST_INST_ID,
> > > -                                       TEST_DEV_ID, &rx_p_conf);
> > > +                                       TEST_DEV_ID, &rx_p_conf,
> > > + NULL);
> > >         TEST_ASSERT(err == -EEXIST, "Expected -EEXIST %d got %d",
> > > -EEXIST, err);
> > >
> > >         err = rte_event_eth_rx_adapter_free(TEST_INST_ID);
> > > @@ -605,20 +605,20 @@ adapter_create_free_with_params(void)
> > >                         .event_buf_size = 1024
> > >         };
> > >
> > > -       err = rte_event_eth_rx_adapter_create_with_params(TEST_INST_ID,
> > > +       err = rte_event_eth_rx_adapter_create(TEST_INST_ID,
> > >                                 TEST_DEV_ID, NULL, NULL);
> > >         TEST_ASSERT(err == -EINVAL, "Expected -EINVAL got %d", err);
> > >
> > > -       err = rte_event_eth_rx_adapter_create_with_params(TEST_INST_ID,
> > > +       err = rte_event_eth_rx_adapter_create(TEST_INST_ID,
> > >                                 TEST_DEV_ID, &rx_p_conf, &rxa_params);
> > >         TEST_ASSERT(err == 0, "Expected 0 got %d", err);
> > >
> > > -       err = rte_event_eth_rx_adapter_create_with_params(TEST_INST_ID,
> > > +       err = rte_event_eth_rx_adapter_create(TEST_INST_ID,
> > >                                 TEST_DEV_ID, &rx_p_conf, &rxa_params);
> > >         TEST_ASSERT(err == -EEXIST, "Expected -EEXIST %d got %d",
> > > -EEXIST, err);
> > >
> > >         rxa_params.event_buf_size = 0;
> > > -       err = rte_event_eth_rx_adapter_create_with_params(TEST_INST_ID,
> > > +       err = rte_event_eth_rx_adapter_create(TEST_INST_ID,
> > >                                 TEST_DEV_ID, &rx_p_conf, &rxa_params);
> > >         TEST_ASSERT(err == -EINVAL, "Expected -EINVAL got %d", err);
> > >
> > > diff --git a/app/test/test_security_inline_proto.c
> > > b/app/test/test_security_inline_proto.c
> > > index 45aa742c6b..fc240201a3 100644
> > > --- a/app/test/test_security_inline_proto.c
> > > +++ b/app/test/test_security_inline_proto.c
> > > @@ -1872,7 +1872,7 @@ event_inline_ipsec_testsuite_setup(void)
> > >
> > >         /* Create Rx adapter */
> > >         ret = rte_event_eth_rx_adapter_create(rx_adapter_id, eventdev_id,
> > > -                       &ev_port_conf);
> > > +                       &ev_port_conf, NULL);
> > >         if (ret < 0) {
> > >                 printf("Failed to create rx adapter %d\n", ret);
> > >                 return ret;
> > > diff --git a/examples/eventdev_pipeline/pipeline_worker_generic.c
> > > b/examples/eventdev_pipeline/pipeline_worker_generic.c
> > > index 783f68c91e..74510338ba 100644
> > > --- a/examples/eventdev_pipeline/pipeline_worker_generic.c
> > > +++ b/examples/eventdev_pipeline/pipeline_worker_generic.c
> > > @@ -436,7 +436,7 @@ init_adapters(uint16_t nb_ports)
> > >         init_ports(nb_ports);
> > >         /* Create one adapter for all the ethernet ports. */
> > >         ret = rte_event_eth_rx_adapter_create(cdata.rx_adapter_id,
> > evdev_id,
> > > -                       &adptr_p_conf);
> > > +                       &adptr_p_conf, NULL);
> > >         if (ret)
> > >                 rte_exit(EXIT_FAILURE, "failed to create rx adapter[%d]",
> > >                                 cdata.rx_adapter_id); diff --git
> > > a/examples/eventdev_pipeline/pipeline_worker_tx.c
> > > b/examples/eventdev_pipeline/pipeline_worker_tx.c
> > > index 98a52f3892..88619d6c2e 100644
> > > --- a/examples/eventdev_pipeline/pipeline_worker_tx.c
> > > +++ b/examples/eventdev_pipeline/pipeline_worker_tx.c
> > > @@ -793,7 +793,7 @@ init_adapters(uint16_t nb_ports)
> > >                 uint32_t service_id;
> > >
> > >                 ret = rte_event_eth_rx_adapter_create(i, evdev_id,
> > > -                               &adptr_p_conf);
> > > +                               &adptr_p_conf, NULL);
> > >                 if (ret)
> > >                         rte_exit(EXIT_FAILURE,
> > >                                         "failed to create rx
> > > adapter[%d]", i); diff --git a/examples/ipsec-secgw/event_helper.c
> > > b/examples/ipsec-secgw/event_helper.c
> > > index 89fb7e62a5..28d6778134 100644
> > > --- a/examples/ipsec-secgw/event_helper.c
> > > +++ b/examples/ipsec-secgw/event_helper.c
> > > @@ -1035,7 +1035,7 @@ eh_rx_adapter_configure(struct
> > eventmode_conf
> > > *em_conf,
> > >
> > >         /* Create Rx adapter */
> > >         ret = rte_event_eth_rx_adapter_create(adapter->adapter_id,
> > > -                       adapter->eventdev_id, &port_conf);
> > > +                       adapter->eventdev_id, &port_conf, NULL);
> > >         if (ret < 0) {
> > >                 EH_LOG_ERR("Failed to create rx adapter %d", ret);
> > >                 return ret;
> > > diff --git a/examples/l2fwd-event/l2fwd_event_generic.c
> > > b/examples/l2fwd-event/l2fwd_event_generic.c
> > > index 1977e23261..4360b20aa0 100644
> > > --- a/examples/l2fwd-event/l2fwd_event_generic.c
> > > +++ b/examples/l2fwd-event/l2fwd_event_generic.c
> > > @@ -235,7 +235,7 @@ l2fwd_rx_tx_adapter_setup_generic(struct
> > l2fwd_resources *rsrc)
> > >         }
> > >
> > >         ret = rte_event_eth_rx_adapter_create(rx_adptr_id, event_d_id,
> > > -                                             &evt_rsrc->def_p_conf);
> > > +                                             &evt_rsrc->def_p_conf,
> > > + NULL);
> > >         if (ret)
> > >                 rte_panic("Failed to create rx adapter\n");
> > >
> > > diff --git a/examples/l2fwd-event/l2fwd_event_internal_port.c
> > > b/examples/l2fwd-event/l2fwd_event_internal_port.c
> > > index 717a7bceb8..542890f354 100644
> > > --- a/examples/l2fwd-event/l2fwd_event_internal_port.c
> > > +++ b/examples/l2fwd-event/l2fwd_event_internal_port.c
> > > @@ -253,7 +253,7 @@ l2fwd_rx_tx_adapter_setup_internal_port(struct
> > l2fwd_resources *rsrc)
> > >                 }
> > >
> > >                 ret = rte_event_eth_rx_adapter_create(adapter_id, event_d_id,
> > > -                                               &evt_rsrc->def_p_conf);
> > > +                                               &evt_rsrc->def_p_conf,
> > > + NULL);
> > >                 if (ret)
> > >                         rte_panic("Failed to create rx adapter[%d]\n",
> > >                                   adapter_id); diff --git
> > > a/examples/l3fwd/l3fwd_event_generic.c
> > > b/examples/l3fwd/l3fwd_event_generic.c
> > > index c80573fc58..88e7af538e 100644
> > > --- a/examples/l3fwd/l3fwd_event_generic.c
> > > +++ b/examples/l3fwd/l3fwd_event_generic.c
> > > @@ -217,7 +217,7 @@ l3fwd_rx_tx_adapter_setup_generic(void)
> > >         }
> > >
> > >         ret = rte_event_eth_rx_adapter_create(rx_adptr_id, event_d_id,
> > > -                                             &evt_rsrc->def_p_conf);
> > > +                                             &evt_rsrc->def_p_conf,
> > > + NULL);
> > >         if (ret)
> > >                 rte_panic("Failed to create rx adapter\n");
> > >
> > > diff --git a/examples/l3fwd/l3fwd_event_internal_port.c
> > > b/examples/l3fwd/l3fwd_event_internal_port.c
> > > index 32cf657148..dc8b5013cb 100644
> > > --- a/examples/l3fwd/l3fwd_event_internal_port.c
> > > +++ b/examples/l3fwd/l3fwd_event_internal_port.c
> > > @@ -246,7 +246,7 @@ l3fwd_rx_tx_adapter_setup_internal_port(void)
> > >                 }
> > >
> > >                 ret = rte_event_eth_rx_adapter_create(adapter_id, event_d_id,
> > > -                                                     &evt_rsrc->def_p_conf);
> > > +
> > > + &evt_rsrc->def_p_conf, NULL);
> > >                 if (ret)
> > >                         rte_panic("Failed to create rx adapter[%d]\n",
> > >                                   adapter_id); diff --git
> > > a/lib/eventdev/rte_event_eth_rx_adapter.c
> > > b/lib/eventdev/rte_event_eth_rx_adapter.c
> > > index f7f93ccdfd..ce203a5e4b 100644
> > > --- a/lib/eventdev/rte_event_eth_rx_adapter.c
> > > +++ b/lib/eventdev/rte_event_eth_rx_adapter.c
> > > @@ -2485,90 +2485,78 @@ rxa_create(uint8_t id, uint8_t dev_id,
> > >         return 0;
> > >  }
> > >
> > > -int
> > > -rte_event_eth_rx_adapter_create_ext(uint8_t id, uint8_t dev_id,
> > > -                               rte_event_eth_rx_adapter_conf_cb conf_cb,
> > > -                               void *conf_arg)
> > > +static int __rte_cold
> > > +rxa_config_params_validate(struct rte_event_eth_rx_adapter_params
> > *rxa_params,
> > > +                          struct rte_event_eth_rx_adapter_params
> > > +*temp_params)
> > >  {
> > > -       struct rte_event_eth_rx_adapter_params rxa_params = {0};
> > > +       if (rxa_params == NULL) {
> > > +               /* use default values if rxa_params is NULL */
> > > +               temp_params->event_buf_size = ETH_EVENT_BUFFER_SIZE;
> > > +               temp_params->use_queue_event_buf = false;
> > > +       } else if (!rxa_params->use_queue_event_buf &&
> > > +                   rxa_params->event_buf_size == 0) {
> > > +               RTE_EDEV_LOG_ERR("event buffer size can't be zero\n");
> > > +               return -EINVAL;
> > > +       } else if (rxa_params->use_queue_event_buf &&
> > > +                  rxa_params->event_buf_size != 0) {
> > > +               RTE_EDEV_LOG_ERR("event buffer size needs to be configured "
> > > +                                "as part of queue add\n");
> > > +               return -EINVAL;
> > > +       }
> > >
> > > -       /* use default values for adapter params */
> > > -       rxa_params.event_buf_size = ETH_EVENT_BUFFER_SIZE;
> > > -       rxa_params.use_queue_event_buf = false;
> > > +       *temp_params = *rxa_params;
> > > +       /* adjust event buff size with BATCH_SIZE used for fetching
> > > +        * packets from NIC rx queues to get full buffer utilization
> > > +        * and prevent unnecessary rollovers.
> > > +        */
> > > +       if (!temp_params->use_queue_event_buf) {
> > > +               temp_params->event_buf_size =
> > > +                       RTE_ALIGN(temp_params->event_buf_size, BATCH_SIZE);
> > > +               temp_params->event_buf_size += (BATCH_SIZE + BATCH_SIZE);
> > > +       }
> > >
> > > -       return rxa_create(id, dev_id, &rxa_params, conf_cb, conf_arg);
> > > +       return 0;
> > >  }
> > >
> > >  int
> > > -rte_event_eth_rx_adapter_create_with_params(uint8_t id, uint8_t
> > dev_id,
> > > -                       struct rte_event_port_conf *port_config,
> > > +rte_event_eth_rx_adapter_create_ext(uint8_t id, uint8_t dev_id,
> > > +                       rte_event_eth_rx_adapter_conf_cb conf_cb,
> > > +                       void *conf_arg,
> > >                         struct rte_event_eth_rx_adapter_params
> > > *rxa_params)  {
> > > -       struct rte_event_port_conf *pc;
> > > -       int ret;
> > >         struct rte_event_eth_rx_adapter_params temp_params = {0};
> > > +       int ret;
> > >
> > > -       if (port_config == NULL)
> > > -               return -EINVAL;
> > > -
> > > -       if (rxa_params == NULL) {
> > > -               /* use default values if rxa_params is NULL */
> > > -               rxa_params = &temp_params;
> > > -               rxa_params->event_buf_size = ETH_EVENT_BUFFER_SIZE;
> > > -               rxa_params->use_queue_event_buf = false;
> > > -       } else if ((!rxa_params->use_queue_event_buf &&
> > > -                   rxa_params->event_buf_size == 0) ||
> > > -                  (rxa_params->use_queue_event_buf &&
> > > -                   rxa_params->event_buf_size != 0)) {
> > > -               RTE_EDEV_LOG_ERR("Invalid adapter params\n");
> > > -               return -EINVAL;
> > > -       } else if (!rxa_params->use_queue_event_buf) {
> > > -               /* adjust event buff size with BATCH_SIZE used for fetching
> > > -                * packets from NIC rx queues to get full buffer utilization
> > > -                * and prevent unnecessary rollovers.
> > > -                */
> > > -
> > > -               rxa_params->event_buf_size =
> > > -                       RTE_ALIGN(rxa_params->event_buf_size, BATCH_SIZE);
> > > -               rxa_params->event_buf_size += (BATCH_SIZE + BATCH_SIZE);
> > > -       }
> > > -
> > > -       pc = rte_malloc(NULL, sizeof(*pc), 0);
> > > -       if (pc == NULL)
> > > -               return -ENOMEM;
> > > -
> > > -       *pc = *port_config;
> > > -
> > > -       ret = rxa_create(id, dev_id, rxa_params, rxa_default_conf_cb, pc);
> > > -       if (ret)
> > > -               rte_free(pc);
> > > -
> > > -       rte_eventdev_trace_eth_rx_adapter_create_with_params(id, dev_id,
> > > -               port_config, rxa_params, ret);
> > > +       ret = rxa_config_params_validate(rxa_params, &temp_params);
> > > +       if (ret != 0)
> > > +               return ret;
> > >
> > > -       return ret;
> > > +       return rxa_create(id, dev_id, &temp_params, conf_cb,
> > > + conf_arg);
> > >  }
> > >
> > >  int
> > >  rte_event_eth_rx_adapter_create(uint8_t id, uint8_t dev_id,
> > > -               struct rte_event_port_conf *port_config)
> > > +                       struct rte_event_port_conf *port_config,
> > > +                       struct rte_event_eth_rx_adapter_params
> > > + *rxa_params)
> > >  {
> > >         struct rte_event_port_conf *pc;
> > >         int ret;
> > > +       struct rte_event_eth_rx_adapter_params temp_params = {0};
> > >
> > >         if (port_config == NULL)
> > >                 return -EINVAL;
> > >
> > > -       RTE_EVENT_ETH_RX_ADAPTER_ID_VALID_OR_ERR_RET(id, -EINVAL);
> > > +       ret = rxa_config_params_validate(rxa_params, &temp_params);
> > > +       if (ret != 0)
> > > +               return ret;
> > >
> > >         pc = rte_malloc(NULL, sizeof(*pc), 0);
> > >         if (pc == NULL)
> > >                 return -ENOMEM;
> > > +
> > >         *pc = *port_config;
> > >
> > > -       ret = rte_event_eth_rx_adapter_create_ext(id, dev_id,
> > > -                                       rxa_default_conf_cb,
> > > -                                       pc);
> > > +       ret = rxa_create(id, dev_id, &temp_params,
> > > + rxa_default_conf_cb, pc);
> > >         if (ret)
> > >                 rte_free(pc);
> > >         return ret;
> > > diff --git a/lib/eventdev/rte_event_eth_rx_adapter.h
> > > b/lib/eventdev/rte_event_eth_rx_adapter.h
> > > index fe2a6bdd2c..793e3cedad 100644
> > > --- a/lib/eventdev/rte_event_eth_rx_adapter.h
> > > +++ b/lib/eventdev/rte_event_eth_rx_adapter.h
> > > @@ -26,7 +26,6 @@
> > >   * The ethernet Rx event adapter's functions are:
> > >   *  - rte_event_eth_rx_adapter_create_ext()
> > >   *  - rte_event_eth_rx_adapter_create()
> > > - *  - rte_event_eth_rx_adapter_create_with_params()
> > >   *  - rte_event_eth_rx_adapter_free()
> > >   *  - rte_event_eth_rx_adapter_queue_add()
> > >   *  - rte_event_eth_rx_adapter_queue_del()
> > > @@ -45,7 +44,7 @@
> > >   *
> > >   * The application creates an ethernet to event adapter using
> > >   * rte_event_eth_rx_adapter_create_ext() or
> > > rte_event_eth_rx_adapter_create()
> > > - * or rte_event_eth_rx_adapter_create_with_params() functions.
> > > + * functions.
> > >   *
> > >   * The adapter needs to know which ethernet rx queues to poll for mbufs
> > as well
> > >   * as event device parameters such as the event queue identifier,
> > > event @@ -394,13 +393,18 @@ typedef uint16_t
> > (*rte_event_eth_rx_adapter_cb_fn)(uint16_t eth_dev_id,
> > >   * @param conf_arg
> > >   *  Argument that is passed to the conf_cb function.
> > >   *
> > > + * @param rxa_params
> > > + *  Pointer to struct rte_event_eth_rx_adapter_params.
> > > + *  In case of NULL, default values are used.
> > > + *
> > >   * @return
> > >   *   - 0: Success
> > >   *   - <0: Error code on failure
> > >   */
> > >  int rte_event_eth_rx_adapter_create_ext(uint8_t id, uint8_t dev_id,
> > > -                               rte_event_eth_rx_adapter_conf_cb conf_cb,
> > > -                               void *conf_arg);
> > > +                       rte_event_eth_rx_adapter_conf_cb conf_cb,
> > > +                       void *conf_arg,
> > > +                       struct rte_event_eth_rx_adapter_params
> > > + *rxa_params);
> > >
> > >  /**
> > >   * Create a new ethernet Rx event adapter with the specified identifier.
> > > @@ -435,27 +439,6 @@ int rte_event_eth_rx_adapter_create_ext(uint8_t
> > id, uint8_t dev_id,
> > >   *  Argument of type *rte_event_port_conf* that is passed to the conf_cb
> > >   *  function.
> > >   *
> > > - * @return
> > > - *   - 0: Success
> > > - *   - <0: Error code on failure
> > > - */
> > > -int rte_event_eth_rx_adapter_create(uint8_t id, uint8_t dev_id,
> > > -                               struct rte_event_port_conf *port_config);
> > > -
> > > -/**
> > > - * This is a variant of rte_event_eth_rx_adapter_create() with
> > > additional
> > > - * adapter params specified in ``struct
> > rte_event_eth_rx_adapter_params``.
> > > - *
> > > - * @param id
> > > - *  The identifier of the ethernet Rx event adapter.
> > > - *
> > > - * @param dev_id
> > > - *  The identifier of the event device to configure.
> > > - *
> > > - * @param port_config
> > > - *  Argument of type *rte_event_port_conf* that is passed to the
> > > conf_cb
> > > - *  function.
> > > - *
> > >   * @param rxa_params
> > >   *  Pointer to struct rte_event_eth_rx_adapter_params.
> > >   *  In case of NULL, default values are used.
> > > @@ -464,8 +447,7 @@ int rte_event_eth_rx_adapter_create(uint8_t id,
> > uint8_t dev_id,
> > >   *   - 0: Success
> > >   *   - <0: Error code on failure
> > >   */
> > > -__rte_experimental
> > > -int rte_event_eth_rx_adapter_create_with_params(uint8_t id, uint8_t
> > > dev_id,
> > > +int rte_event_eth_rx_adapter_create(uint8_t id, uint8_t dev_id,
> > >                         struct rte_event_port_conf *port_config,
> > >                         struct rte_event_eth_rx_adapter_params
> > > *rxa_params);
> > >
> > > diff --git a/lib/eventdev/version.map b/lib/eventdev/version.map index
> > > b03c10d99f..1cf58f0d6c 100644
> > > --- a/lib/eventdev/version.map
> > > +++ b/lib/eventdev/version.map
> > > @@ -101,7 +101,6 @@ EXPERIMENTAL {
> > >         global:
> > >
> > >         # added in 21.11
> > > -       rte_event_eth_rx_adapter_create_with_params;
> > >         rte_event_eth_rx_adapter_queue_conf_get;
> > >         rte_event_eth_rx_adapter_queue_stats_get;
> > >         rte_event_eth_rx_adapter_queue_stats_reset;
> > > --
> > > 2.25.1
> > >

  reply	other threads:[~2023-08-02 16:12 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-01  9:40 [RFC] " Naga Harish K S V
2023-08-01 10:28 ` Jerin Jacob
2023-08-01 13:51 ` [PATCH v2] " Naga Harish K S V
2023-08-01 15:23   ` Jerin Jacob
2023-08-02 14:19     ` Naga Harish K, S V
2023-08-02 16:12       ` Jerin Jacob [this message]
2023-08-10  7:38         ` Naga Harish K, S V
2023-08-10  8:07           ` Jerin Jacob
2023-08-10 11:58             ` Naga Harish K, S V
2023-08-10 13:25               ` Jerin Jacob

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CALBAE1Mx6+_8Yzak7tRHfQgPUGQ75xKtvMrpn2rZti-hnPHmiA@mail.gmail.com \
    --to=jerinjacobk@gmail.com \
    --cc=dev@dpdk.org \
    --cc=jay.jayatheerthan@intel.com \
    --cc=s.v.naga.harish.k@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).