X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Focteontx%2Focteontx_rxtx.c;h=61865ef0bcdbed2be9ba4d3fd5b3b3b6baf2281f;hb=76fd789cc7dddbaa2c08065b7c3ca915b5c07e7c;hp=2258ed43d408e6355332bed7d8eb6bb4aefef6f7;hpb=7f4116bdbb1cb08519b867bb27e577b4e01bed0f;p=dpdk.git diff --git a/drivers/net/octeontx/octeontx_rxtx.c b/drivers/net/octeontx/octeontx_rxtx.c index 2258ed43d4..61865ef0bc 100644 --- a/drivers/net/octeontx/octeontx_rxtx.c +++ b/drivers/net/octeontx/octeontx_rxtx.c @@ -9,7 +9,7 @@ #include #include -#include +#include #include #include #include @@ -41,7 +41,7 @@ octeontx_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts) return count; /* return number of pkts received */ } -#define T(name, f1, sz, flags) \ +#define T(name, f3, f2, f1, f0, sz, flags) \ static uint16_t __rte_noinline __rte_hot \ octeontx_xmit_pkts_ ##name(void *tx_queue, \ struct rte_mbuf **tx_pkts, uint16_t pkts) \ @@ -60,14 +60,17 @@ octeontx_set_tx_function(struct rte_eth_dev *dev) { struct octeontx_nic *nic = octeontx_pmd_priv(dev); - const eth_tx_burst_t tx_burst_func[2] = { -#define T(name, f0, sz, flags) \ - [f0] = octeontx_xmit_pkts_ ##name, + const eth_tx_burst_t tx_burst_func[2][2][2][2] = { +#define T(name, f3, f2, f1, f0, sz, flags) \ + [f3][f2][f1][f0] = octeontx_xmit_pkts_ ##name, OCCTX_TX_FASTPATH_MODES #undef T }; dev->tx_pkt_burst = tx_burst_func + [!!(nic->tx_offload_flags & OCCTX_TX_OFFLOAD_MBUF_NOFF_F)] + [!!(nic->tx_offload_flags & OCCTX_TX_OFFLOAD_OL3_OL4_CSUM_F)] + [!!(nic->tx_offload_flags & OCCTX_TX_OFFLOAD_L3_L4_CSUM_F)] [!!(nic->tx_offload_flags & OCCTX_TX_MULTI_SEG_F)]; }