[dpdk-dev,v2] eventdev: make ethernet port identifiers 16 bit
Checks
Commit Message
Ethernet port ID data size has been extended to 16 bits size 17.11
Update the Rx event adapter interface and implementation accordingly.
Fixes: 9c38b704d280 ("eventdev: add eth Rx adapter implementation")
Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
Cc: stable@dpdk.org
--
Supersedes the following posts:
http://dpdk.org/ml/archives/dev/2018-May/100917.html
http://dpdk.org/ml/archives/dev/2018-May/100426.html
---
lib/librte_eventdev/rte_event_eth_rx_adapter.h | 4 ++--
lib/librte_eventdev/rte_event_eth_rx_adapter.c | 23 ++++++++++++-----------
2 files changed, 14 insertions(+), 13 deletions(-)
Comments
-----Original Message-----
> Date: Thu, 10 May 2018 02:22:40 +0530
> From: Nikhil Rao <nikhil.rao@intel.com>
> To: jerin.jacob@caviumnetworks.com
> CC: ferruh.yigit@intel.com, lei.a.yao@intel.com, dev@dpdk.org, Nikhil Rao
> <nikhil.rao@intel.com>, stable@dpdk.org
> Subject: [PATCH v2] eventdev: make ethernet port identifiers 16 bit
> X-Mailer: git-send-email 1.8.3.1
>
> Ethernet port ID data size has been extended to 16 bits size 17.11
> Update the Rx event adapter interface and implementation accordingly.
>
> Fixes: 9c38b704d280 ("eventdev: add eth Rx adapter implementation")
> Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
> Cc: stable@dpdk.org
Since it is an ABI change, please bump the library version.
eth_rx_adapter still under experimental tag, IMO, no deprecation notice is
required.
Reference commit for library version update:
commit dfb7f82a5ae3eea5b9229828cc26ff2c291ffc9f
Author: Harry van Haaren <harry.van.haaren@intel.com>
Date: Wed Sep 20 14:36:03 2017 +0100
eventdev: bump library version
> --
>
> Supersedes the following posts:
> http://dpdk.org/ml/archives/dev/2018-May/100917.html
> http://dpdk.org/ml/archives/dev/2018-May/100426.html
> ---
> lib/librte_eventdev/rte_event_eth_rx_adapter.h | 4 ++--
> lib/librte_eventdev/rte_event_eth_rx_adapter.c | 23 ++++++++++++-----------
> 2 files changed, 14 insertions(+), 13 deletions(-)
>
> diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.h b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> index e6a6435..834eb53 100644
> --- a/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> +++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> @@ -307,7 +307,7 @@ int rte_event_eth_rx_adapter_create(uint8_t id, uint8_t dev_id,
> * combination of the two error codes.
> */
> int rte_event_eth_rx_adapter_queue_add(uint8_t id,
> - uint8_t eth_dev_id,
> + uint16_t eth_dev_id,
> int32_t rx_queue_id,
> const struct rte_event_eth_rx_adapter_queue_conf *conf);
>
> @@ -335,7 +335,7 @@ int rte_event_eth_rx_adapter_queue_add(uint8_t id,
> * - 0: Success, Receive queue deleted correctly.
> * - <0: Error code on failure.
> */
> -int rte_event_eth_rx_adapter_queue_del(uint8_t id, uint8_t eth_dev_id,
> +int rte_event_eth_rx_adapter_queue_del(uint8_t id, uint16_t eth_dev_id,
> int32_t rx_queue_id);
>
> /**
> diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.c b/lib/librte_eventdev/rte_event_eth_rx_adapter.c
> index 4c0c025..6f70509 100644
> --- a/lib/librte_eventdev/rte_event_eth_rx_adapter.c
> +++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.c
> @@ -31,7 +31,7 @@
> */
> struct eth_rx_poll_entry {
> /* Eth port to poll */
> - uint8_t eth_dev_id;
> + uint16_t eth_dev_id;
> /* Eth rx queue to poll */
> uint16_t eth_rx_qid;
> };
> @@ -168,7 +168,7 @@ static uint16_t gcd_u16(uint16_t a, uint16_t b)
>
> while (1) {
> uint16_t q;
> - uint8_t d;
> + uint16_t d;
>
> i = (i + 1) % n;
> if (i == 0) {
> @@ -190,7 +190,7 @@ static uint16_t gcd_u16(uint16_t a, uint16_t b)
> static int
> eth_poll_wrr_calc(struct rte_event_eth_rx_adapter *rx_adapter)
> {
> - uint8_t d;
> + uint16_t d;
> uint16_t q;
> unsigned int i;
>
> @@ -510,7 +510,7 @@ static uint16_t gcd_u16(uint16_t a, uint16_t b)
> for (num_queue = 0; num_queue < rx_adapter->wrr_len; num_queue++) {
> unsigned int poll_idx = rx_adapter->wrr_sched[wrr_pos];
> uint16_t qid = rx_adapter->eth_rx_poll[poll_idx].eth_rx_qid;
> - uint8_t d = rx_adapter->eth_rx_poll[poll_idx].eth_dev_id;
> + uint16_t d = rx_adapter->eth_rx_poll[poll_idx].eth_dev_id;
>
> /* Don't do a batch dequeue from the rx queue if there isn't
> * enough space in the enqueue buffer.
> @@ -755,7 +755,7 @@ static uint16_t gcd_u16(uint16_t a, uint16_t b)
> }
>
> static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
> - uint8_t eth_dev_id,
> + uint16_t eth_dev_id,
> int rx_queue_id,
> const struct rte_event_eth_rx_adapter_queue_conf *queue_conf)
> {
> @@ -859,7 +859,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
> struct rte_event_eth_rx_adapter *rx_adapter;
> int ret;
> int socket_id;
> - uint8_t i;
> + uint16_t i;
> char mem_name[ETH_RX_ADAPTER_SERVICE_NAME_LEN];
> const uint8_t default_rss_key[] = {
> 0x6d, 0x5a, 0x56, 0xda, 0x25, 0x5b, 0x0e, 0xc2,
> @@ -978,7 +978,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
>
> int
> rte_event_eth_rx_adapter_queue_add(uint8_t id,
> - uint8_t eth_dev_id,
> + uint16_t eth_dev_id,
> int32_t rx_queue_id,
> const struct rte_event_eth_rx_adapter_queue_conf *queue_conf)
> {
> @@ -1002,7 +1002,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
> &cap);
> if (ret) {
> RTE_EDEV_LOG_ERR("Failed to get adapter caps edev %" PRIu8
> - "eth port %" PRIu8, id, eth_dev_id);
> + "eth port %" PRIu16, id, eth_dev_id);
> return ret;
> }
>
> @@ -1010,7 +1010,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
> && (queue_conf->rx_queue_flags &
> RTE_EVENT_ETH_RX_ADAPTER_QUEUE_FLOW_ID_VALID)) {
> RTE_EDEV_LOG_ERR("Flow ID override is not supported,"
> - " eth port: %" PRIu8 " adapter id: %" PRIu8,
> + " eth port: %" PRIu16 " adapter id: %" PRIu8,
> eth_dev_id, id);
> return -EINVAL;
> }
> @@ -1018,7 +1018,8 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
> if ((cap & RTE_EVENT_ETH_RX_ADAPTER_CAP_MULTI_EVENTQ) == 0 &&
> (rx_queue_id != -1)) {
> RTE_EDEV_LOG_ERR("Rx queues can only be connected to single "
> - "event queue id %u eth port %u", id, eth_dev_id);
> + "event queue, eth port: %" PRIu16 " adapter id: %"
> + PRIu8, eth_dev_id, id);
> return -EINVAL;
> }
>
> @@ -1075,7 +1076,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
> }
>
> int
> -rte_event_eth_rx_adapter_queue_del(uint8_t id, uint8_t eth_dev_id,
> +rte_event_eth_rx_adapter_queue_del(uint8_t id, uint16_t eth_dev_id,
> int32_t rx_queue_id)
> {
> int ret = 0;
> --
> 1.8.3.1
>
-----Original Message-----
> Date: Thu, 10 May 2018 02:22:40 +0530
> From: Nikhil Rao <nikhil.rao@intel.com>
> To: jerin.jacob@caviumnetworks.com
> CC: ferruh.yigit@intel.com, lei.a.yao@intel.com, dev@dpdk.org, Nikhil Rao
> <nikhil.rao@intel.com>, stable@dpdk.org
> Subject: [PATCH v2] eventdev: make ethernet port identifiers 16 bit
> X-Mailer: git-send-email 1.8.3.1
>
> Ethernet port ID data size has been extended to 16 bits size 17.11
> Update the Rx event adapter interface and implementation accordingly.
>
> Fixes: 9c38b704d280 ("eventdev: add eth Rx adapter implementation")
> Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
> Cc: stable@dpdk.org
> --
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
I will squash following patch on apply
https://dpdk.org/ml/archives/dev/2018-May/100988.html
>
> Supersedes the following posts:
> http://dpdk.org/ml/archives/dev/2018-May/100917.html
> http://dpdk.org/ml/archives/dev/2018-May/100426.html
> ---
> lib/librte_eventdev/rte_event_eth_rx_adapter.h | 4 ++--
> lib/librte_eventdev/rte_event_eth_rx_adapter.c | 23 ++++++++++++-----------
> 2 files changed, 14 insertions(+), 13 deletions(-)
>
> diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.h b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> index e6a6435..834eb53 100644
> --- a/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> +++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> @@ -307,7 +307,7 @@ int rte_event_eth_rx_adapter_create(uint8_t id, uint8_t dev_id,
> * combination of the two error codes.
> */
> int rte_event_eth_rx_adapter_queue_add(uint8_t id,
> - uint8_t eth_dev_id,
> + uint16_t eth_dev_id,
> int32_t rx_queue_id,
> const struct rte_event_eth_rx_adapter_queue_conf *conf);
>
> @@ -335,7 +335,7 @@ int rte_event_eth_rx_adapter_queue_add(uint8_t id,
> * - 0: Success, Receive queue deleted correctly.
> * - <0: Error code on failure.
> */
> -int rte_event_eth_rx_adapter_queue_del(uint8_t id, uint8_t eth_dev_id,
> +int rte_event_eth_rx_adapter_queue_del(uint8_t id, uint16_t eth_dev_id,
> int32_t rx_queue_id);
>
> /**
> diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.c b/lib/librte_eventdev/rte_event_eth_rx_adapter.c
> index 4c0c025..6f70509 100644
> --- a/lib/librte_eventdev/rte_event_eth_rx_adapter.c
> +++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.c
> @@ -31,7 +31,7 @@
> */
> struct eth_rx_poll_entry {
> /* Eth port to poll */
> - uint8_t eth_dev_id;
> + uint16_t eth_dev_id;
> /* Eth rx queue to poll */
> uint16_t eth_rx_qid;
> };
> @@ -168,7 +168,7 @@ static uint16_t gcd_u16(uint16_t a, uint16_t b)
>
> while (1) {
> uint16_t q;
> - uint8_t d;
> + uint16_t d;
>
> i = (i + 1) % n;
> if (i == 0) {
> @@ -190,7 +190,7 @@ static uint16_t gcd_u16(uint16_t a, uint16_t b)
> static int
> eth_poll_wrr_calc(struct rte_event_eth_rx_adapter *rx_adapter)
> {
> - uint8_t d;
> + uint16_t d;
> uint16_t q;
> unsigned int i;
>
> @@ -510,7 +510,7 @@ static uint16_t gcd_u16(uint16_t a, uint16_t b)
> for (num_queue = 0; num_queue < rx_adapter->wrr_len; num_queue++) {
> unsigned int poll_idx = rx_adapter->wrr_sched[wrr_pos];
> uint16_t qid = rx_adapter->eth_rx_poll[poll_idx].eth_rx_qid;
> - uint8_t d = rx_adapter->eth_rx_poll[poll_idx].eth_dev_id;
> + uint16_t d = rx_adapter->eth_rx_poll[poll_idx].eth_dev_id;
>
> /* Don't do a batch dequeue from the rx queue if there isn't
> * enough space in the enqueue buffer.
> @@ -755,7 +755,7 @@ static uint16_t gcd_u16(uint16_t a, uint16_t b)
> }
>
> static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
> - uint8_t eth_dev_id,
> + uint16_t eth_dev_id,
> int rx_queue_id,
> const struct rte_event_eth_rx_adapter_queue_conf *queue_conf)
> {
> @@ -859,7 +859,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
> struct rte_event_eth_rx_adapter *rx_adapter;
> int ret;
> int socket_id;
> - uint8_t i;
> + uint16_t i;
> char mem_name[ETH_RX_ADAPTER_SERVICE_NAME_LEN];
> const uint8_t default_rss_key[] = {
> 0x6d, 0x5a, 0x56, 0xda, 0x25, 0x5b, 0x0e, 0xc2,
> @@ -978,7 +978,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
>
> int
> rte_event_eth_rx_adapter_queue_add(uint8_t id,
> - uint8_t eth_dev_id,
> + uint16_t eth_dev_id,
> int32_t rx_queue_id,
> const struct rte_event_eth_rx_adapter_queue_conf *queue_conf)
> {
> @@ -1002,7 +1002,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
> &cap);
> if (ret) {
> RTE_EDEV_LOG_ERR("Failed to get adapter caps edev %" PRIu8
> - "eth port %" PRIu8, id, eth_dev_id);
> + "eth port %" PRIu16, id, eth_dev_id);
> return ret;
> }
>
> @@ -1010,7 +1010,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
> && (queue_conf->rx_queue_flags &
> RTE_EVENT_ETH_RX_ADAPTER_QUEUE_FLOW_ID_VALID)) {
> RTE_EDEV_LOG_ERR("Flow ID override is not supported,"
> - " eth port: %" PRIu8 " adapter id: %" PRIu8,
> + " eth port: %" PRIu16 " adapter id: %" PRIu8,
> eth_dev_id, id);
> return -EINVAL;
> }
> @@ -1018,7 +1018,8 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
> if ((cap & RTE_EVENT_ETH_RX_ADAPTER_CAP_MULTI_EVENTQ) == 0 &&
> (rx_queue_id != -1)) {
> RTE_EDEV_LOG_ERR("Rx queues can only be connected to single "
> - "event queue id %u eth port %u", id, eth_dev_id);
> + "event queue, eth port: %" PRIu16 " adapter id: %"
> + PRIu8, eth_dev_id, id);
> return -EINVAL;
> }
>
> @@ -1075,7 +1076,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
> }
>
> int
> -rte_event_eth_rx_adapter_queue_del(uint8_t id, uint8_t eth_dev_id,
> +rte_event_eth_rx_adapter_queue_del(uint8_t id, uint16_t eth_dev_id,
> int32_t rx_queue_id)
> {
> int ret = 0;
> --
> 1.8.3.1
>
-----Original Message-----
> Date: Thu, 10 May 2018 11:05:40 +0530
> From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> To: Nikhil Rao <nikhil.rao@intel.com>
> CC: ferruh.yigit@intel.com, lei.a.yao@intel.com, dev@dpdk.org,
> stable@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v2] eventdev: make ethernet port identifiers
> 16 bit
> User-Agent: Mutt/1.9.5 (2018-04-13)
>
> -----Original Message-----
> > Date: Thu, 10 May 2018 02:22:40 +0530
> > From: Nikhil Rao <nikhil.rao@intel.com>
> > To: jerin.jacob@caviumnetworks.com
> > CC: ferruh.yigit@intel.com, lei.a.yao@intel.com, dev@dpdk.org, Nikhil Rao
> > <nikhil.rao@intel.com>, stable@dpdk.org
> > Subject: [PATCH v2] eventdev: make ethernet port identifiers 16 bit
> > X-Mailer: git-send-email 1.8.3.1
> >
> > Ethernet port ID data size has been extended to 16 bits size 17.11
> > Update the Rx event adapter interface and implementation accordingly.
> >
> > Fixes: 9c38b704d280 ("eventdev: add eth Rx adapter implementation")
> > Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
> > Cc: stable@dpdk.org
> > --
>
> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
>
> I will squash following patch on apply
> https://dpdk.org/ml/archives/dev/2018-May/100988.html
Applied to dpdk-next-eventdev/master. Thanks.
>
> >
> > Supersedes the following posts:
> > http://dpdk.org/ml/archives/dev/2018-May/100917.html
> > http://dpdk.org/ml/archives/dev/2018-May/100426.html
> > ---
> > lib/librte_eventdev/rte_event_eth_rx_adapter.h | 4 ++--
> > lib/librte_eventdev/rte_event_eth_rx_adapter.c | 23 ++++++++++++-----------
> > 2 files changed, 14 insertions(+), 13 deletions(-)
> >
> > diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.h b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> > index e6a6435..834eb53 100644
> > --- a/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> > +++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.h
> > @@ -307,7 +307,7 @@ int rte_event_eth_rx_adapter_create(uint8_t id, uint8_t dev_id,
> > * combination of the two error codes.
> > */
> > int rte_event_eth_rx_adapter_queue_add(uint8_t id,
> > - uint8_t eth_dev_id,
> > + uint16_t eth_dev_id,
> > int32_t rx_queue_id,
> > const struct rte_event_eth_rx_adapter_queue_conf *conf);
> >
> > @@ -335,7 +335,7 @@ int rte_event_eth_rx_adapter_queue_add(uint8_t id,
> > * - 0: Success, Receive queue deleted correctly.
> > * - <0: Error code on failure.
> > */
> > -int rte_event_eth_rx_adapter_queue_del(uint8_t id, uint8_t eth_dev_id,
> > +int rte_event_eth_rx_adapter_queue_del(uint8_t id, uint16_t eth_dev_id,
> > int32_t rx_queue_id);
> >
> > /**
> > diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.c b/lib/librte_eventdev/rte_event_eth_rx_adapter.c
> > index 4c0c025..6f70509 100644
> > --- a/lib/librte_eventdev/rte_event_eth_rx_adapter.c
> > +++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.c
> > @@ -31,7 +31,7 @@
> > */
> > struct eth_rx_poll_entry {
> > /* Eth port to poll */
> > - uint8_t eth_dev_id;
> > + uint16_t eth_dev_id;
> > /* Eth rx queue to poll */
> > uint16_t eth_rx_qid;
> > };
> > @@ -168,7 +168,7 @@ static uint16_t gcd_u16(uint16_t a, uint16_t b)
> >
> > while (1) {
> > uint16_t q;
> > - uint8_t d;
> > + uint16_t d;
> >
> > i = (i + 1) % n;
> > if (i == 0) {
> > @@ -190,7 +190,7 @@ static uint16_t gcd_u16(uint16_t a, uint16_t b)
> > static int
> > eth_poll_wrr_calc(struct rte_event_eth_rx_adapter *rx_adapter)
> > {
> > - uint8_t d;
> > + uint16_t d;
> > uint16_t q;
> > unsigned int i;
> >
> > @@ -510,7 +510,7 @@ static uint16_t gcd_u16(uint16_t a, uint16_t b)
> > for (num_queue = 0; num_queue < rx_adapter->wrr_len; num_queue++) {
> > unsigned int poll_idx = rx_adapter->wrr_sched[wrr_pos];
> > uint16_t qid = rx_adapter->eth_rx_poll[poll_idx].eth_rx_qid;
> > - uint8_t d = rx_adapter->eth_rx_poll[poll_idx].eth_dev_id;
> > + uint16_t d = rx_adapter->eth_rx_poll[poll_idx].eth_dev_id;
> >
> > /* Don't do a batch dequeue from the rx queue if there isn't
> > * enough space in the enqueue buffer.
> > @@ -755,7 +755,7 @@ static uint16_t gcd_u16(uint16_t a, uint16_t b)
> > }
> >
> > static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
> > - uint8_t eth_dev_id,
> > + uint16_t eth_dev_id,
> > int rx_queue_id,
> > const struct rte_event_eth_rx_adapter_queue_conf *queue_conf)
> > {
> > @@ -859,7 +859,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
> > struct rte_event_eth_rx_adapter *rx_adapter;
> > int ret;
> > int socket_id;
> > - uint8_t i;
> > + uint16_t i;
> > char mem_name[ETH_RX_ADAPTER_SERVICE_NAME_LEN];
> > const uint8_t default_rss_key[] = {
> > 0x6d, 0x5a, 0x56, 0xda, 0x25, 0x5b, 0x0e, 0xc2,
> > @@ -978,7 +978,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
> >
> > int
> > rte_event_eth_rx_adapter_queue_add(uint8_t id,
> > - uint8_t eth_dev_id,
> > + uint16_t eth_dev_id,
> > int32_t rx_queue_id,
> > const struct rte_event_eth_rx_adapter_queue_conf *queue_conf)
> > {
> > @@ -1002,7 +1002,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
> > &cap);
> > if (ret) {
> > RTE_EDEV_LOG_ERR("Failed to get adapter caps edev %" PRIu8
> > - "eth port %" PRIu8, id, eth_dev_id);
> > + "eth port %" PRIu16, id, eth_dev_id);
> > return ret;
> > }
> >
> > @@ -1010,7 +1010,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
> > && (queue_conf->rx_queue_flags &
> > RTE_EVENT_ETH_RX_ADAPTER_QUEUE_FLOW_ID_VALID)) {
> > RTE_EDEV_LOG_ERR("Flow ID override is not supported,"
> > - " eth port: %" PRIu8 " adapter id: %" PRIu8,
> > + " eth port: %" PRIu16 " adapter id: %" PRIu8,
> > eth_dev_id, id);
> > return -EINVAL;
> > }
> > @@ -1018,7 +1018,8 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
> > if ((cap & RTE_EVENT_ETH_RX_ADAPTER_CAP_MULTI_EVENTQ) == 0 &&
> > (rx_queue_id != -1)) {
> > RTE_EDEV_LOG_ERR("Rx queues can only be connected to single "
> > - "event queue id %u eth port %u", id, eth_dev_id);
> > + "event queue, eth port: %" PRIu16 " adapter id: %"
> > + PRIu8, eth_dev_id, id);
> > return -EINVAL;
> > }
> >
> > @@ -1075,7 +1076,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
> > }
> >
> > int
> > -rte_event_eth_rx_adapter_queue_del(uint8_t id, uint8_t eth_dev_id,
> > +rte_event_eth_rx_adapter_queue_del(uint8_t id, uint16_t eth_dev_id,
> > int32_t rx_queue_id)
> > {
> > int ret = 0;
> > --
> > 1.8.3.1
> >
10/05/2018 06:31, Jerin Jacob:
> > Date: Thu, 10 May 2018 02:22:40 +0530
> > From: Nikhil Rao <nikhil.rao@intel.com>
> >
> > Ethernet port ID data size has been extended to 16 bits size 17.11
> > Update the Rx event adapter interface and implementation accordingly.
> >
> > Fixes: 9c38b704d280 ("eventdev: add eth Rx adapter implementation")
> > Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
> > Cc: stable@dpdk.org
>
> Since it is an ABI change, please bump the library version.
> eth_rx_adapter still under experimental tag, IMO, no deprecation notice is
> required.
The ABI changes must be described in the release notes too.
There is no deprecation notice for this ABI change.
According the the policy, you must send a notice in 18.05,
and do the change in 18.08.
This commit will be dropped when pulling the eventdev tree, sorry.
-----Original Message-----
> Date: Thu, 10 May 2018 15:48:54 +0200
> From: Thomas Monjalon <thomas@monjalon.net>
> To: Nikhil Rao <nikhil.rao@intel.com>
> Cc: Jerin Jacob <jerin.jacob@caviumnetworks.com>, ferruh.yigit@intel.com,
> lei.a.yao@intel.com, dev@dpdk.org
> Subject: Re: [dpdk-stable] [PATCH v2] eventdev: make ethernet port
> identifiers 16 bit
>
> 10/05/2018 06:31, Jerin Jacob:
> > > Date: Thu, 10 May 2018 02:22:40 +0530
> > > From: Nikhil Rao <nikhil.rao@intel.com>
> > >
> > > Ethernet port ID data size has been extended to 16 bits size 17.11
> > > Update the Rx event adapter interface and implementation accordingly.
> > >
> > > Fixes: 9c38b704d280 ("eventdev: add eth Rx adapter implementation")
> > > Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
> > > Cc: stable@dpdk.org
> >
> > Since it is an ABI change, please bump the library version.
> > eth_rx_adapter still under experimental tag, IMO, no deprecation notice is
> > required.
>
> The ABI changes must be described in the release notes too.
>
> There is no deprecation notice for this ABI change.
> According the the policy, you must send a notice in 18.05,
> and do the change in 18.08.
Even for the APIs with experimental tag? If so, I don't see any
difference between experimental vs non experimental API?
>
> This commit will be dropped when pulling the eventdev tree, sorry.
>
>
>
10/05/2018 16:30, Jerin Jacob:
> From: Thomas Monjalon <thomas@monjalon.net>
> > 10/05/2018 06:31, Jerin Jacob:
> > > > Date: Thu, 10 May 2018 02:22:40 +0530
> > > > From: Nikhil Rao <nikhil.rao@intel.com>
> > > >
> > > > Ethernet port ID data size has been extended to 16 bits size 17.11
> > > > Update the Rx event adapter interface and implementation accordingly.
> > > >
> > > > Fixes: 9c38b704d280 ("eventdev: add eth Rx adapter implementation")
> > > > Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
> > > > Cc: stable@dpdk.org
> > >
> > > Since it is an ABI change, please bump the library version.
> > > eth_rx_adapter still under experimental tag, IMO, no deprecation notice is
> > > required.
> >
> > The ABI changes must be described in the release notes too.
> >
> > There is no deprecation notice for this ABI change.
> > According the the policy, you must send a notice in 18.05,
> > and do the change in 18.08.
>
> Even for the APIs with experimental tag?
No, experimental can change without prior notice.
> If so, I don't see any
> difference between experimental vs non experimental API?
Rx adapter is not experimental as far as I know.
-----Original Message-----
> Date: Thu, 10 May 2018 16:54:45 +0200
> From: Thomas Monjalon <thomas@monjalon.net>
> To: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> Cc: Nikhil Rao <nikhil.rao@intel.com>, ferruh.yigit@intel.com,
> lei.a.yao@intel.com, dev@dpdk.org
> Subject: Re: [dpdk-stable] [PATCH v2] eventdev: make ethernet port
> identifiers 16 bit
>
> 10/05/2018 16:30, Jerin Jacob:
> > From: Thomas Monjalon <thomas@monjalon.net>
> > > 10/05/2018 06:31, Jerin Jacob:
> > > > > Date: Thu, 10 May 2018 02:22:40 +0530
> > > > > From: Nikhil Rao <nikhil.rao@intel.com>
> > > > >
> > > > > Ethernet port ID data size has been extended to 16 bits size 17.11
> > > > > Update the Rx event adapter interface and implementation accordingly.
> > > > >
> > > > > Fixes: 9c38b704d280 ("eventdev: add eth Rx adapter implementation")
> > > > > Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
> > > > > Cc: stable@dpdk.org
> > > >
> > > > Since it is an ABI change, please bump the library version.
> > > > eth_rx_adapter still under experimental tag, IMO, no deprecation notice is
> > > > required.
> > >
> > > The ABI changes must be described in the release notes too.
> > >
> > > There is no deprecation notice for this ABI change.
> > > According the the policy, you must send a notice in 18.05,
> > > and do the change in 18.08.
> >
> > Even for the APIs with experimental tag?
>
> No, experimental can change without prior notice.
>
> > If so, I don't see any
> > difference between experimental vs non experimental API?
>
> Rx adapter is not experimental as far as I know.
It is experimental. Please see the links.
http://dpdk.org/browse/dpdk/tree/MAINTAINERS#n351
http://dpdk.org/browse/dpdk/tree/lib/librte_eventdev/rte_event_eth_rx_adapter.h#n276
If you agree then take dropped patch.
>
>
10/05/2018 17:16, Jerin Jacob:
> From: Thomas Monjalon <thomas@monjalon.net>
> > 10/05/2018 16:30, Jerin Jacob:
> > > From: Thomas Monjalon <thomas@monjalon.net>
> > > > 10/05/2018 06:31, Jerin Jacob:
> > > > > > Date: Thu, 10 May 2018 02:22:40 +0530
> > > > > > From: Nikhil Rao <nikhil.rao@intel.com>
> > > > > >
> > > > > > Ethernet port ID data size has been extended to 16 bits size 17.11
> > > > > > Update the Rx event adapter interface and implementation accordingly.
> > > > > >
> > > > > > Fixes: 9c38b704d280 ("eventdev: add eth Rx adapter implementation")
> > > > > > Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
> > > > > > Cc: stable@dpdk.org
> > > > >
> > > > > Since it is an ABI change, please bump the library version.
> > > > > eth_rx_adapter still under experimental tag, IMO, no deprecation notice is
> > > > > required.
> > > >
> > > > The ABI changes must be described in the release notes too.
> > > >
> > > > There is no deprecation notice for this ABI change.
> > > > According the the policy, you must send a notice in 18.05,
> > > > and do the change in 18.08.
> > >
> > > Even for the APIs with experimental tag?
> >
> > No, experimental can change without prior notice.
> >
> > > If so, I don't see any
> > > difference between experimental vs non experimental API?
> >
> > Rx adapter is not experimental as far as I know.
>
> It is experimental. Please see the links.
>
> http://dpdk.org/browse/dpdk/tree/MAINTAINERS#n351
> http://dpdk.org/browse/dpdk/tree/lib/librte_eventdev/rte_event_eth_rx_adapter.h#n276
Yes, you're right.
I've looked at the map file, where the symbols are not in EXPERIMENTAL block.
> If you agree then take dropped patch.
I'll take it.
10/05/2018 17:45, Thomas Monjalon:
> 10/05/2018 17:16, Jerin Jacob:
> > From: Thomas Monjalon <thomas@monjalon.net>
> > > 10/05/2018 16:30, Jerin Jacob:
> > > > From: Thomas Monjalon <thomas@monjalon.net>
> > > > > 10/05/2018 06:31, Jerin Jacob:
> > > > > > > Date: Thu, 10 May 2018 02:22:40 +0530
> > > > > > > From: Nikhil Rao <nikhil.rao@intel.com>
> > > > > > >
> > > > > > > Ethernet port ID data size has been extended to 16 bits size 17.11
> > > > > > > Update the Rx event adapter interface and implementation accordingly.
> > > > > > >
> > > > > > > Fixes: 9c38b704d280 ("eventdev: add eth Rx adapter implementation")
> > > > > > > Signed-off-by: Nikhil Rao <nikhil.rao@intel.com>
> > > > > > > Cc: stable@dpdk.org
> > > > > >
> > > > > > Since it is an ABI change, please bump the library version.
> > > > > > eth_rx_adapter still under experimental tag, IMO, no deprecation notice is
> > > > > > required.
> > > > >
> > > > > The ABI changes must be described in the release notes too.
> > > > >
> > > > > There is no deprecation notice for this ABI change.
> > > > > According the the policy, you must send a notice in 18.05,
> > > > > and do the change in 18.08.
> > > >
> > > > Even for the APIs with experimental tag?
> > >
> > > No, experimental can change without prior notice.
> > >
> > > > If so, I don't see any
> > > > difference between experimental vs non experimental API?
> > >
> > > Rx adapter is not experimental as far as I know.
> >
> > It is experimental. Please see the links.
> >
> > http://dpdk.org/browse/dpdk/tree/MAINTAINERS#n351
> > http://dpdk.org/browse/dpdk/tree/lib/librte_eventdev/rte_event_eth_rx_adapter.h#n276
>
> Yes, you're right.
> I've looked at the map file, where the symbols are not in EXPERIMENTAL block.
>
> > If you agree then take dropped patch.
>
> I'll take it.
Applied with a fix in meson file (ABI version to increase).
@@ -307,7 +307,7 @@ int rte_event_eth_rx_adapter_create(uint8_t id, uint8_t dev_id,
* combination of the two error codes.
*/
int rte_event_eth_rx_adapter_queue_add(uint8_t id,
- uint8_t eth_dev_id,
+ uint16_t eth_dev_id,
int32_t rx_queue_id,
const struct rte_event_eth_rx_adapter_queue_conf *conf);
@@ -335,7 +335,7 @@ int rte_event_eth_rx_adapter_queue_add(uint8_t id,
* - 0: Success, Receive queue deleted correctly.
* - <0: Error code on failure.
*/
-int rte_event_eth_rx_adapter_queue_del(uint8_t id, uint8_t eth_dev_id,
+int rte_event_eth_rx_adapter_queue_del(uint8_t id, uint16_t eth_dev_id,
int32_t rx_queue_id);
/**
@@ -31,7 +31,7 @@
*/
struct eth_rx_poll_entry {
/* Eth port to poll */
- uint8_t eth_dev_id;
+ uint16_t eth_dev_id;
/* Eth rx queue to poll */
uint16_t eth_rx_qid;
};
@@ -168,7 +168,7 @@ static uint16_t gcd_u16(uint16_t a, uint16_t b)
while (1) {
uint16_t q;
- uint8_t d;
+ uint16_t d;
i = (i + 1) % n;
if (i == 0) {
@@ -190,7 +190,7 @@ static uint16_t gcd_u16(uint16_t a, uint16_t b)
static int
eth_poll_wrr_calc(struct rte_event_eth_rx_adapter *rx_adapter)
{
- uint8_t d;
+ uint16_t d;
uint16_t q;
unsigned int i;
@@ -510,7 +510,7 @@ static uint16_t gcd_u16(uint16_t a, uint16_t b)
for (num_queue = 0; num_queue < rx_adapter->wrr_len; num_queue++) {
unsigned int poll_idx = rx_adapter->wrr_sched[wrr_pos];
uint16_t qid = rx_adapter->eth_rx_poll[poll_idx].eth_rx_qid;
- uint8_t d = rx_adapter->eth_rx_poll[poll_idx].eth_dev_id;
+ uint16_t d = rx_adapter->eth_rx_poll[poll_idx].eth_dev_id;
/* Don't do a batch dequeue from the rx queue if there isn't
* enough space in the enqueue buffer.
@@ -755,7 +755,7 @@ static uint16_t gcd_u16(uint16_t a, uint16_t b)
}
static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
- uint8_t eth_dev_id,
+ uint16_t eth_dev_id,
int rx_queue_id,
const struct rte_event_eth_rx_adapter_queue_conf *queue_conf)
{
@@ -859,7 +859,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
struct rte_event_eth_rx_adapter *rx_adapter;
int ret;
int socket_id;
- uint8_t i;
+ uint16_t i;
char mem_name[ETH_RX_ADAPTER_SERVICE_NAME_LEN];
const uint8_t default_rss_key[] = {
0x6d, 0x5a, 0x56, 0xda, 0x25, 0x5b, 0x0e, 0xc2,
@@ -978,7 +978,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
int
rte_event_eth_rx_adapter_queue_add(uint8_t id,
- uint8_t eth_dev_id,
+ uint16_t eth_dev_id,
int32_t rx_queue_id,
const struct rte_event_eth_rx_adapter_queue_conf *queue_conf)
{
@@ -1002,7 +1002,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
&cap);
if (ret) {
RTE_EDEV_LOG_ERR("Failed to get adapter caps edev %" PRIu8
- "eth port %" PRIu8, id, eth_dev_id);
+ "eth port %" PRIu16, id, eth_dev_id);
return ret;
}
@@ -1010,7 +1010,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
&& (queue_conf->rx_queue_flags &
RTE_EVENT_ETH_RX_ADAPTER_QUEUE_FLOW_ID_VALID)) {
RTE_EDEV_LOG_ERR("Flow ID override is not supported,"
- " eth port: %" PRIu8 " adapter id: %" PRIu8,
+ " eth port: %" PRIu16 " adapter id: %" PRIu8,
eth_dev_id, id);
return -EINVAL;
}
@@ -1018,7 +1018,8 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
if ((cap & RTE_EVENT_ETH_RX_ADAPTER_CAP_MULTI_EVENTQ) == 0 &&
(rx_queue_id != -1)) {
RTE_EDEV_LOG_ERR("Rx queues can only be connected to single "
- "event queue id %u eth port %u", id, eth_dev_id);
+ "event queue, eth port: %" PRIu16 " adapter id: %"
+ PRIu8, eth_dev_id, id);
return -EINVAL;
}
@@ -1075,7 +1076,7 @@ static int add_rx_queue(struct rte_event_eth_rx_adapter *rx_adapter,
}
int
-rte_event_eth_rx_adapter_queue_del(uint8_t id, uint8_t eth_dev_id,
+rte_event_eth_rx_adapter_queue_del(uint8_t id, uint16_t eth_dev_id,
int32_t rx_queue_id)
{
int ret = 0;