[dpdk-dev] DPDK PDUMP Issue

Dikshant Chitkara dchitkara at Airspan.com
Wed Jul 29 11:14:16 CEST 2020


Hi Vipin,

I tried using `-Wl,--whole-archive` and `-Wl,--no-whole-archive `  option with my necessary libraries but it does not seem to help as well.

Below is the makefile log for my app:

g++ -shared -Wl,--export-dynamic packet_generator.o  -L/mnt/data/dchitkara/DPDK_2020_01_30_x86/x86_64-native-linux-icc/lib -Wl,--whole-archive -Wl,-lrte_mempool_ring -Wl,-lrte_member -Wl,-lrte_eventdev -Wl,-lrte_pmd_pcap -Wl,-lrte_pdump -Wl,-lrte_bus_vmbus -Wl,-lrte_pci -Wl,-lrte_bus_pci -Wl,-lrte_bus_vdev -Wl,-lrte_net -Wl,-lrte_distributor -Wl,-lrte_reorder -Wl,-lrte_kni -Wl,-lrte_pipeline -Wl,-lrte_table -Wl,-lrte_port -Wl,-lrte_timer -Wl,-lrte_hash -Wl,-lrte_jobstats -Wl,-lrte_lpm -Wl,-lrte_power -Wl,-lrte_acl -Wl,-lrte_meter -Wl,-lrte_sched -Wl,-lm -Wl,-lrt -Wl,-lrte_vhost -Wl,--start-group -Wl,-lrte_kvargs -Wl,-lrte_mbuf -Wl,-lrte_ip_frag -Wl,-lrte_ethdev -Wl,-lrte_cryptodev -Wl,-lrte_mempool -Wl,-lrte_ring -Wl,-lrte_eal -Wl,-lrte_cmdline -Wl,-lrte_cfgfile -Wl,-lrte_pmd_bond -Wl,-lrte_pmd_vmxnet3_uio -Wl,-lrte_pmd_virtio -Wl,-lrte_pmd_cxgbe -Wl,-lrte_pmd_enic -Wl,-lrte_pmd_i40e -Wl,-lrte_pmd_fm10k -Wl,-lrte_pmd_ixgbe -Wl,-lrte_pmd_e1000 -Wl,-lrte_pmd_ring -Wl,-lrte_pmd_af_packet -Wl,-lrte_pmd_null -Wl,-lrt -Wl,-lm -Wl,-ldl -Wl,--end-group -Wl,--no-whole-archive  -o ../../../COMMON/../bin/PACKET_GENERATOR_TEST_MOD.so


Thanks,
Dikshant

-----Original Message-----
From: Varghese, Vipin <vipin.varghese at intel.com> 
Sent: 29 July 2020 06:30
To: Dikshant Chitkara <dchitkara at Airspan.com>; Stephen Hemminger <stephen at networkplumber.org>
Cc: users at dpdk.org; dev at dpdk.org; Amir Ilan <ailan at Airspan.com>; Veeresh Patil <vpatil at Airspan.com>
Subject: RE: [dpdk-dev] DPDK PDUMP Issue

NOT FROM AIRSPAN - Caution - External from: vipin.varghese at intel.com Snipped

> Hi Team,
> 
> With fix suggest in prev mail thread at testpmd side, PDUMP works with 
> testpmd.
> 
> However when we try to run our own primary app with PDUMP as a 
> secondary process, PDUMP console comes up, however it does not capture any packets.
> 
> Changes made at primary app side:
> 1. PDUMP initialised just after rte eal init:
> 
>   ret_pdump = rte_pdump_init();
>        if (ret_pdump < 0) {
>                printf("rte_pdump_init failed\n");
>        }
>        else
>        {
>                printf("rte_pdump_init success\n");
>        }
> 
> 2. Makefile modified to add all relevant files to be linked:
> 
> LIB_SO     =-L$(DPDK_LIB) -lrte_mbuf -lrte_eal -lnuma -lrte_pmd_pcap -
> lrte_pdump  -lrte_pmd_i40e -lrte_eal -lrte_ring -lrte_mempool 
> -lrte_cryptodev -lrte_ethdev -lrte_mbuf -lrte_mempool_ring  -lrte_member  -lrte_eventdev  -
> lrte_bus_vmbus   -lrte_pci  -lrte_bus_pci  -lrte_bus_vdev  -lrte_net  -
> lrte_distributor  -lrte_reorder  -lrte_kni  -lrte_pipeline  
> -lrte_table  -lrte_timer  - lrte_hash  -lrte_jobstats  -lrte_lpm  
> -lrte_power  -lrte_acl  -lrte_meter  -lrte_sch
> 
> Even tried to link final DPDK lib so as well:
> LIB_SO     =-L$(DPDK_LIB) -Wl,--whole-archive -ldpdk -Wl,--no-whole-archive -
> L/usr/lib/x86_64-linux-gnu/ -fPIC

Ok, I think I have seen similar outcomes in custom Makefiles. Can you execute with `make -n` with the master Makefile and cross the necessary libraries are in bound between `-Wl,--whole-archive` and `-Wl,--no-whole-archive `  (specically for shared libraries). 

snipped



More information about the dev mailing list