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

Jerin Jacob jerin.jacob at caviumnetworks.com
Thu May 10 07:49:28 CEST 2018


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


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
> > 


More information about the dev mailing list