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