aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-generic/pktio/dpdk.c
diff options
context:
space:
mode:
Diffstat (limited to 'platform/linux-generic/pktio/dpdk.c')
-rw-r--r--platform/linux-generic/pktio/dpdk.c155
1 files changed, 4 insertions, 151 deletions
diff --git a/platform/linux-generic/pktio/dpdk.c b/platform/linux-generic/pktio/dpdk.c
index 1922109a7..c52cd09d1 100644
--- a/platform/linux-generic/pktio/dpdk.c
+++ b/platform/linux-generic/pktio/dpdk.c
@@ -34,49 +34,6 @@ static int disable_pktio; /** !0 this pktio disabled, 0 enabled */
/* Has dpdk_pktio_init() been called */
static odp_bool_t dpdk_initialized;
-#define PMD_EXT(drv) \
-extern void devinitfn_##drv(void)
-
-PMD_EXT(aesni_gcm_pmd_drv);
-PMD_EXT(cryptodev_aesni_mb_pmd_drv);
-PMD_EXT(cryptodev_kasumi_pmd_drv);
-PMD_EXT(cryptodev_null_pmd_drv);
-PMD_EXT(cryptodev_snow3g_pmd_drv);
-PMD_EXT(pmd_qat_drv);
-PMD_EXT(pmd_af_packet_drv);
-PMD_EXT(rte_bnx2x_driver);
-PMD_EXT(rte_bnx2xvf_driver);
-PMD_EXT(bnxt_pmd_drv);
-PMD_EXT(bond_drv);
-PMD_EXT(rte_cxgbe_driver);
-PMD_EXT(em_pmd_drv);
-PMD_EXT(pmd_igb_drv);
-PMD_EXT(pmd_igbvf_drv);
-PMD_EXT(ena_pmd_drv);
-PMD_EXT(rte_enic_driver);
-PMD_EXT(rte_fm10k_driver);
-PMD_EXT(rte_i40e_driver);
-PMD_EXT(rte_i40evf_driver);
-PMD_EXT(rte_ixgbe_driver);
-PMD_EXT(rte_ixgbevf_driver);
-PMD_EXT(rte_mlx4_driver);
-PMD_EXT(rte_mlx5_driver);
-PMD_EXT(pmd_mpipe_xgbe_drv);
-PMD_EXT(pmd_mpipe_gbe_drv);
-PMD_EXT(rte_nfp_net_driver);
-PMD_EXT(pmd_null_drv);
-PMD_EXT(pmd_pcap_drv);
-PMD_EXT(rte_qede_driver);
-PMD_EXT(rte_qedevf_driver);
-PMD_EXT(pmd_ring_drv);
-PMD_EXT(pmd_szedata2_drv);
-PMD_EXT(rte_nicvf_driver);
-PMD_EXT(pmd_vhost_drv);
-PMD_EXT(rte_virtio_driver);
-PMD_EXT(virtio_user_driver);
-PMD_EXT(rte_vmxnet3_driver);
-PMD_EXT(pmd_xenvirt_drv);
-
#define MEMPOOL_OPS(hdl) \
extern void mp_hdlr_init_##hdl(void)
@@ -89,116 +46,11 @@ MEMPOOL_OPS(ops_stack);
/*
* This function is not called from anywhere, it's only purpose is to make sure
* that if ODP and DPDK are statically linked to an application, the GCC
- * constructors of the PMDs are linked as well. Otherwise the linker would omit
- * them. It's not an issue with dynamic linking. */
+ * constructors of mempool handlers are linked as well. Otherwise the linker
+ * would omit them. It's not an issue with dynamic linking. */
void refer_constructors(void);
void refer_constructors(void)
{
-#ifdef RTE_LIBRTE_PMD_AESNI_GCM
- devinitfn_aesni_gcm_pmd_drv();
-#endif
-#ifdef RTE_LIBRTE_PMD_AESNI_MB
- devinitfn_cryptodev_aesni_mb_pmd_drv();
-#endif
-#ifdef RTE_LIBRTE_PMD_KASUMI
- devinitfn_cryptodev_kasumi_pmd_drv();
-#endif
-#ifdef RTE_LIBRTE_PMD_NULL_CRYPTO
- devinitfn_cryptodev_null_pmd_drv();
-#endif
-#ifdef RTE_LIBRTE_PMD_SNOW3G
- devinitfn_cryptodev_snow3g_pmd_drv();
-#endif
-#ifdef RTE_LIBRTE_PMD_QAT
- devinitfn_pmd_qat_drv();
-#endif
-#ifdef RTE_LIBRTE_PMD_AF_PACKET
- devinitfn_pmd_af_packet_drv();
-#endif
-#ifdef RTE_LIBRTE_BNX2X_PMD
- devinitfn_rte_bnx2x_driver();
- devinitfn_rte_bnx2xvf_driver();
-#endif
-#ifdef RTE_LIBRTE_BNXT_PMD
- devinitfn_bnxt_pmd_drv();
-#endif
-#ifdef RTE_LIBRTE_PMD_BOND
- devinitfn_bond_drv();
-#endif
-#ifdef RTE_LIBRTE_CXGBE_PMD
- devinitfn_rte_cxgbe_driver();
-#endif
-#ifdef RTE_LIBRTE_EM_PMD
- devinitfn_em_pmd_drv();
-#endif
-#ifdef RTE_LIBRTE_IGB_PMD
- devinitfn_pmd_igb_drv();
- devinitfn_pmd_igbvf_drv();
-#endif
-#ifdef RTE_LIBRTE_ENA_PMD
- devinitfn_ena_pmd_drv();
-#endif
-#ifdef RTE_LIBRTE_ENIC_PMD
- devinitfn_rte_enic_driver();
-#endif
-#ifdef RTE_LIBRTE_FM10K_PMD
- devinitfn_rte_fm10k_driver();
-#endif
-#ifdef RTE_LIBRTE_I40E_PMD
- devinitfn_rte_i40e_driver();
- devinitfn_rte_i40evf_driver();
-#endif
-#ifdef RTE_LIBRTE_IXGBE_PMD
- devinitfn_rte_ixgbe_driver();
- devinitfn_rte_ixgbevf_driver();
-#endif
-#ifdef RTE_LIBRTE_MLX4_PMD
- devinitfn_rte_mlx4_driver();
-#endif
-#ifdef RTE_LIBRTE_MLX5_PMD
- devinitfn_rte_mlx5_driver();
-#endif
-#ifdef RTE_LIBRTE_MPIPE_PMD
- devinitfn_pmd_mpipe_xgbe_drv()
- devinitfn_pmd_mpipe_gbe_drv()
-#endif
-#ifdef RTE_LIBRTE_NFP_PMD
- devinitfn_rte_nfp_net_driver();
-#endif
-#ifdef RTE_LIBRTE_PMD_NULL
- devinitfn_pmd_null_drv();
-#endif
-#ifdef RTE_LIBRTE_PMD_PCAP
- devinitfn_pmd_pcap_drv();
-#endif
-#ifdef RTE_LIBRTE_QEDE_PMD
- devinitfn_rte_qede_driver();
- devinitfn_rte_qedevf_driver();
-#endif
-#ifdef RTE_LIBRTE_PMD_RING
- devinitfn_pmd_ring_drv();
-#endif
-#ifdef RTE_LIBRTE_PMD_SZEDATA2
- devinitfn_pmd_szedata2_drv();
-#endif
-#ifdef RTE_LIBRTE_THUNDERX_NICVF_PMD
- devinitfn_rte_nicvf_driver();
-#endif
-#ifdef RTE_LIBRTE_PMD_VHOST
- devinitfn_pmd_vhost_drv();
-#endif
-#ifdef RTE_LIBRTE_VIRTIO_PMD
- devinitfn_rte_virtio_driver();
-#endif
-#ifdef RTE_VIRTIO_USER
- devinitfn_rte_virtio_driver();
-#endif
-#ifdef RTE_LIBRTE_VMXNET3_PMD
- devinitfn_rte_vmxnet3_driver();
-#endif
-#ifdef RTE_LIBRTE_PMD_XENVIRT
- devinitfn_pmd_xenvirt_drv();
-#endif
mp_hdlr_init_ops_mp_mc();
mp_hdlr_init_ops_sp_sc();
mp_hdlr_init_ops_mp_sc();
@@ -801,7 +653,8 @@ static inline int mbuf_to_pkt(pktio_entry_t *pktio_entry,
if (pktio_cls_enabled(pktio_entry))
copy_packet_cls_metadata(&parsed_hdr, pkt_hdr);
else
- packet_parse_l2(&pkt_hdr->p, pkt_len);
+ packet_parse_layer(pkt_hdr,
+ pktio_entry->s.config.parser.layer);
if (mbuf->ol_flags & PKT_RX_RSS_HASH)
odp_packet_flow_hash_set(pkt, mbuf->hash.rss);