DPDK patches and discussions
 help / color / mirror / Atom feed
From: David Marchand <david.marchand@redhat.com>
To: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Cc: dev <dev@dpdk.org>, Igor Russkikh <irusskikh@marvell.com>,
	 Aaron Conole <aconole@redhat.com>,
	Michael Santana <maicolgabriel@hotmail.com>,
	Bruce Richardson <bruce.richardson@intel.com>,
	Rasesh Mody <rmody@marvell.com>,
	Shahed Shaikh <shshaikh@marvell.com>,
	Qiming Yang <qiming.yang@intel.com>,
	 Qi Zhang <qi.z.zhang@intel.com>,
	Heinrich Kuhn <heinrich.kuhn@netronome.com>,
	 Devendra Singh Rawat <dsinghrawat@marvell.com>,
	Ray Kinsella <mdr@ashroe.eu>,
	 Neil Horman <nhorman@tuxdriver.com>,
	 Narcisa Ana Maria Vasile <navasile@linux.microsoft.com>,
	Dmitry Malloy <dmitrym@microsoft.com>,
	 Pallavi Kadam <pallavi.kadam@intel.com>
Subject: Re: [dpdk-dev] [PATCH v2 2/2] eal: handle compressed firmwares
Date: Fri, 4 Jun 2021 09:27:15 +0200	[thread overview]
Message-ID: <CAJFAV8yYFOXM6aeYpdFpvP0+JRRsK2VjAWAxfkFWG5t=nEqA0Q@mail.gmail.com> (raw)
In-Reply-To: <20210604012922.63574cff@sovereign>

On Fri, Jun 4, 2021 at 12:29 AM Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> wrote:
>
> 2021-06-03 18:55 (UTC+0200), David Marchand:
> [...]
> > diff --git a/config/meson.build b/config/meson.build
> > index 017bb2efbb..c6985139b4 100644
> > --- a/config/meson.build
> > +++ b/config/meson.build
> > @@ -172,6 +172,13 @@ if libexecinfo.found() and cc.has_header('execinfo.h')
> >      dpdk_extra_ldflags += '-lexecinfo'
> >  endif
> >
> > +libarchive = dependency('libarchive', required: false, method: 'pkg-config')
> > +if libarchive.found()
> > +    dpdk_conf.set('RTE_HAS_LIBARCHIVE', 1)
> > +    add_project_link_arguments('-larchive', language: 'c')
> > +    dpdk_extra_ldflags += '-larchive'
> > +endif
> > +
>
> Suggestion:
>
> diff --git a/config/meson.build b/config/meson.build
> index c6985139b4..c3668798c1 100644
> --- a/config/meson.build
> +++ b/config/meson.build
> @@ -175,7 +175,6 @@ endif
>  libarchive = dependency('libarchive', required: false, method: 'pkg-config')
>  if libarchive.found()
>      dpdk_conf.set('RTE_HAS_LIBARCHIVE', 1)
> -    add_project_link_arguments('-larchive', language: 'c')
>      dpdk_extra_ldflags += '-larchive'
>  endif
>
> diff --git a/lib/eal/meson.build b/lib/eal/meson.build
> index 1722924f67..5a018d97d6 100644
> --- a/lib/eal/meson.build
> +++ b/lib/eal/meson.build
> @@ -16,6 +16,7 @@ subdir(exec_env)
>  subdir(arch_subdir)
>
>  deps += ['kvargs']
> +ext_deps += libarchive
>  if not is_windows
>      deps += ['telemetry']
>  endif
>

I had tried something close when preparing v2 (only keeping
RTE_HAS_LIBARCHIVE in config/meson.build and putting extra_ldflags and
ext_deps in lib/eal/unix/meson.build) but both my try and your
suggestion break static compilation for the helloworld example.


$ ./devtools/test-meson-builds.sh -vv
...
## Building helloworld
gmake: Entering directory
'/home/dmarchan/builds/build-x86-generic/install/usr/local/share/dpdk/examples/helloworld'
rm -f build/helloworld build/helloworld-static build/helloworld-shared
test -d build && rmdir -p build || true
cc  -I/home/dmarchan/intel-ipsec-mb/install/include -O3
-I/home/dmarchan/builds/build-x86-generic/install/usr/local/include
-include rte_config.h -march=nehalem -I/usr/usr/include
-I/opt/isa-l/include  -DALLOW_EXPERIMENTAL_API main.c -o
build/helloworld-shared  -L/home/dmarchan/intel-ipsec-mb/install/lib
-Wl,--as-needed
-L/home/dmarchan/builds/build-x86-generic/install/usr/local/lib
-lrte_node -lrte_graph -lrte_bpf -lrte_flow_classify -lrte_pipeline
-lrte_table -lrte_port -lrte_fib -lrte_ipsec -lrte_vhost -lrte_stack
-lrte_security -lrte_sched -lrte_reorder -lrte_rib -lrte_regexdev
-lrte_rawdev -lrte_pdump -lrte_power -lrte_member -lrte_lpm
-lrte_latencystats -lrte_kni -lrte_jobstats -lrte_ip_frag -lrte_gso
-lrte_gro -lrte_eventdev -lrte_efd -lrte_distributor -lrte_cryptodev
-lrte_compressdev -lrte_cfgfile -lrte_bitratestats -lrte_bbdev
-lrte_acl -lrte_timer -lrte_hash -lrte_metrics -lrte_cmdline -lrte_pci
-lrte_ethdev -lrte_meter -lrte_net -lrte_mbuf -lrte_mempool -lrte_rcu
-lrte_ring -lrte_eal -lrte_telemetry -lrte_kvargs -lbsd
ln -sf helloworld-shared build/helloworld
cc  -I/home/dmarchan/intel-ipsec-mb/install/include -O3
-I/home/dmarchan/builds/build-x86-generic/install/usr/local/include
-include rte_config.h -march=nehalem -I/usr/usr/include
-I/opt/isa-l/include  -DALLOW_EXPERIMENTAL_API main.c -o
build/helloworld-static  -L/home/dmarchan/intel-ipsec-mb/install/lib
-Wl,--whole-archive
-L/home/dmarchan/builds/build-x86-generic/install/usr/local/lib
-l:librte_common_cpt.a -l:librte_common_dpaax.a
-l:librte_common_iavf.a -l:librte_common_octeontx.a
-l:librte_common_octeontx2.a -l:librte_bus_dpaa.a
-l:librte_bus_fslmc.a -l:librte_bus_ifpga.a -l:librte_bus_pci.a
-l:librte_bus_vdev.a -l:librte_bus_vmbus.a -l:librte_common_cnxk.a
-l:librte_common_mlx5.a -l:librte_common_qat.a
-l:librte_common_sfc_efx.a -l:librte_mempool_bucket.a
-l:librte_mempool_cnxk.a -l:librte_mempool_dpaa.a
-l:librte_mempool_dpaa2.a -l:librte_mempool_octeontx.a
-l:librte_mempool_octeontx2.a -l:librte_mempool_ring.a
-l:librte_mempool_stack.a -l:librte_net_af_packet.a
-l:librte_net_af_xdp.a -l:librte_net_ark.a -l:librte_net_atlantic.a
-l:librte_net_avp.a -l:librte_net_axgbe.a -l:librte_net_bnx2x.a
-l:librte_net_bnxt.a -l:librte_net_bond.a -l:librte_net_cxgbe.a
-l:librte_net_dpaa.a -l:librte_net_dpaa2.a -l:librte_net_e1000.a
-l:librte_net_ena.a -l:librte_net_enetc.a -l:librte_net_enic.a
-l:librte_net_failsafe.a -l:librte_net_fm10k.a -l:librte_net_hinic.a
-l:librte_net_hns3.a -l:librte_net_i40e.a -l:librte_net_iavf.a
-l:librte_net_ice.a -l:librte_net_igc.a -l:librte_net_ionic.a
-l:librte_net_ipn3ke.a -l:librte_net_ixgbe.a -l:librte_net_kni.a
-l:librte_net_liquidio.a -l:librte_net_memif.a -l:librte_net_mlx4.a
-l:librte_net_mlx5.a -l:librte_net_netvsc.a -l:librte_net_nfp.a
-l:librte_net_null.a -l:librte_net_octeontx.a
-l:librte_net_octeontx2.a -l:librte_net_octeontx_ep.a
-l:librte_net_pcap.a -l:librte_net_pfe.a -l:librte_net_qede.a
-l:librte_net_ring.a -l:librte_net_sfc.a -l:librte_net_softnic.a
-l:librte_net_szedata2.a -l:librte_net_tap.a -l:librte_net_thunderx.a
-l:librte_net_txgbe.a -l:librte_net_vdev_netvsc.a
-l:librte_net_vhost.a -l:librte_net_virtio.a -l:librte_net_vmxnet3.a
-l:librte_raw_dpaa2_cmdif.a -l:librte_raw_dpaa2_qdma.a
-l:librte_raw_ifpga.a -l:librte_raw_ioat.a -l:librte_raw_ntb.a
-l:librte_raw_octeontx2_dma.a -l:librte_raw_octeontx2_ep.a
-l:librte_raw_skeleton.a -l:librte_crypto_aesni_gcm.a
-l:librte_crypto_aesni_mb.a -l:librte_crypto_bcmfs.a
-l:librte_crypto_caam_jr.a -l:librte_crypto_ccp.a
-l:librte_crypto_dpaa_sec.a -l:librte_crypto_dpaa2_sec.a
-l:librte_crypto_kasumi.a -l:librte_crypto_nitrox.a
-l:librte_crypto_null.a -l:librte_crypto_octeontx.a
-l:librte_crypto_octeontx2.a -l:librte_crypto_openssl.a
-l:librte_crypto_scheduler.a -l:librte_crypto_snow3g.a
-l:librte_crypto_virtio.a -l:librte_crypto_zuc.a
-l:librte_compress_isal.a -l:librte_compress_mlx5.a
-l:librte_compress_octeontx.a -l:librte_compress_zlib.a
-l:librte_regex_mlx5.a -l:librte_regex_octeontx2.a
-l:librte_vdpa_ifc.a -l:librte_vdpa_mlx5.a -l:librte_event_cnxk.a
-l:librte_event_dlb2.a -l:librte_event_dpaa.a -l:librte_event_dpaa2.a
-l:librte_event_dsw.a -l:librte_event_octeontx2.a
-l:librte_event_opdl.a -l:librte_event_skeleton.a -l:librte_event_sw.a
-l:librte_event_octeontx.a -l:librte_baseband_acc100.a
-l:librte_baseband_fpga_5gnr_fec.a -l:librte_baseband_fpga_lte_fec.a
-l:librte_baseband_null.a -l:librte_baseband_turbo_sw.a
-l:librte_node.a -l:librte_graph.a -l:librte_bpf.a
-l:librte_flow_classify.a -l:librte_pipeline.a -l:librte_table.a
-l:librte_port.a -l:librte_fib.a -l:librte_ipsec.a -l:librte_vhost.a
-l:librte_stack.a -l:librte_security.a -l:librte_sched.a
-l:librte_reorder.a -l:librte_rib.a -l:librte_regexdev.a
-l:librte_rawdev.a -l:librte_pdump.a -l:librte_power.a
-l:librte_member.a -l:librte_lpm.a -l:librte_latencystats.a
-l:librte_kni.a -l:librte_jobstats.a -l:librte_ip_frag.a
-l:librte_gso.a -l:librte_gro.a -l:librte_eventdev.a -l:librte_efd.a
-l:librte_distributor.a -l:librte_cryptodev.a -l:librte_compressdev.a
-l:librte_cfgfile.a -l:librte_bitratestats.a -l:librte_bbdev.a
-l:librte_acl.a -l:librte_timer.a -l:librte_hash.a -l:librte_metrics.a
-l:librte_cmdline.a -l:librte_pci.a -l:librte_ethdev.a
-l:librte_meter.a -l:librte_net.a -l:librte_mbuf.a -l:librte_mempool.a
-l:librte_rcu.a -l:librte_ring.a -l:librte_eal.a -l:librte_telemetry.a
-l:librte_kvargs.a -Wl,--no-whole-archive -Wl,--export-dynamic
-lIPSec_MB /usr/lib/gcc/x86_64-redhat-linux/10/../../../../lib64/librt.so
-Wl,--as-needed -lrte_node -lrte_graph -lrte_bpf -lrte_flow_classify
-lrte_pipeline -lrte_table -lrte_port -lrte_fib -lrte_ipsec
-lrte_vhost -lrte_stack -lrte_security -lrte_sched -lrte_reorder
-lrte_rib -lrte_regexdev -lrte_rawdev -lrte_pdump -lrte_power
-lrte_member -lrte_lpm -lrte_latencystats -lrte_kni -lrte_jobstats
-lrte_ip_frag -lrte_gso -lrte_gro -lrte_eventdev -lrte_efd
-lrte_distributor -lrte_cryptodev -lrte_compressdev -lrte_cfgfile
-lrte_bitratestats -lrte_bbdev -lrte_acl -lrte_timer -lrte_hash
-lrte_metrics -lrte_cmdline -lrte_pci -lrte_ethdev -lrte_meter
-lrte_net -lrte_mbuf -lrte_mempool -lrte_rcu -lrte_ring -lrte_eal
-lrte_telemetry -lrte_kvargs -pthread -lm -ldl -lnuma -lfdt -larchive
-lbsd -larchive -lacl -llzma -lzstd -llz4 -lbz2 -lz -lxml2
-L/usr/usr/lib64 -lmlx5 -lpthread -L/usr/usr/lib64 -lpthread -libverbs
-lpthread -lcrypto -lz -ldl -pthread -lbpf -lz -lmlx4 -lpthread
-L/usr/usr/lib64 -libverbs -lpthread -lpcap -Wl,-R/usr/lib64 -lsze2
-L/opt/isa-l/lib -lisal -lelf -lz -ljansson
/usr/bin/ld: cannot find -lacl
/usr/bin/ld: cannot find -llz4
/usr/bin/ld: cannot find -lbz2
collect2: error: ld returned 1 exit status
gmake: *** [Makefile:43: build/helloworld-static] Error 1
gmake: Leaving directory
'/home/dmarchan/builds/build-x86-generic/install/usr/local/share/dpdk/examples/helloworld'



If it helps, here is what pkg-config reports:

$ PKG_CONFIG_PATH=/opt/isa-l/lib/pkgconfig:$HOME/builds/build-x86-generic/install/usr/local/lib/pkgconfig
pkg-config --static --libs libarchive
-larchive -lcrypto -lacl -llzma -lzstd -llz4 -lbz2 -lz -lxml2

$ ls /lib*/lib{acl,lz4,bz2}*
/lib64/libacl.so.1  /lib64/libacl.so.1.1.2253  /lib64/libbz2.so.1
/lib64/libbz2.so.1.0.8  /lib64/liblz4.so.1  /lib64/liblz4.so.1.9.1


$ PKG_CONFIG_PATH=/opt/isa-l/lib/pkgconfig:$HOME/builds/build-x86-generic/install/usr/local/lib/pkgconfig
pkg-config --libs libdpdk
-Wl,--as-needed -L/usr/local/lib -lrte_node -lrte_graph -lrte_bpf
-lrte_flow_classify -lrte_pipeline -lrte_table -lrte_port -lrte_fib
-lrte_ipsec -lrte_vhost -lrte_stack -lrte_security -lrte_sched
-lrte_reorder -lrte_rib -lrte_regexdev -lrte_rawdev -lrte_pdump
-lrte_power -lrte_member -lrte_lpm -lrte_latencystats -lrte_kni
-lrte_jobstats -lrte_ip_frag -lrte_gso -lrte_gro -lrte_eventdev
-lrte_efd -lrte_distributor -lrte_cryptodev -lrte_compressdev
-lrte_cfgfile -lrte_bitratestats -lrte_bbdev -lrte_acl -lrte_timer
-lrte_hash -lrte_metrics -lrte_cmdline -lrte_pci -lrte_ethdev
-lrte_meter -lrte_net -lrte_mbuf -lrte_mempool -lrte_rcu -lrte_ring
-lrte_eal -lrte_telemetry -lrte_kvargs -lbsd
[dmarchan@wsfd-netdev66 dpdk]$
PKG_CONFIG_PATH=/opt/isa-l/lib/pkgconfig:$HOME/builds/build-x86-generic/install/usr/local/lib/pkgconfig
pkg-config --static --libs libdpdk
-Wl,--whole-archive -L/usr/local/lib -l:librte_common_cpt.a
-l:librte_common_dpaax.a -l:librte_common_iavf.a
-l:librte_common_octeontx.a -l:librte_common_octeontx2.a
-l:librte_bus_dpaa.a -l:librte_bus_fslmc.a -l:librte_bus_ifpga.a
-l:librte_bus_pci.a -l:librte_bus_vdev.a -l:librte_bus_vmbus.a
-l:librte_common_cnxk.a -l:librte_common_mlx5.a -l:librte_common_qat.a
-l:librte_common_sfc_efx.a -l:librte_mempool_bucket.a
-l:librte_mempool_cnxk.a -l:librte_mempool_dpaa.a
-l:librte_mempool_dpaa2.a -l:librte_mempool_octeontx.a
-l:librte_mempool_octeontx2.a -l:librte_mempool_ring.a
-l:librte_mempool_stack.a -l:librte_net_af_packet.a
-l:librte_net_af_xdp.a -l:librte_net_ark.a -l:librte_net_atlantic.a
-l:librte_net_avp.a -l:librte_net_axgbe.a -l:librte_net_bnx2x.a
-l:librte_net_bnxt.a -l:librte_net_bond.a -l:librte_net_cxgbe.a
-l:librte_net_dpaa.a -l:librte_net_dpaa2.a -l:librte_net_e1000.a
-l:librte_net_ena.a -l:librte_net_enetc.a -l:librte_net_enic.a
-l:librte_net_failsafe.a -l:librte_net_fm10k.a -l:librte_net_hinic.a
-l:librte_net_hns3.a -l:librte_net_i40e.a -l:librte_net_iavf.a
-l:librte_net_ice.a -l:librte_net_igc.a -l:librte_net_ionic.a
-l:librte_net_ipn3ke.a -l:librte_net_ixgbe.a -l:librte_net_kni.a
-l:librte_net_liquidio.a -l:librte_net_memif.a -l:librte_net_mlx4.a
-l:librte_net_mlx5.a -l:librte_net_netvsc.a -l:librte_net_nfp.a
-l:librte_net_null.a -l:librte_net_octeontx.a
-l:librte_net_octeontx2.a -l:librte_net_octeontx_ep.a
-l:librte_net_pcap.a -l:librte_net_pfe.a -l:librte_net_qede.a
-l:librte_net_ring.a -l:librte_net_sfc.a -l:librte_net_softnic.a
-l:librte_net_szedata2.a -l:librte_net_tap.a -l:librte_net_thunderx.a
-l:librte_net_txgbe.a -l:librte_net_vdev_netvsc.a
-l:librte_net_vhost.a -l:librte_net_virtio.a -l:librte_net_vmxnet3.a
-l:librte_raw_dpaa2_cmdif.a -l:librte_raw_dpaa2_qdma.a
-l:librte_raw_ifpga.a -l:librte_raw_ioat.a -l:librte_raw_ntb.a
-l:librte_raw_octeontx2_dma.a -l:librte_raw_octeontx2_ep.a
-l:librte_raw_skeleton.a -l:librte_crypto_aesni_gcm.a
-l:librte_crypto_aesni_mb.a -l:librte_crypto_bcmfs.a
-l:librte_crypto_caam_jr.a -l:librte_crypto_ccp.a
-l:librte_crypto_dpaa_sec.a -l:librte_crypto_dpaa2_sec.a
-l:librte_crypto_kasumi.a -l:librte_crypto_nitrox.a
-l:librte_crypto_null.a -l:librte_crypto_octeontx.a
-l:librte_crypto_octeontx2.a -l:librte_crypto_openssl.a
-l:librte_crypto_scheduler.a -l:librte_crypto_snow3g.a
-l:librte_crypto_virtio.a -l:librte_crypto_zuc.a
-l:librte_compress_isal.a -l:librte_compress_mlx5.a
-l:librte_compress_octeontx.a -l:librte_compress_zlib.a
-l:librte_regex_mlx5.a -l:librte_regex_octeontx2.a
-l:librte_vdpa_ifc.a -l:librte_vdpa_mlx5.a -l:librte_event_cnxk.a
-l:librte_event_dlb2.a -l:librte_event_dpaa.a -l:librte_event_dpaa2.a
-l:librte_event_dsw.a -l:librte_event_octeontx2.a
-l:librte_event_opdl.a -l:librte_event_skeleton.a -l:librte_event_sw.a
-l:librte_event_octeontx.a -l:librte_baseband_acc100.a
-l:librte_baseband_fpga_5gnr_fec.a -l:librte_baseband_fpga_lte_fec.a
-l:librte_baseband_null.a -l:librte_baseband_turbo_sw.a
-l:librte_node.a -l:librte_graph.a -l:librte_bpf.a
-l:librte_flow_classify.a -l:librte_pipeline.a -l:librte_table.a
-l:librte_port.a -l:librte_fib.a -l:librte_ipsec.a -l:librte_vhost.a
-l:librte_stack.a -l:librte_security.a -l:librte_sched.a
-l:librte_reorder.a -l:librte_rib.a -l:librte_regexdev.a
-l:librte_rawdev.a -l:librte_pdump.a -l:librte_power.a
-l:librte_member.a -l:librte_lpm.a -l:librte_latencystats.a
-l:librte_kni.a -l:librte_jobstats.a -l:librte_ip_frag.a
-l:librte_gso.a -l:librte_gro.a -l:librte_eventdev.a -l:librte_efd.a
-l:librte_distributor.a -l:librte_cryptodev.a -l:librte_compressdev.a
-l:librte_cfgfile.a -l:librte_bitratestats.a -l:librte_bbdev.a
-l:librte_acl.a -l:librte_timer.a -l:librte_hash.a -l:librte_metrics.a
-l:librte_cmdline.a -l:librte_pci.a -l:librte_ethdev.a
-l:librte_meter.a -l:librte_net.a -l:librte_mbuf.a -l:librte_mempool.a
-l:librte_rcu.a -l:librte_ring.a -l:librte_eal.a -l:librte_telemetry.a
-l:librte_kvargs.a -Wl,--no-whole-archive -Wl,--export-dynamic
-lIPSec_MB /usr/lib/gcc/x86_64-redhat-linux/10/../../../../lib64/librt.so
-Wl,--as-needed -lrte_node -lrte_graph -lrte_bpf -lrte_flow_classify
-lrte_pipeline -lrte_table -lrte_port -lrte_fib -lrte_ipsec
-lrte_vhost -lrte_stack -lrte_security -lrte_sched -lrte_reorder
-lrte_rib -lrte_regexdev -lrte_rawdev -lrte_pdump -lrte_power
-lrte_member -lrte_lpm -lrte_latencystats -lrte_kni -lrte_jobstats
-lrte_ip_frag -lrte_gso -lrte_gro -lrte_eventdev -lrte_efd
-lrte_distributor -lrte_cryptodev -lrte_compressdev -lrte_cfgfile
-lrte_bitratestats -lrte_bbdev -lrte_acl -lrte_timer -lrte_hash
-lrte_metrics -lrte_cmdline -lrte_pci -lrte_ethdev -lrte_meter
-lrte_net -lrte_mbuf -lrte_mempool -lrte_rcu -lrte_ring -lrte_eal
-lrte_telemetry -lrte_kvargs -pthread -lm -ldl -lnuma -lfdt -larchive
-lbsd -larchive -lacl -llzma -lzstd -llz4 -lbz2 -lz -lxml2
-L/usr/usr/lib64 -lmlx5 -lpthread -L/usr/usr/lib64 -lpthread -libverbs
-lpthread -lcrypto -lz -ldl -pthread -lbpf -lz -lmlx4 -lpthread
-L/usr/usr/lib64 -libverbs -lpthread -lpcap -Wl,-R/usr/lib64 -lsze2
-L/opt/isa-l/lib -lisal -lelf -lz -ljansson


-- 
David Marchand


  reply	other threads:[~2021-06-04  7:27 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-02  9:58 [dpdk-dev] [PATCH 0/2] Support " David Marchand
2021-06-02  9:58 ` [dpdk-dev] [PATCH 1/2] net/ice: factorize firmware loading David Marchand
2021-06-02  9:58 ` [dpdk-dev] [PATCH 2/2] eal: handle compressed firmwares David Marchand
2021-06-02 11:13   ` Jerin Jacob
2021-06-02 15:46     ` David Marchand
2021-06-02 11:30   ` [dpdk-dev] [EXT] " Igor Russkikh
2021-06-02 21:19   ` [dpdk-dev] " Dmitry Kozlyuk
2021-06-03  7:23     ` David Marchand
2021-06-03  7:53       ` David Marchand
2021-06-03  8:14         ` Bruce Richardson
2021-06-02 10:35 ` [dpdk-dev] [EXT] [PATCH 0/2] Support " Igor Russkikh
2021-06-02 11:05   ` David Marchand
2021-06-02 11:23     ` Igor Russkikh
2021-06-03 16:55 ` [dpdk-dev] [PATCH v2 " David Marchand
2021-06-03 16:55   ` [dpdk-dev] [PATCH v2 1/2] net/ice: factorize firmware loading David Marchand
2021-06-28  7:58     ` David Marchand
2021-06-03 16:55   ` [dpdk-dev] [PATCH v2 2/2] eal: handle compressed firmwares David Marchand
2021-06-03 22:29     ` Dmitry Kozlyuk
2021-06-04  7:27       ` David Marchand [this message]
2021-06-04 21:40         ` Dmitry Kozlyuk
2021-06-07  9:28           ` David Marchand
2021-06-14 13:17   ` [dpdk-dev] [PATCH v2 0/2] Support " David Marchand
2021-06-29  8:06 ` [dpdk-dev] [PATCH v3 " David Marchand
2021-06-29  8:06   ` [dpdk-dev] [PATCH v3 1/2] net/ice: factorize firmware loading David Marchand
2021-07-05  1:43     ` Wang, Haiyue
2021-07-05  3:33       ` Wang, Haiyue
2021-07-05  7:08       ` David Marchand
2021-07-05  8:02         ` Wang, Haiyue
2021-07-05  8:33           ` David Marchand
2021-07-05  9:59             ` Zhang, Qi Z
2021-07-05 11:46               ` Wang, Haiyue
2021-07-05 11:44             ` Wang, Haiyue
2021-07-05 13:18     ` Wang, Haiyue
2021-07-05 13:34       ` David Marchand
2021-06-29  8:06   ` [dpdk-dev] [PATCH v3 2/2] eal: handle compressed firmwares David Marchand
2021-06-29 12:45     ` Aaron Conole
2021-07-05  6:35     ` Wang, Haiyue
2021-07-05  6:54       ` David Marchand
2021-07-05 13:19     ` Wang, Haiyue
2021-07-06 14:29 ` [dpdk-dev] [PATCH v4 0/2] Support " David Marchand
2021-07-06 14:29   ` [dpdk-dev] [PATCH v4 1/2] net/ice: factorize firmware loading David Marchand
2021-07-06 14:29   ` [dpdk-dev] [PATCH v4 2/2] eal: handle compressed firmwares David Marchand
2021-07-07 12:08 ` [dpdk-dev] [PATCH v5 0/2] Support " David Marchand
2021-07-07 12:08   ` [dpdk-dev] [PATCH v5 1/2] net/ice: factorize firmware loading David Marchand
2021-07-07 12:08   ` [dpdk-dev] [PATCH v5 2/2] eal: handle compressed firmware David Marchand
2021-07-07 15:03   ` [dpdk-dev] [PATCH v5 0/2] Support compressed firmwares David Marchand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAJFAV8yYFOXM6aeYpdFpvP0+JRRsK2VjAWAxfkFWG5t=nEqA0Q@mail.gmail.com' \
    --to=david.marchand@redhat.com \
    --cc=aconole@redhat.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=dmitry.kozliuk@gmail.com \
    --cc=dmitrym@microsoft.com \
    --cc=dsinghrawat@marvell.com \
    --cc=heinrich.kuhn@netronome.com \
    --cc=irusskikh@marvell.com \
    --cc=maicolgabriel@hotmail.com \
    --cc=mdr@ashroe.eu \
    --cc=navasile@linux.microsoft.com \
    --cc=nhorman@tuxdriver.com \
    --cc=pallavi.kadam@intel.com \
    --cc=qi.z.zhang@intel.com \
    --cc=qiming.yang@intel.com \
    --cc=rmody@marvell.com \
    --cc=shshaikh@marvell.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).