X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fiavf%2Fiavf_rxtx_vec_sse.c;h=b978cc6e05bcfcb62736b97133834981d9ea7f20;hb=89214fe915b8afb118105a784740b6910e54ade5;hp=3d98514c3a1deec89a6aba26c6549ab3bfac6e4a;hpb=02d212ca3125444a70952aae79a1d679e2f83973;p=dpdk.git diff --git a/drivers/net/iavf/iavf_rxtx_vec_sse.c b/drivers/net/iavf/iavf_rxtx_vec_sse.c index 3d98514c3a..b978cc6e05 100644 --- a/drivers/net/iavf/iavf_rxtx_vec_sse.c +++ b/drivers/net/iavf/iavf_rxtx_vec_sse.c @@ -6,8 +6,6 @@ #include #include -#include "base/iavf_prototype.h" -#include "base/iavf_type.h" #include "iavf.h" #include "iavf_rxtx.h" #include "iavf_rxtx_vec_common.h" @@ -521,6 +519,7 @@ iavf_recv_scattered_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts, i++; if (i == nb_bufs) return nb_bufs; + rxq->pkt_first_seg = rx_pkts[i]; } return i + reassemble_packets(rxq, &rx_pkts[i], nb_bufs - i, &split_flags[i]); @@ -621,6 +620,27 @@ iavf_xmit_fixed_burst_vec(void *tx_queue, struct rte_mbuf **tx_pkts, return nb_pkts; } +uint16_t +iavf_xmit_pkts_vec(void *tx_queue, struct rte_mbuf **tx_pkts, + uint16_t nb_pkts) +{ + uint16_t nb_tx = 0; + struct iavf_tx_queue *txq = (struct iavf_tx_queue *)tx_queue; + + while (nb_pkts) { + uint16_t ret, num; + + num = (uint16_t)RTE_MIN(nb_pkts, txq->rs_thresh); + ret = iavf_xmit_fixed_burst_vec(tx_queue, &tx_pkts[nb_tx], num); + nb_tx += ret; + nb_pkts -= ret; + if (ret < num) + break; + } + + return nb_tx; +} + static void __attribute__((cold)) iavf_rx_queue_release_mbufs_sse(struct iavf_rx_queue *rxq) { @@ -654,3 +674,15 @@ iavf_rxq_vec_setup(struct iavf_rx_queue *rxq) rxq->ops = &sse_vec_rxq_ops; return iavf_rxq_vec_setup_default(rxq); } + +int __attribute__((cold)) +iavf_rx_vec_dev_check(struct rte_eth_dev *dev) +{ + return iavf_rx_vec_dev_check_default(dev); +} + +int __attribute__((cold)) +iavf_tx_vec_dev_check(struct rte_eth_dev *dev) +{ + return iavf_tx_vec_dev_check_default(dev); +}