git: d9dac1d2ccd5 - 2024Q3 - net/vpp: New port for layer 2-4 multi-platform network stack
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 15 Aug 2024 22:50:07 UTC
The branch 2024Q3 has been updated by jrm: URL: https://cgit.FreeBSD.org/ports/commit/?id=d9dac1d2ccd5a13763b8e14cf3d7d333f7899df9 commit d9dac1d2ccd5a13763b8e14cf3d7d333f7899df9 Author: Tom Jones <thj@FreeBSD.org> AuthorDate: 2024-08-07 20:42:19 +0000 Commit: Joseph Mingrone <jrm@FreeBSD.org> CommitDate: 2024-08-15 22:30:47 +0000 net/vpp: New port for layer 2-4 multi-platform network stack Sponsored by: The FreeBSD Foundation Co-authored-by: Joseph Mingrone <jrm@FreeBSD.org> (cherry picked from commit 8ac9dd794c8fafcd763dc541c13790bcc23699b3) --- net/Makefile | 1 + net/vpp/Makefile | 55 +++++ net/vpp/distinfo | 7 + net/vpp/files/patch-Makefile | 46 ++++ net/vpp/files/patch-build-root_Makefile | 11 + .../files/patch-src_plugins_dpdk_CMakeLists.txt | 11 + net/vpp/pkg-descr | 9 + net/vpp/pkg-plist | 256 +++++++++++++++++++++ 8 files changed, 396 insertions(+) diff --git a/net/Makefile b/net/Makefile index 36bf0f8ec4eb..4bba6c4e1c01 100644 --- a/net/Makefile +++ b/net/Makefile @@ -1609,6 +1609,7 @@ SUBDIR += vncreflector SUBDIR += vnstat SUBDIR += vortex + SUBDIR += vpp SUBDIR += vtun SUBDIR += wackamole SUBDIR += wakeonlan diff --git a/net/vpp/Makefile b/net/vpp/Makefile new file mode 100644 index 000000000000..3b06cdc1b5f4 --- /dev/null +++ b/net/vpp/Makefile @@ -0,0 +1,55 @@ +PORTNAME= vpp +DISTVERSIONPREFIX= v +DISTVERSION= 24.06 +CATEGORIES= net + +PATCH_SITES= https://github.com/adventureloop/${PORTNAME}/commit/ +PATCHFILES= fba2754d78cde15f93d19f86499aa3803110bc73.patch:-p1 \ + c15618aa59bf39197c66ec2e82c58c02d4c56c20.patch:-p1 + +MAINTAINER= thj@freebsd.org +COMMENT= VPP: A fast, scalable layer 2-4 multi-platform network stack +WWW= https://fd.io + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +IGNORE_FreeBSD_13= is not supported on FreeBSD 13.x due to missing timerfd library shim + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}ply>0:devel/py-ply@${PY_FLAVOR} \ + bash:shells/bash \ + cmake:devel/cmake-core +LIB_DEPENDS= libepoll-shim.so:devel/libepoll-shim \ + libpcap.so:net/libpcap \ + librte_cryptodev.so:net/dpdk + +USES= gmake ninja:build python:build shebangfix ssl +USE_GITHUB= yes +GH_ACCOUNT= FDio +USE_LDCONFIG= yes +SHEBANG_REGEX= '.*\.py$$' + +ALL_TARGET= build-release + +VPPPROGS= vat2 vpp_json_test vpp_echo vpp_prometheus_export svmdbtool \ + vpp_get_metrics vpp_restart svmtool vpp_get_stats vpp vppctl +BUILD_PATH= build-root/build-vpp-native/vpp + +pre-configure: + @${ECHO_CMD} ${DISTVERSION} > ${WRKSRC}/src/scripts/.version + +do-install: +# vpp_find_plugin_path hard codes in a search based on the vpp path to +# find vpp_plugsins and explicitly looks for 'bin' (src/vpp/vnet/main.c) +.for vpp_prog in ${VPPPROGS} + ${INSTALL_PROGRAM} ${WRKSRC}/${BUILD_PATH}/bin/${vpp_prog} ${STAGEDIR}${PREFIX}/bin +.endfor + ${MKDIR} ${STAGEDIR}${PREFIX}/lib/vpp_plugins ${STAGEDIR}${PREFIX}/lib/vat2_plugins + ${CP} ${WRKSRC}/${BUILD_PATH}/lib/vpp_plugins/* ${STAGEDIR}${PREFIX}/lib/vpp_plugins/ + ${CP} ${WRKSRC}/${BUILD_PATH}/lib/vat2_plugins/* ${STAGEDIR}${PREFIX}/lib/vat2_plugins/ + ${INSTALL_LIB} ${WRKSRC}/${BUILD_PATH}/lib/*.so* ${STAGEDIR}${PREFIX}/lib + +post-install: + ${FIND} ${STAGEDIR}${PREFIX}/lib/ -name *.so -exec ${STRIP_CMD} {} + + +.include <bsd.port.mk> diff --git a/net/vpp/distinfo b/net/vpp/distinfo new file mode 100644 index 000000000000..8da4014e8aaa --- /dev/null +++ b/net/vpp/distinfo @@ -0,0 +1,7 @@ +TIMESTAMP = 1723131459 +SHA256 (FDio-vpp-v24.06_GH0.tar.gz) = b8192821b38821b39ea435505d2d76b167f637654ebfb30d3f71cbead3bcaa07 +SIZE (FDio-vpp-v24.06_GH0.tar.gz) = 22030398 +SHA256 (fba2754d78cde15f93d19f86499aa3803110bc73.patch) = 2943947b3b07776d30bc1db652f1a5067ea63d5acf80dce9798aa88de85775df +SIZE (fba2754d78cde15f93d19f86499aa3803110bc73.patch) = 1659 +SHA256 (c15618aa59bf39197c66ec2e82c58c02d4c56c20.patch) = a2075b41b77622368f22320645bc81e50bf1110200a2dfa547122b256023d965 +SIZE (c15618aa59bf39197c66ec2e82c58c02d4c56c20.patch) = 1633 diff --git a/net/vpp/files/patch-Makefile b/net/vpp/files/patch-Makefile new file mode 100644 index 000000000000..585bcd48d00b --- /dev/null +++ b/net/vpp/files/patch-Makefile @@ -0,0 +1,46 @@ +--- Makefile.orig 2024-05-03 16:02:54 UTC ++++ Makefile +@@ -314,29 +314,6 @@ $(BR)/.deps.ok: + @echo " DISABLED_PLUGINS = $(DISABLED_PLUGINS)" + + $(BR)/.deps.ok: +-ifeq ($(findstring y,$(UNATTENDED)),y) +- $(MAKE) install-dep +-endif +-ifeq ($(filter ubuntu debian linuxmint,$(OS_ID)),$(OS_ID)) +- @MISSING=$$(apt-get install -y -qq -s $(DEB_DEPENDS) | grep "^Inst ") ; \ +- if [ -n "$$MISSING" ] ; then \ +- echo "\nPlease install missing packages: \n$$MISSING\n" ; \ +- echo "by executing \"make install-dep\"\n" ; \ +- exit 1 ; \ +- fi ; \ +- exit 0 +-else ifneq ("$(wildcard /etc/redhat-release)","") +- @for i in $(RPM_DEPENDS) ; do \ +- RPM=$$(basename -s .rpm "$${i##*/}" | cut -d- -f1,2,3,4) ; \ +- MISSING+=$$(rpm -q $$RPM | grep "^package") ; \ +- done ; \ +- if [ -n "$$MISSING" ] ; then \ +- echo "Please install missing RPMs: \n$$MISSING\n" ; \ +- echo "by executing \"make install-dep\"\n" ; \ +- exit 1 ; \ +- fi ; \ +- exit 0 +-endif + @touch $@ + + .PHONY: bootstrap +@@ -696,13 +673,6 @@ pkg-srpm: dist + .PHONY: pkg-srpm + pkg-srpm: dist + $(MAKE) -C extras/rpm srpm +- +-.PHONY: install-ext-deps +-install-ext-deps: +- $(MAKE) -C build/external install-$(PKG) +- +-.PHONY: install-ext-dep +-install-ext-dep: install-ext-deps + + .PHONY: json-api-files + json-api-files: diff --git a/net/vpp/files/patch-build-root_Makefile b/net/vpp/files/patch-build-root_Makefile new file mode 100644 index 000000000000..c9e8599bc46f --- /dev/null +++ b/net/vpp/files/patch-build-root_Makefile @@ -0,0 +1,11 @@ +--- build-root/Makefile.orig 2024-05-03 16:05:23 UTC ++++ build-root/Makefile +@@ -736,7 +736,7 @@ install_check_timestamp = \ + + .PHONY: %-install + %-install: %-build +- $(install_check_timestamp) ++ $(call build_msg_fn, external build removed) + + ###################################################################### + # Source code managment diff --git a/net/vpp/files/patch-src_plugins_dpdk_CMakeLists.txt b/net/vpp/files/patch-src_plugins_dpdk_CMakeLists.txt new file mode 100644 index 000000000000..6d9fe7d43e2b --- /dev/null +++ b/net/vpp/files/patch-src_plugins_dpdk_CMakeLists.txt @@ -0,0 +1,11 @@ +--- src/plugins/dpdk/CMakeLists.txt.orig 2024-05-09 15:47:26 UTC ++++ src/plugins/dpdk/CMakeLists.txt +@@ -14,7 +14,7 @@ + ############################################################################## + # Check if we want to use the system DPDK + ############################################################################## +-option(VPP_USE_SYSTEM_DPDK "Use the system installation of DPDK." OFF) ++option(VPP_USE_SYSTEM_DPDK "Use the system installation of DPDK." ON) + if(VPP_USE_SYSTEM_DPDK) + find_package(PkgConfig REQUIRED) + pkg_check_modules(DPDK REQUIRED libdpdk) diff --git a/net/vpp/pkg-descr b/net/vpp/pkg-descr new file mode 100644 index 000000000000..0b3169273b57 --- /dev/null +++ b/net/vpp/pkg-descr @@ -0,0 +1,9 @@ +FD.io's Vector Packet Processor (VPP) is a fast, scalable layer 2-4 +multi-platform network stack. It runs in Linux Userspace on multiple +architectures including x86, ARM, and Power architectures. + +VPP's high performance network stack is quickly becoming the network stack of +choice for applications around the world. + +Some VPP Use-cases include vSwitches, vRouters, Gateways, Firewalls and +Load-Balancers, to name a few. diff --git a/net/vpp/pkg-plist b/net/vpp/pkg-plist new file mode 100644 index 000000000000..1c1c59fdbd17 --- /dev/null +++ b/net/vpp/pkg-plist @@ -0,0 +1,256 @@ +bin/svmdbtool +bin/svmtool +bin/vat2 +bin/vpp +bin/vpp_echo +bin/vpp_get_metrics +bin/vpp_get_stats +bin/vpp_json_test +bin/vpp_prometheus_export +bin/vpp_restart +bin/vppctl +lib/libnat.so +lib/libnat.so.24.06.0 +lib/libsvm.so +lib/libsvm.so.24.06.0 +lib/libsvmdb.so +lib/libsvmdb.so.24.06.0 +lib/libvapiclient.so +lib/libvapiclient.so.24.06.0 +lib/libvatclient.so +lib/libvatclient.so.24.06.0 +lib/libvatplugin.so +lib/libvatplugin.so.24.06.0 +lib/libvlib.so +lib/libvlib.so.24.06.0 +lib/libvlibapi.so +lib/libvlibapi.so.24.06.0 +lib/libvlibmemory.so +lib/libvlibmemory.so.24.06.0 +lib/libvlibmemoryclient.so +lib/libvlibmemoryclient.so.24.06.0 +lib/libvnet.so +lib/libvnet.so.24.06.0 +lib/libvppapiclient.so +lib/libvppapiclient.so.24.06.0 +lib/libvppcom.so +lib/libvppcom.so.24.06.0 +lib/libvppinfra.so +lib/libvppinfra.so.24.06.0 +lib/libvppmem_preload.so +lib/libvppmem_preload.so.24.06.0 +@dir lib/vat2_plugins +@dir lib/vpp_plugins +lib/vat2_plugins/abf_test_plugin_abf_plugin.so +lib/vat2_plugins/acl_test_plugin_acl_plugin.so +lib/vat2_plugins/acl_test_plugin_acl_types_plugin.so +lib/vat2_plugins/adl_test_plugin_adl_plugin.so +lib/vat2_plugins/arping_test_plugin_arping_plugin.so +lib/vat2_plugins/avf_test_plugin_avf_plugin.so +lib/vat2_plugins/bpf_trace_filter_test_plugin_bpf_trace_filter_plugin.so +lib/vat2_plugins/builtinurl_test_plugin_builtinurl_plugin.so +lib/vat2_plugins/cdp_test_plugin_cdp_plugin.so +lib/vat2_plugins/cnat_test_plugin_cnat_plugin.so +lib/vat2_plugins/crypto_sw_scheduler_test_plugin_crypto_sw_scheduler_plugin.so +lib/vat2_plugins/ct6_test_plugin_ct6_plugin.so +lib/vat2_plugins/det44_test_plugin_det44_plugin.so +lib/vat2_plugins/det44_test_plugin_nat_types_plugin.so +lib/vat2_plugins/dhcp_test_plugin_dhcp6_ia_na_client_cp_plugin.so +lib/vat2_plugins/dhcp_test_plugin_dhcp6_pd_client_cp_plugin.so +lib/vat2_plugins/dhcp_test_plugin_dhcp_plugin.so +lib/vat2_plugins/dns_test_plugin_dns_plugin.so +lib/vat2_plugins/dslite_test_plugin_dslite_plugin.so +lib/vat2_plugins/flowprobe_test_plugin_flowprobe_plugin.so +lib/vat2_plugins/geneve_test_plugin_geneve_plugin.so +lib/vat2_plugins/gre_test_plugin_gre_plugin.so +lib/vat2_plugins/gtpu_test_plugin_gtpu_plugin.so +lib/vat2_plugins/http_static_test_plugin_http_static_plugin.so +lib/vat2_plugins/idpf_test_plugin_idpf_plugin.so +lib/vat2_plugins/igmp_test_plugin_igmp_plugin.so +lib/vat2_plugins/ikev2_test_plugin_ikev2_plugin.so +lib/vat2_plugins/ikev2_test_plugin_ikev2_types_plugin.so +lib/vat2_plugins/ioam_test_plugin_ioam_cache_plugin.so +lib/vat2_plugins/ioam_test_plugin_ioam_export_plugin.so +lib/vat2_plugins/ioam_test_plugin_ioam_vxlan_gpe_plugin.so +lib/vat2_plugins/ioam_test_plugin_pot_plugin.so +lib/vat2_plugins/ioam_test_plugin_trace_plugin.so +lib/vat2_plugins/ioam_test_plugin_udp_ping_plugin.so +lib/vat2_plugins/ioam_test_plugin_vxlan_gpe_ioam_export_plugin.so +lib/vat2_plugins/ip_session_redirect_test_plugin_ip_session_redirect_plugin.so +lib/vat2_plugins/l2tp_test_plugin_l2tp_plugin.so +lib/vat2_plugins/l3xc_test_plugin_l3xc_plugin.so +lib/vat2_plugins/lacp_test_plugin_lacp_plugin.so +lib/vat2_plugins/lb_test_plugin_lb_plugin.so +lib/vat2_plugins/lb_test_plugin_lb_types_plugin.so +lib/vat2_plugins/lisp_test_plugin_lisp_gpe_plugin.so +lib/vat2_plugins/lisp_test_plugin_lisp_plugin.so +lib/vat2_plugins/lisp_test_plugin_lisp_types_plugin.so +lib/vat2_plugins/lisp_test_plugin_one_plugin.so +lib/vat2_plugins/lldp_test_plugin_lldp_plugin.so +lib/vat2_plugins/mactime_test_plugin_mactime_plugin.so +lib/vat2_plugins/map_test_plugin_map_plugin.so +lib/vat2_plugins/mdata_test_plugin_mdata_plugin.so +lib/vat2_plugins/memif_test_plugin_memif_plugin.so +lib/vat2_plugins/mss_clamp_test_plugin_mss_clamp_plugin.so +lib/vat2_plugins/nat44_ei_test_plugin_nat44_ei_plugin.so +lib/vat2_plugins/nat44_ei_test_plugin_nat_types_plugin.so +lib/vat2_plugins/nat64_test_plugin_nat64_plugin.so +lib/vat2_plugins/nat64_test_plugin_nat_types_plugin.so +lib/vat2_plugins/nat66_test_plugin_nat66_plugin.so +lib/vat2_plugins/nat66_test_plugin_nat_types_plugin.so +lib/vat2_plugins/nat_test_plugin_nat44_ed_plugin.so +lib/vat2_plugins/nat_test_plugin_nat_types_plugin.so +lib/vat2_plugins/netmap_test_plugin_netmap_plugin.so +lib/vat2_plugins/npt66_test_plugin_npt66_plugin.so +lib/vat2_plugins/nsh_test_plugin_nsh_plugin.so +lib/vat2_plugins/nsim_test_plugin_nsim_plugin.so +lib/vat2_plugins/oddbuf_test_plugin_oddbuf_plugin.so +lib/vat2_plugins/ping_test_plugin_ping_plugin.so +lib/vat2_plugins/pnat_test_plugin_pnat_plugin.so +lib/vat2_plugins/pppoe_test_plugin_pppoe_plugin.so +lib/vat2_plugins/srv6mobile_test_plugin_sr_mobile_plugin.so +lib/vat2_plugins/srv6mobile_test_plugin_sr_mobile_types_plugin.so +lib/vat2_plugins/srmpls_test_plugin_sr_mpls_plugin.so +lib/vat2_plugins/stn_test_plugin_stn_plugin.so +lib/vat2_plugins/svs_test_plugin_svs_plugin.so +lib/vat2_plugins/tlsopenssl_test_plugin_tls_openssl_plugin.so +lib/vat2_plugins/tracedump_test_plugin_graph_plugin.so +lib/vat2_plugins/tracedump_test_plugin_tracedump_plugin.so +lib/vat2_plugins/tracenode_test_plugin_tracenode_plugin.so +lib/vat2_plugins/urpf_test_plugin_urpf_plugin.so +lib/vat2_plugins/vlibmemory_vlib_plugin.so +lib/vat2_plugins/vlibmemoryclient_memclnt_plugin.so +lib/vat2_plugins/vmxnet3_test_plugin_vmxnet3_plugin.so +lib/vat2_plugins/vnet_arp_plugin.so +lib/vat2_plugins/vnet_bfd_plugin.so +lib/vat2_plugins/vnet_bier_plugin.so +lib/vat2_plugins/vnet_bond_plugin.so +lib/vat2_plugins/vnet_classify_plugin.so +lib/vat2_plugins/vnet_crypto_plugin.so +lib/vat2_plugins/vnet_dev_plugin.so +lib/vat2_plugins/vnet_ethernet_types_plugin.so +lib/vat2_plugins/vnet_feature_plugin.so +lib/vat2_plugins/vnet_fib_plugin.so +lib/vat2_plugins/vnet_fib_types_plugin.so +lib/vat2_plugins/vnet_flow_plugin.so +lib/vat2_plugins/vnet_flow_types_plugin.so +lib/vat2_plugins/vnet_gso_plugin.so +lib/vat2_plugins/vnet_interface_plugin.so +lib/vat2_plugins/vnet_interface_types_plugin.so +lib/vat2_plugins/vnet_ip6_nd_plugin.so +lib/vat2_plugins/vnet_ip_neighbor_plugin.so +lib/vat2_plugins/vnet_ip_plugin.so +lib/vat2_plugins/vnet_ip_types_plugin.so +lib/vat2_plugins/vnet_ipfix_export_plugin.so +lib/vat2_plugins/vnet_ipip_plugin.so +lib/vat2_plugins/vnet_ipsec_plugin.so +lib/vat2_plugins/vnet_ipsec_types_plugin.so +lib/vat2_plugins/vnet_l2_plugin.so +lib/vat2_plugins/vnet_mfib_types_plugin.so +lib/vat2_plugins/vnet_mpls_plugin.so +lib/vat2_plugins/vnet_p2p_ethernet_plugin.so +lib/vat2_plugins/vnet_pg_plugin.so +lib/vat2_plugins/vnet_pipe_plugin.so +lib/vat2_plugins/vnet_policer_plugin.so +lib/vat2_plugins/vnet_policer_types_plugin.so +lib/vat2_plugins/vnet_punt_plugin.so +lib/vat2_plugins/vnet_qos_plugin.so +lib/vat2_plugins/vnet_rd_cp_plugin.so +lib/vat2_plugins/vnet_session_plugin.so +lib/vat2_plugins/vnet_span_plugin.so +lib/vat2_plugins/vnet_sr_plugin.so +lib/vat2_plugins/vnet_sr_pt_plugin.so +lib/vat2_plugins/vnet_sr_types_plugin.so +lib/vat2_plugins/vnet_syslog_plugin.so +lib/vat2_plugins/vnet_tcp_plugin.so +lib/vat2_plugins/vnet_teib_plugin.so +lib/vat2_plugins/vnet_tunnel_types_plugin.so +lib/vat2_plugins/vnet_udp_plugin.so +lib/vat2_plugins/vnet_virtio_plugin.so +lib/vat2_plugins/vnet_virtio_types_plugin.so +lib/vat2_plugins/vnet_vxlan_gpe_plugin.so +lib/vat2_plugins/vpp_vpe_plugin.so +lib/vat2_plugins/vpp_vpe_types_plugin.so +lib/vat2_plugins/vrrp_test_plugin_vrrp_plugin.so +lib/vat2_plugins/vxlan_test_plugin_vxlan_plugin.so +lib/vat2_plugins/wireguard_test_plugin_wireguard_plugin.so +lib/vpp_plugins/abf_plugin.so +lib/vpp_plugins/acl_plugin.so +lib/vpp_plugins/adl_plugin.so +lib/vpp_plugins/arping_plugin.so +lib/vpp_plugins/avf_plugin.so +lib/vpp_plugins/bpf_trace_filter_plugin.so +lib/vpp_plugins/bufmon_plugin.so +lib/vpp_plugins/builtinurl_plugin.so +lib/vpp_plugins/cdp_plugin.so +lib/vpp_plugins/cnat_plugin.so +lib/vpp_plugins/crypto_native_plugin.so +lib/vpp_plugins/crypto_openssl_plugin.so +lib/vpp_plugins/crypto_sw_scheduler_plugin.so +lib/vpp_plugins/ct6_plugin.so +lib/vpp_plugins/det44_plugin.so +lib/vpp_plugins/dev_ena_plugin.so +lib/vpp_plugins/dev_iavf_plugin.so +lib/vpp_plugins/dhcp_plugin.so +lib/vpp_plugins/dispatch_trace_plugin.so +lib/vpp_plugins/dns_plugin.so +lib/vpp_plugins/dpdk_plugin.so +lib/vpp_plugins/dslite_plugin.so +lib/vpp_plugins/fateshare_plugin.so +lib/vpp_plugins/flowprobe_plugin.so +lib/vpp_plugins/geneve_plugin.so +lib/vpp_plugins/gre_plugin.so +lib/vpp_plugins/gtpu_plugin.so +lib/vpp_plugins/hs_apps_plugin.so +lib/vpp_plugins/hsi_plugin.so +lib/vpp_plugins/http_plugin.so +lib/vpp_plugins/http_static_plugin.so +lib/vpp_plugins/idpf_plugin.so +lib/vpp_plugins/igmp_plugin.so +lib/vpp_plugins/ikev2_plugin.so +lib/vpp_plugins/ila_plugin.so +lib/vpp_plugins/ioam_plugin.so +lib/vpp_plugins/ip_session_redirect_plugin.so +lib/vpp_plugins/l2tp_plugin.so +lib/vpp_plugins/l3xc_plugin.so +lib/vpp_plugins/lacp_plugin.so +lib/vpp_plugins/lb_plugin.so +lib/vpp_plugins/lisp_plugin.so +lib/vpp_plugins/lisp_unittest_plugin.so +lib/vpp_plugins/lldp_plugin.so +lib/vpp_plugins/mactime_plugin.so +lib/vpp_plugins/map_plugin.so +lib/vpp_plugins/mdata_plugin.so +lib/vpp_plugins/memif_plugin.so +lib/vpp_plugins/mss_clamp_plugin.so +lib/vpp_plugins/nat44_ei_plugin.so +lib/vpp_plugins/nat64_plugin.so +lib/vpp_plugins/nat66_plugin.so +lib/vpp_plugins/nat_plugin.so +lib/vpp_plugins/netmap_plugin.so +lib/vpp_plugins/npt66_plugin.so +lib/vpp_plugins/nsh_plugin.so +lib/vpp_plugins/nsim_plugin.so +lib/vpp_plugins/oddbuf_plugin.so +lib/vpp_plugins/ping_plugin.so +lib/vpp_plugins/pnat_plugin.so +lib/vpp_plugins/pppoe_plugin.so +lib/vpp_plugins/prom_plugin.so +lib/vpp_plugins/snort_plugin.so +lib/vpp_plugins/srmpls_plugin.so +lib/vpp_plugins/srv6ad_plugin.so +lib/vpp_plugins/srv6adflow_plugin.so +lib/vpp_plugins/srv6am_plugin.so +lib/vpp_plugins/srv6as_plugin.so +lib/vpp_plugins/srv6mobile_plugin.so +lib/vpp_plugins/stn_plugin.so +lib/vpp_plugins/svs_plugin.so +lib/vpp_plugins/tlsopenssl_plugin.so +lib/vpp_plugins/tracedump_plugin.so +lib/vpp_plugins/tracenode_plugin.so +lib/vpp_plugins/unittest_plugin.so +lib/vpp_plugins/urpf_plugin.so +lib/vpp_plugins/vmxnet3_plugin.so +lib/vpp_plugins/vrrp_plugin.so +lib/vpp_plugins/vxlan_plugin.so +lib/vpp_plugins/wireguard_plugin.so