On Tue, Oct 19, 2021 at 8:36 PM Harman Kalra <hka...@marvell.com> wrote: > diff --git a/lib/eal/version.map b/lib/eal/version.map > index 38f7de83e1..7112dbc146 100644 > --- a/lib/eal/version.map > +++ b/lib/eal/version.map > @@ -109,18 +109,10 @@ DPDK_22 { > rte_hexdump; > rte_hypervisor_get; > rte_hypervisor_get_name; # WINDOWS_NO_EXPORT > - rte_intr_allow_others; > rte_intr_callback_register; > rte_intr_callback_unregister; > - rte_intr_cap_multiple; > - rte_intr_disable; > - rte_intr_dp_is_en; > - rte_intr_efd_disable; > - rte_intr_efd_enable; > rte_intr_enable; > - rte_intr_free_epoll_fd; > - rte_intr_rx_ctl; > - rte_intr_tls_epfd; > + rte_intr_disable;
Please sort symbols alphabetically, this patch moves rte_intr_disable after rte_intr_enable. > rte_keepalive_create; # WINDOWS_NO_EXPORT > rte_keepalive_dispatch_pings; # WINDOWS_NO_EXPORT > rte_keepalive_mark_alive; # WINDOWS_NO_EXPORT > @@ -420,12 +412,49 @@ EXPERIMENTAL { > > # added in 21.08 > rte_power_monitor_multi; # WINDOWS_NO_EXPORT > + > + # added in 21.11 > + rte_intr_fd_get; # WINDOWS_NO_EXPORT > + rte_intr_fd_set; # WINDOWS_NO_EXPORT > + rte_intr_instance_alloc; > + rte_intr_instance_free; > + rte_intr_type_get; > + rte_intr_type_set; > }; > > INTERNAL { > global: > > rte_firmware_read; > + rte_intr_allow_others; > + rte_intr_cap_multiple; > + rte_intr_dev_fd_get; # WINDOWS_NO_EXPORT > + rte_intr_dev_fd_set; # WINDOWS_NO_EXPORT > + rte_intr_dp_is_en; > + rte_intr_efd_counter_size_set; # WINDOWS_NO_EXPORT > + rte_intr_efd_counter_size_get; # WINDOWS_NO_EXPORT > + rte_intr_efd_disable; > + rte_intr_efd_enable; > + rte_intr_efds_index_get; # WINDOWS_NO_EXPORT > + rte_intr_efds_index_set; # WINDOWS_NO_EXPORT > + rte_intr_elist_index_get; > + rte_intr_elist_index_set; > + rte_intr_event_list_update; > + rte_intr_free_epoll_fd; > + rte_intr_instance_copy; > + rte_intr_instance_windows_handle_get; > + rte_intr_instance_windows_handle_set; > + rte_intr_max_intr_get; > + rte_intr_max_intr_set; > + rte_intr_nb_efd_get; # WINDOWS_NO_EXPORT > + rte_intr_nb_efd_set; # WINDOWS_NO_EXPORT > + rte_intr_nb_intr_get; # WINDOWS_NO_EXPORT > + rte_intr_rx_ctl; > + rte_intr_tls_epfd; > + rte_intr_vec_list_alloc; > + rte_intr_vec_list_free; > + rte_intr_vec_list_index_get; > + rte_intr_vec_list_index_set; > rte_mem_lock; > rte_mem_map; > rte_mem_page_size; I see at least one link issue on Windows: FAILED: lib/rte_ethdev-22.dll "clang" -Wl,/MACHINE:X64 -Wl,/OUT:lib/rte_ethdev-22.dll lib/librte_ethdev.a.p/ethdev_ethdev_private.c.obj lib/librte_ethdev.a.p/ethdev_ethdev_profile.c.obj lib/librte_ethdev.a.p/ethdev_ethdev_trace_points.c.obj lib/librte_ethdev.a.p/ethdev_rte_class_eth.c.obj lib/librte_ethdev.a.p/ethdev_rte_ethdev.c.obj lib/librte_ethdev.a.p/ethdev_rte_flow.c.obj lib/librte_ethdev.a.p/ethdev_rte_mtr.c.obj lib/librte_ethdev.a.p/ethdev_rte_tm.c.obj "-Wl,/nologo" "-Wl,/release" "-Wl,/nologo" "-Wl,/OPT:REF" "-Wl,/DLL" "-Wl,/IMPLIB:lib\rte_ethdev.lib" "lib\rte_eal.lib" "lib\rte_kvargs.lib" "lib\rte_net.lib" "lib\rte_mbuf.lib" "lib\rte_mempool.lib" "lib\rte_ring.lib" "lib\rte_meter.lib" "lib\rte_telemetry.lib" "-Wl,/def:C:\Users\builder\jenkins\workspace\Windows-Compile-DPDK-Meson\dpdk\build\lib\rte_ethdev_exports.def" "-ldbghelp" "-lsetupapi" "-lws2_32" "-lmincore" "-lkernel32" "-luser32" "-lgdi32" "-lwinspool" "-lshell32" "-lole32" "-loleaut32" "-luuid" "-lcomdlg32" "-ladvapi32" Creating library lib\rte_ethdev.lib and object lib\rte_ethdev.exp ethdev_rte_ethdev.c.obj : error LNK2019: unresolved external symbol rte_intr_efds_index_get referenced in function rte_eth_dev_rx_intr_ctl_q_get_fd lib\rte_ethdev-22.dll : fatal error LNK1120: 1 unresolved externals AFAIU, eal_common_interrupts.c hosts those new symbols and this file is compiled for Windows (from common/meson.build update), so all intr symbols are available. There is no reason to filter interrupts symbols for Windows, is there? -- David Marchand