From b950110b2a8a23ac498deef1bebca643f80c38b1 Mon Sep 17 00:00:00 2001 From: Xavier Simonart Date: Sun, 20 Feb 2022 00:50:56 +0000 Subject: Add initial support for DPDK 21.11 Note that this patch simplistically removes some PROX features, because they are not directly supported anymore by DPDK, since rte_eth_devices is now private: - reading and writing NIC register through PROX command line - querying ixgbe HW statistics instead of getting them from DPDK Also adjusted to following DPDK changes: * struct rte_ether_hdr fields renamed: - d_addr -> dst_addr - s_addr -> src_addr * struct rte_eth_rxmode field renamed: - max_rx_pkt_len -> mtu * --master-lcore -> --main-lcore Signed-off-by: Xavier Simonart Signed-off-by: Patrice Buriez Change-Id: I08445b3dd0f7fe471d9bc7cfb557bd3aeb2f50be --- VNFs/DPPD-PROX/meson.build | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'VNFs/DPPD-PROX/meson.build') diff --git a/VNFs/DPPD-PROX/meson.build b/VNFs/DPPD-PROX/meson.build index 564e5b56..4a37ad50 100644 --- a/VNFs/DPPD-PROX/meson.build +++ b/VNFs/DPPD-PROX/meson.build @@ -26,6 +26,10 @@ project('dppd-prox', 'C', cc = meson.get_compiler('c') # Configure options for prox +# Grab the DPDK version here "manually" as it is not available in the dpdk_dep +# object +dpdk_version = run_command('pkg-config', '--modversion', 'libdpdk').stdout() + if get_option('bng_qinq').enabled() add_project_arguments('-DUSE_QINQ', language: 'c') endif @@ -39,7 +43,11 @@ if get_option('prox_stats').enabled() endif if get_option('hw_direct_stats').enabled() +if dpdk_version.version_compare('<21.11.0') add_project_arguments('-DPROX_HW_DIRECT_STATS', language: 'c') +else + warning('hw_direct_stats not supported on this dpdk version') +endif endif if get_option('dbg') @@ -132,10 +140,6 @@ deps = [dpdk_dep, dl_dep, lua_dep] -# Grab the DPDK version here "manually" as it is not available in the dpdk_dep -# object -dpdk_version = run_command('pkg-config', '--modversion', 'libdpdk').stdout() - # Explicitly add these to the dependency list deps += [cc.find_library('rte_bus_pci', required: true)] deps += [cc.find_library('rte_bus_vdev', required: true)] @@ -150,7 +154,7 @@ sources = files( 'task_init.c', 'handle_aggregator.c', 'handle_nop.c', 'handle_irq.c', 'handle_arp.c', 'handle_impair.c', 'handle_lat.c', 'handle_qos.c', 'handle_qinq_decap4.c', 'handle_routing.c', 'handle_untag.c', - 'handle_mplstag.c', 'handle_qinq_decap6.c', 'rw_reg.c', + 'handle_mplstag.c', 'handle_qinq_decap6.c', 'handle_lb_qinq.c', 'handle_lb_pos.c', 'handle_lb_net.c', 'handle_qinq_encap4.c', 'handle_qinq_encap6.c', 'handle_classify.c', 'handle_l2fwd.c', 'handle_swap.c', 'handle_police.c', 'handle_acl.c', @@ -175,6 +179,10 @@ sources = files( 'stats_cons_cli.c', 'stats_parser.c', 'hash_set.c', 'prox_lua.c', 'prox_malloc.c', 'prox_ipv6.c', 'prox_compat.c', 'handle_nsh.c') +if dpdk_version.version_compare('<21.11.0') +sources += files('rw_reg.c') +endif + # Include a couple of source files depending on DPDK support if cc.find_library('rte_pmd_aesni', required: false).found() sources += files('handle_esp.c') -- cgit 1.2.3-korg