[dpdk-dev] [RFC 1/7] net/af_xdp: new PMD driver

Zhang, Qi Z qi.z.zhang at intel.com
Thu Mar 1 02:59:54 CET 2018



> -----Original Message-----
> From: Stephen Hemminger [mailto:stephen at networkplumber.org]
> Sent: Thursday, March 1, 2018 7:45 AM
> To: Zhang, Qi Z <qi.z.zhang at intel.com>
> Cc: dev at dpdk.org; magnus.karlsson at intei.com; Topel, Bjorn
> <bjorn.topel at intel.com>
> Subject: Re: [dpdk-dev] [RFC 1/7] net/af_xdp: new PMD driver
> 
> On Tue, 27 Feb 2018 17:33:00 +0800
> Qi Zhang <qi.z.zhang at intel.com> wrote:
> 
> > +
> > +static uint16_t
> > +eth_af_xdp_rx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
> > +{
> > +	struct pmd_internals *internals = queue;
> > +	struct xdp_queue *rxq = &internals->rx;
> > +	struct rte_mbuf *mbuf;
> > +	unsigned long dropped = 0;
> > +	unsigned long rx_bytes = 0;
> > +	uint16_t count = 0;
> > +
> > +	nb_pkts = nb_pkts < ETH_AF_XDP_RX_BATCH_SIZE ?
> > +		  nb_pkts : ETH_AF_XDP_RX_BATCH_SIZE;
> > +
> 
> Put declarations first.
> Why not iterate if nb_pkts is huge?
Yes, it is not necessary to only read one batch, just for simple implementation, will be fixed.
> 
> > +	struct xdp_desc descs[ETH_AF_XDP_RX_BATCH_SIZE];
> > +	void *indexes[ETH_AF_XDP_RX_BATCH_SIZE];
> > +	int rcvd, i;
> > +	/* fill rx ring */
> > +	if (rxq->num_free >= ETH_AF_XDP_RX_BATCH_SIZE) {
> 
> Blank line after declarations before code please.


More information about the dev mailing list