[dpdk-dev] [PATCH 06/14] fm10k: add Vector RX function

Bruce Richardson bruce.richardson at intel.com
Tue Sep 29 16:22:47 CEST 2015


On Tue, Sep 29, 2015 at 01:14:26PM +0000, Ananyev, Konstantin wrote:
> 
> 
> > -----Original Message-----
> > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Chen Jing D(Mark)
> > Sent: Tuesday, September 29, 2015 2:04 PM
> > To: dev at dpdk.org
> > Subject: [dpdk-dev] [PATCH 06/14] fm10k: add Vector RX function
> > 
> > From: "Chen Jing D(Mark)" <jing.d.chen at intel.com>
> > 
> > Add func fm10k_recv_raw_pkts_vec to parse raw packets, in which
> > includes possible chained packets.
> > Add func fm10k_recv_pkts_vec to receive single mbuf packet.
> > 
> > Signed-off-by: Chen Jing D(Mark) <jing.d.chen at intel.com>
> > ---
> >  drivers/net/fm10k/fm10k.h          |    1 +
> >  drivers/net/fm10k/fm10k_rxtx_vec.c |  213 ++++++++++++++++++++++++++++++++++++
> >  2 files changed, 214 insertions(+), 0 deletions(-)
> > 
> > diff --git a/drivers/net/fm10k/fm10k.h b/drivers/net/fm10k/fm10k.h
> > index d924cae..285254f 100644
> > --- a/drivers/net/fm10k/fm10k.h
> > +++ b/drivers/net/fm10k/fm10k.h
> > @@ -327,4 +327,5 @@ uint16_t fm10k_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
> >  	uint16_t nb_pkts);
> > 
> >  int fm10k_rxq_vec_setup(struct fm10k_rx_queue *rxq);
> > +uint16_t fm10k_recv_pkts_vec(void *, struct rte_mbuf **, uint16_t);
> >  #endif
> > diff --git a/drivers/net/fm10k/fm10k_rxtx_vec.c b/drivers/net/fm10k/fm10k_rxtx_vec.c
> > index 581a309..63b34b5 100644
> > --- a/drivers/net/fm10k/fm10k_rxtx_vec.c
> > +++ b/drivers/net/fm10k/fm10k_rxtx_vec.c
> > @@ -281,3 +281,216 @@ fm10k_rxq_rearm(struct fm10k_rx_queue *rxq)
> >  	/* Update the tail pointer on the NIC */
> >  	FM10K_PCI_REG_WRITE(rxq->tail_ptr, rx_id);
> >  }
> > +
> > +/*
> > + * vPMD receive routine, now only accept (nb_pkts == RTE_IXGBE_VPMD_RX_BURST)
> > + * in one loop
> > + *
> > + * Notice:
> > + * - nb_pkts < RTE_IXGBE_VPMD_RX_BURST, just return no packet

Why this limitation? I believe this limitation has already been removed for
ixgbe, so the same solution should be applicable here

/Bruce


More information about the dev mailing list