[dpdk-dev] [PATCH v2] eventdev: make ethernet port identifiers 16 bit

Jerin Jacob jerin.jacob at caviumnetworks.com
Thu May 10 07:35:40 CEST 2018


-----Original Message-----
> Date: Thu, 10 May 2018 02:22:40 +0530
> From: Nikhil Rao <nikhil.rao at intel.com>
> To: jerin.jacob at caviumnetworks.com
> CC: ferruh.yigit at intel.com, lei.a.yao at intel.com, dev at dpdk.org, Nikhil Rao
>  <nikhil.rao at intel.com>, stable at 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 at intel.com>
> Cc: stable at dpdk.org
> --

Acked-by: Jerin Jacob <jerin.jacob at 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
> 


More information about the dev mailing list