aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Yourtchenko <ayourtch@gmail.com>2023-10-20 11:24:01 +0200
committerAndrew Yourtchenko <ayourtch@gmail.com>2023-10-20 11:24:41 +0200
commit7c4027fa5e42a8cc7176cd62ab7a0043fb1933ff (patch)
treeea522fb2acc083a2c62774f80e29c109c5e453c1
parentfe95c237950a12cbcfb7ef5da5207373db95ae23 (diff)
misc: VPP 23.10 Release Notesv23.10
Type: docs Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> Change-Id: Icd40064c06ccc53efba1cd9564613108b999b656
-rw-r--r--docs/aboutvpp/releasenotes/index.rst1
-rw-r--r--docs/aboutvpp/releasenotes/v23.10.rst629
2 files changed, 630 insertions, 0 deletions
diff --git a/docs/aboutvpp/releasenotes/index.rst b/docs/aboutvpp/releasenotes/index.rst
index 6896cae16d2..dd7a4df26da 100644
--- a/docs/aboutvpp/releasenotes/index.rst
+++ b/docs/aboutvpp/releasenotes/index.rst
@@ -6,6 +6,7 @@ Release notes
.. toctree::
:maxdepth: 2
+ v23.10
v23.06
v23.02
v22.10.1
diff --git a/docs/aboutvpp/releasenotes/v23.10.rst b/docs/aboutvpp/releasenotes/v23.10.rst
new file mode 100644
index 00000000000..4b1ee9df68a
--- /dev/null
+++ b/docs/aboutvpp/releasenotes/v23.10.rst
@@ -0,0 +1,629 @@
+Release notes for VPP 23.10
+===========================
+
+More than 212 commits since the previous release, including 106 fixes.
+
+Features
+--------
+
+- Plugins
+
+ - ARPing CLI
+
+ - Api to return responder mac address (`8af78b8e3 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8af78b8e3>`_)
+
+ - CNat
+
+ - Flag to disable rsession (`663103279 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=663103279>`_)
+ - Add host tag to bitmap in cnat snat (`f6beee077 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f6beee077>`_)
+
+ - DPDK
+
+ - Bump to DPDK 23.07 (`442189849 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=442189849>`_)
+ - Bump rdma-core to 46.1 (`61ab09472 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=61ab09472>`_)
+
+ - IDPF Device driver
+
+ - Add native idpf driver plugin (`737edea32 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=737edea32>`_)
+
+ - NPTv6
+
+ - Network prefix translation for ipv6 (`6ee3aa41c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6ee3aa41c>`_)
+
+ - Trace node
+
+ - Filtering feature (`77812045e <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=77812045e>`_)
+
+ - Wireguard
+
+ - Add support for chained buffers (`f2b6edb14 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f2b6edb14>`_)
+
+ - Fateshare
+
+ - A plugin for managing child processes (`f234b0d46 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f234b0d46>`_)
+
+ - Linux-cp
+
+ - Basic MPLS support. (`44b3abe86 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=44b3abe86>`_)
+
+- VNET
+
+ - Classifier
+
+ - Add bpf support to pcap classifier (`3f4075574 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3f4075574>`_)
+
+ - Crypto Infra
+
+ - Allow changing dispatch mode (`139aba204 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=139aba204>`_)
+
+ - IPv4 LPM
+
+ - Punt add punt socket support for icmp6 (`56b8abc07 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=56b8abc07>`_)
+
+ - TCP
+
+ - Add simple stats collector (`6052f4b9d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6052f4b9d>`_)
+
+
+Known issues
+------------
+
+For the full list of issues please refer to fd.io `JIRA <https://jira.fd.io>`_.
+
+Fixed issues
+------------
+
+For the full list of fixed issues please refer to:
+- fd.io `JIRA <https://jira.fd.io>`_
+- git `commit log <https://git.fd.io/vpp/log/?h=master>`_
+
+
+API changes
+-----------
+
+Description of results:
+
+- *Definition changed*: indicates that the API file was modified between releases.
+- *Only in image*: indicates the API is new for this release.
+- *Only in file*: indicates the API has been removed in this release.
+
+============================================================= ==================
+Message Name Result
+============================================================= ==================
+af_xdp_create_v3 only in image
+af_xdp_create_v3_reply only in image
+arping_acd only in image
+arping_acd_reply only in image
+bpf_trace_filter_set only in image
+bpf_trace_filter_set_reply only in image
+cnat_snat_policy_add_del_if definition changed
+crypto_set_async_dispatch_v2 only in image
+crypto_set_async_dispatch_v2_reply only in image
+ip_neighbor_config_get only in image
+ip_neighbor_config_get_reply only in image
+ipsec_sa_v4_details only in image
+ipsec_sa_v4_dump only in image
+ipsec_sad_bind only in image
+ipsec_sad_bind_reply only in image
+ipsec_sad_unbind only in image
+ipsec_sad_unbind_reply only in image
+mpls_interface_details only in image
+mpls_interface_dump only in image
+nsh_add_del_entry only in image
+nsh_add_del_entry_reply only in image
+nsh_add_del_map only in image
+nsh_add_del_map_reply only in image
+nsh_entry_details only in image
+nsh_entry_dump only in image
+nsh_map_details only in image
+nsh_map_dump only in image
+pcap_set_filter_function only in image
+pcap_set_filter_function_reply only in image
+trace_filter_function_details only in image
+trace_filter_function_dump only in image
+trace_set_filter_function only in image
+trace_set_filter_function_reply only in image
+tracenode_enable_disable only in image
+tracenode_enable_disable_reply only in image
+============================================================= ==================
+
+Found 35 api message signature differences
+
+
+Newly deprecated API messages
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+These messages are still there in the API, but can and probably
+will disappear in the next release.
+
+- af_packet_create
+- af_packet_create_reply
+- af_packet_create_v2
+- af_packet_create_v2_reply
+- af_xdp_create
+- af_xdp_create_reply
+- af_xdp_create_v2
+- af_xdp_create_v2_reply
+- crypto_set_async_dispatch
+- crypto_set_async_dispatch_reply
+- ip_punt_redirect_details
+- ip_punt_redirect_dump
+- ipsec_sa_v2_details
+- ipsec_sa_v2_dump
+- ipsec_sad_entry_add_del_v2
+- ipsec_sad_entry_add_del_v2_reply
+- lcp_itf_pair_add_del
+- lcp_itf_pair_add_del_reply
+- memclnt_create
+- memclnt_create_reply
+- memif_create
+- memif_create_reply
+- memif_socket_filename_add_del
+- memif_socket_filename_add_del_reply
+- nat44_add_del_static_mapping
+- nat44_add_del_static_mapping_reply
+- nat44_user_session_details
+- nat44_user_session_dump
+- nat44_user_session_v2_details
+- nat44_user_session_v2_dump
+- pg_create_interface
+- pg_create_interface_reply
+- sr_policies_dump
+- tap_create_v2
+- tap_create_v2_reply
+- vxlan_add_del_tunnel
+- vxlan_add_del_tunnel_reply
+- vxlan_add_del_tunnel_v2
+- vxlan_add_del_tunnel_v2_reply
+- vxlan_tunnel_details
+- vxlan_tunnel_dump
+
+In-progress API messages
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+These messages are provided for testing and experimentation only.
+They are *not* subject to any compatibility process,
+and therefore can arbitrarily change or disappear at *any* moment.
+Also they may have less than satisfactory testing, making
+them unsuitable for other use than the technology preview.
+If you are intending to use these messages in production projects,
+please collaborate with the feature maintainer on their productization.
+
+- abf_itf_attach_add_del
+- abf_itf_attach_add_del_reply
+- abf_itf_attach_details
+- abf_itf_attach_dump
+- abf_plugin_get_version
+- abf_plugin_get_version_reply
+- abf_policy_add_del
+- abf_policy_add_del_reply
+- abf_policy_details
+- abf_policy_dump
+- acl_plugin_use_hash_lookup_get
+- acl_plugin_use_hash_lookup_get_reply
+- acl_plugin_use_hash_lookup_set
+- acl_plugin_use_hash_lookup_set_reply
+- bpf_trace_filter_set
+- bpf_trace_filter_set_reply
+- cnat_get_snat_addresses
+- cnat_get_snat_addresses_reply
+- cnat_session_details
+- cnat_session_dump
+- cnat_session_purge
+- cnat_session_purge_reply
+- cnat_set_snat_addresses
+- cnat_set_snat_addresses_reply
+- cnat_set_snat_policy
+- cnat_set_snat_policy_reply
+- cnat_snat_policy_add_del_exclude_pfx
+- cnat_snat_policy_add_del_exclude_pfx_reply
+- cnat_snat_policy_add_del_if
+- cnat_snat_policy_add_del_if_reply
+- cnat_translation_del
+- cnat_translation_del_reply
+- cnat_translation_details
+- cnat_translation_dump
+- cnat_translation_update
+- cnat_translation_update_reply
+- det44_get_timeouts_reply
+- det44_set_timeouts
+- det44_set_timeouts_reply
+- flowprobe_get_params
+- flowprobe_get_params_reply
+- flowprobe_interface_add_del
+- flowprobe_interface_add_del_reply
+- flowprobe_interface_details
+- flowprobe_interface_dump
+- flowprobe_set_params
+- flowprobe_set_params_reply
+- gbp_bridge_domain_add
+- gbp_bridge_domain_add_reply
+- gbp_bridge_domain_del
+- gbp_bridge_domain_del_reply
+- gbp_bridge_domain_details
+- gbp_bridge_domain_dump
+- gbp_bridge_domain_dump_reply
+- gbp_contract_add_del
+- gbp_contract_add_del_reply
+- gbp_contract_details
+- gbp_contract_dump
+- gbp_endpoint_add
+- gbp_endpoint_add_reply
+- gbp_endpoint_del
+- gbp_endpoint_del_reply
+- gbp_endpoint_details
+- gbp_endpoint_dump
+- gbp_endpoint_group_add
+- gbp_endpoint_group_add_reply
+- gbp_endpoint_group_del
+- gbp_endpoint_group_del_reply
+- gbp_endpoint_group_details
+- gbp_endpoint_group_dump
+- gbp_ext_itf_add_del
+- gbp_ext_itf_add_del_reply
+- gbp_ext_itf_details
+- gbp_ext_itf_dump
+- gbp_recirc_add_del
+- gbp_recirc_add_del_reply
+- gbp_recirc_details
+- gbp_recirc_dump
+- gbp_route_domain_add
+- gbp_route_domain_add_reply
+- gbp_route_domain_del
+- gbp_route_domain_del_reply
+- gbp_route_domain_details
+- gbp_route_domain_dump
+- gbp_route_domain_dump_reply
+- gbp_subnet_add_del
+- gbp_subnet_add_del_reply
+- gbp_subnet_details
+- gbp_subnet_dump
+- gbp_vxlan_tunnel_add
+- gbp_vxlan_tunnel_add_reply
+- gbp_vxlan_tunnel_del
+- gbp_vxlan_tunnel_del_reply
+- gbp_vxlan_tunnel_details
+- gbp_vxlan_tunnel_dump
+- ikev2_child_sa_details
+- ikev2_child_sa_dump
+- ikev2_initiate_del_child_sa
+- ikev2_initiate_del_child_sa_reply
+- ikev2_initiate_del_ike_sa
+- ikev2_initiate_del_ike_sa_reply
+- ikev2_initiate_rekey_child_sa
+- ikev2_initiate_rekey_child_sa_reply
+- ikev2_initiate_sa_init
+- ikev2_initiate_sa_init_reply
+- ikev2_nonce_get
+- ikev2_nonce_get_reply
+- ikev2_profile_add_del
+- ikev2_profile_add_del_reply
+- ikev2_profile_details
+- ikev2_profile_disable_natt
+- ikev2_profile_disable_natt_reply
+- ikev2_profile_dump
+- ikev2_profile_set_auth
+- ikev2_profile_set_auth_reply
+- ikev2_profile_set_id
+- ikev2_profile_set_id_reply
+- ikev2_profile_set_ipsec_udp_port
+- ikev2_profile_set_ipsec_udp_port_reply
+- ikev2_profile_set_liveness
+- ikev2_profile_set_liveness_reply
+- ikev2_profile_set_ts
+- ikev2_profile_set_ts_reply
+- ikev2_profile_set_udp_encap
+- ikev2_profile_set_udp_encap_reply
+- ikev2_sa_details
+- ikev2_sa_dump
+- ikev2_set_esp_transforms
+- ikev2_set_esp_transforms_reply
+- ikev2_set_ike_transforms
+- ikev2_set_ike_transforms_reply
+- ikev2_set_local_key
+- ikev2_set_local_key_reply
+- ikev2_set_responder
+- ikev2_set_responder_hostname
+- ikev2_set_responder_hostname_reply
+- ikev2_set_responder_reply
+- ikev2_set_sa_lifetime
+- ikev2_set_sa_lifetime_reply
+- ikev2_set_tunnel_interface
+- ikev2_set_tunnel_interface_reply
+- ikev2_traffic_selector_details
+- ikev2_traffic_selector_dump
+- ip_neighbor_config_get
+- ip_neighbor_config_get_reply
+- ip_route_add_del_v2
+- ip_route_add_del_v2_reply
+- ip_route_lookup_v2
+- ip_route_lookup_v2_reply
+- ip_route_v2_details
+- ip_route_v2_dump
+- ip_session_redirect_add
+- ip_session_redirect_add_reply
+- ip_session_redirect_add_v2
+- ip_session_redirect_add_v2_reply
+- ip_session_redirect_del
+- ip_session_redirect_del_reply
+- l2_emulation
+- l2_emulation_reply
+- lcp_default_ns_get_reply
+- lcp_default_ns_set
+- lcp_default_ns_set_reply
+- lcp_itf_pair_add_del_v2
+- lcp_itf_pair_add_del_v2_reply
+- lcp_itf_pair_details
+- mdata_enable_disable
+- mdata_enable_disable_reply
+- nat44_ed_vrf_tables_v2_details
+- nat44_ed_vrf_tables_v2_dump
+- nat44_ei_add_del_address_range
+- nat44_ei_add_del_address_range_reply
+- nat44_ei_add_del_static_mapping
+- nat44_ei_add_del_static_mapping_reply
+- nat44_ei_address_details
+- nat44_ei_address_dump
+- nat44_ei_del_session
+- nat44_ei_del_session_reply
+- nat44_ei_del_user
+- nat44_ei_del_user_reply
+- nat44_ei_forwarding_enable_disable
+- nat44_ei_forwarding_enable_disable_reply
+- nat44_ei_ha_flush
+- nat44_ei_ha_flush_reply
+- nat44_ei_ha_resync
+- nat44_ei_ha_resync_completed_event
+- nat44_ei_ha_resync_reply
+- nat44_ei_ha_set_failover
+- nat44_ei_ha_set_failover_reply
+- nat44_ei_ha_set_listener
+- nat44_ei_ha_set_listener_reply
+- nat44_ei_interface_add_del_feature
+- nat44_ei_interface_add_del_feature_reply
+- nat44_ei_interface_details
+- nat44_ei_interface_dump
+- nat44_ei_ipfix_enable_disable
+- nat44_ei_ipfix_enable_disable_reply
+- nat44_ei_plugin_enable_disable
+- nat44_ei_plugin_enable_disable_reply
+- nat44_ei_set_addr_and_port_alloc_alg
+- nat44_ei_set_addr_and_port_alloc_alg_reply
+- nat44_ei_set_fq_options
+- nat44_ei_set_fq_options_reply
+- nat44_ei_set_mss_clamping
+- nat44_ei_set_mss_clamping_reply
+- nat44_ei_set_timeouts
+- nat44_ei_set_timeouts_reply
+- nat44_ei_set_workers
+- nat44_ei_set_workers_reply
+- nat44_ei_show_fq_options
+- nat44_ei_show_fq_options_reply
+- nat44_ei_show_running_config
+- nat44_ei_show_running_config_reply
+- nat44_ei_static_mapping_details
+- nat44_ei_static_mapping_dump
+- nat44_ei_user_details
+- nat44_ei_user_dump
+- nat44_ei_user_session_details
+- nat44_ei_user_session_dump
+- nat44_ei_user_session_v2_details
+- nat44_ei_user_session_v2_dump
+- nat44_ei_worker_details
+- nat44_ei_worker_dump
+- nat64_plugin_enable_disable
+- nat64_plugin_enable_disable_reply
+- npt66_binding_add_del
+- npt66_binding_add_del_reply
+- oddbuf_enable_disable
+- oddbuf_enable_disable_reply
+- pg_interface_enable_disable_coalesce
+- pg_interface_enable_disable_coalesce_reply
+- pnat_binding_add
+- pnat_binding_add_reply
+- pnat_binding_add_v2
+- pnat_binding_add_v2_reply
+- pnat_binding_attach
+- pnat_binding_attach_reply
+- pnat_binding_del
+- pnat_binding_del_reply
+- pnat_binding_detach
+- pnat_binding_detach_reply
+- pnat_bindings_details
+- pnat_bindings_get
+- pnat_bindings_get_reply
+- pnat_interfaces_details
+- pnat_interfaces_get
+- pnat_interfaces_get_reply
+- sample_macswap_enable_disable
+- sample_macswap_enable_disable_reply
+- set_ip_flow_hash_v3
+- set_ip_flow_hash_v3_reply
+- sr_localsids_with_packet_stats_details
+- sr_localsids_with_packet_stats_dump
+- sr_policies_with_sl_index_details
+- sr_policies_with_sl_index_dump
+- sr_policy_add_v2
+- sr_policy_add_v2_reply
+- sr_policy_mod_v2
+- sr_policy_mod_v2_reply
+- sw_interface_ip6nd_ra_details
+- sw_interface_ip6nd_ra_dump
+- sw_interface_set_vxlan_gbp_bypass
+- sw_interface_set_vxlan_gbp_bypass_reply
+- test_addresses
+- test_addresses2
+- test_addresses2_reply
+- test_addresses3
+- test_addresses3_reply
+- test_addresses_reply
+- test_empty
+- test_empty_reply
+- test_enum
+- test_enum_reply
+- test_interface
+- test_interface_reply
+- test_prefix
+- test_prefix_reply
+- test_string
+- test_string2
+- test_string2_reply
+- test_string_reply
+- test_vla
+- test_vla2
+- test_vla2_reply
+- test_vla3
+- test_vla3_reply
+- test_vla4
+- test_vla4_reply
+- test_vla5
+- test_vla5_reply
+- test_vla_reply
+- trace_capture_packets
+- trace_capture_packets_reply
+- trace_clear_cache
+- trace_clear_cache_reply
+- trace_clear_capture
+- trace_clear_capture_reply
+- trace_details
+- trace_dump
+- trace_dump_reply
+- trace_filter_function_details
+- trace_filter_function_dump
+- trace_set_filter_function
+- trace_set_filter_function_reply
+- trace_set_filters
+- trace_set_filters_reply
+- trace_v2_details
+- trace_v2_dump
+- tracenode_enable_disable
+- tracenode_enable_disable_reply
+- vxlan_gbp_tunnel_add_del
+- vxlan_gbp_tunnel_add_del_reply
+- vxlan_gbp_tunnel_details
+- vxlan_gbp_tunnel_dump
+
+Patches that changed API definitions
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+
+``src/vlibmemory/memclnt.api``
+
+* `7108cb15c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7108cb15c>`_ api: memclnt - Mark old message versions as deprecated
+
+``src/vnet/flow/flow.api``
+
+* `9c7e03348 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9c7e03348>`_ flow: mark API as production
+
+``src/vnet/ipsec/ipsec.api``
+
+* `63305843e <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=63305843e>`_ api: ipsec - Mark old message versions as deprecated
+* `1271e3a2a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1271e3a2a>`_ ipsec: manually binding an SA to a worker
+* `f441b5d0e <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f441b5d0e>`_ crypto: use fixed crypto frame pool
+
+``src/vnet/ipsec/ipsec_types.api``
+
+* `84e665848 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=84e665848>`_ ipsec: add support for RFC-4543 ENCR_NULL_AUTH_AES_GMAC
+
+``src/vnet/crypto/crypto.api``
+
+* `139aba204 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=139aba204>`_ crypto: allow changing dispatch mode
+* `9a9604b09 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9a9604b09>`_ crypto: make crypto-dispatch node working in adaptive mode
+
+``src/vnet/devices/tap/tapv2.api``
+
+* `74d9f0ae3 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=74d9f0ae3>`_ api: tapv2 - Mark old message versions as deprecated
+
+``src/vnet/ip/ip.api``
+
+* `755e3aa54 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=755e3aa54>`_ api: ip - Mark old message versions as deprecated
+
+``src/vnet/interface.api``
+
+* `3f4075574 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3f4075574>`_ classify: add bpf support to pcap classifier
+
+``src/vnet/mpls/mpls.api``
+
+* `8d61c59c3 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8d61c59c3>`_ mpls: add mpls_interface_dump
+
+``src/vnet/srv6/sr.api``
+
+* `238cf3bd4 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=238cf3bd4>`_ sr: mark sr_policies_v2_details message as production
+* `5c476e7ac <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5c476e7ac>`_ api: sr - Mark old message versions as deprecated
+
+``src/vnet/pg/pg.api``
+
+* `be5676166 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=be5676166>`_ api: pg - Mark old message versions as deprecated
+
+``src/vnet/ip-neighbor/ip_neighbor.api``
+
+* `e1cc87536 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e1cc87536>`_ ip-neighbor: add api for getting neighbor db config
+
+``src/plugins/tracedump/tracedump.api``
+
+* `52fa5f21b <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=52fa5f21b>`_ vlib: introduce trace filter functions
+
+``src/plugins/linux-cp/lcp.api``
+
+* `fa6d21b4f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=fa6d21b4f>`_ api: lcp - Mark old message versions as deprecated
+
+``src/plugins/crypto_sw_scheduler/crypto_sw_scheduler.api``
+
+* `a998f80cd <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a998f80cd>`_ crypto-sw-scheduler: stabilize the API
+
+``src/plugins/adl/adl.api``
+
+* `b116bf8f3 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b116bf8f3>`_ adl: stabilize the API
+
+``src/plugins/nat/det44/det44.api``
+
+* `ad417a8e6 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ad417a8e6>`_ nat: mark several messages as production
+
+``src/plugins/nat/nat44-ed/nat44_ed.api``
+
+* `b1239c488 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b1239c488>`_ api: nat44_ed - Mark old message versions as deprecated
+
+``src/plugins/af_xdp/af_xdp.api``
+
+* `7f27ed666 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7f27ed666>`_ af_xdp: create_api_v3 without namespace keyword
+
+``src/plugins/cnat/cnat.api``
+
+* `f6beee077 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f6beee077>`_ cnat: add host tag to bitmap in cnat snat
+* `663103279 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=663103279>`_ cnat: flag to disable rsession
+
+``src/plugins/tracenode/tracenode.api``
+
+* `77812045e <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=77812045e>`_ tracenode: filtering feature
+
+``src/plugins/bpf_trace_filter/bpf_trace_filter.api``
+
+* `ccd307095 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ccd307095>`_ bpf_trace_filter: plugin for BPF Trace Filtering
+
+``src/plugins/wireguard/wireguard.api``
+
+* `f29d9f060 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f29d9f060>`_ wireguard: stabilize the API
+
+``src/plugins/memif/memif.api``
+
+* `cfd8e4ec8 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=cfd8e4ec8>`_ api: memif - Mark old message versions as deprecated
+
+``src/plugins/vxlan/vxlan.api``
+
+* `9ebd2b92e <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9ebd2b92e>`_ api: vxlan - Mark old message versions as deprecated
+
+``src/plugins/af_packet/af_packet.api``
+
+* `fe965a3a1 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=fe965a3a1>`_ api: af_packet - Mark old message versions as deprecated
+
+``src/plugins/arping/arping.api``
+
+* `8af78b8e3 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8af78b8e3>`_ arping: api to return responder mac address
+
+``src/plugins/npt66/npt66.api``
+
+* `6ee3aa41c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6ee3aa41c>`_ npt66: network prefix translation for ipv6
+
+``src/plugins/idpf/idpf.api``
+
+* `737edea32 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=737edea32>`_ idpf: add native idpf driver plugin
Development Tools' endif # +ganglia-devel if building the ganglia plugin RPM_DEPENDS += chrpath libffi-devel rpm-build RPM_DEPENDS_DEBUG = glibc-debuginfo e2fsprogs-debuginfo RPM_DEPENDS_DEBUG += krb5-debuginfo openssl-debuginfo RPM_DEPENDS_DEBUG += zlib-debuginfo nss-softokn-debuginfo RPM_DEPENDS_DEBUG += yum-plugin-auto-update-debug-info RPM_SUSE_BUILDTOOLS_DEPS = autoconf automake ccache check-devel chrpath RPM_SUSE_BUILDTOOLS_DEPS += clang cmake indent libtool make ninja python3-ply RPM_SUSE_DEVEL_DEPS = glibc-devel-static libnuma-devel libelf-devel RPM_SUSE_DEVEL_DEPS += libopenssl-devel libuuid-devel lsb-release RPM_SUSE_DEVEL_DEPS += curl libstdc++-devel bison gcc-c++ zlib-devel RPM_SUSE_PYTHON_DEPS = python3-devel python3-pip python3-rpm-macros RPM_SUSE_PLATFORM_DEPS = shadow rpm-build ifeq ($(OS_ID),opensuse-leap) RPM_SUSE_DEVEL_DEPS += xmlto openssl-devel asciidoc git nasm RPM_SUSE_PYTHON_DEPS += python3 python3-ply python3-virtualenv RPM_SUSE_PLATFORM_DEPS += distribution-release endif RPM_SUSE_DEPENDS += $(RPM_SUSE_BUILDTOOLS_DEPS) $(RPM_SUSE_DEVEL_DEPS) $(RPM_SUSE_PYTHON_DEPS) $(RPM_SUSE_PLATFORM_DEPS) ifneq ($(wildcard $(STARTUP_DIR)/startup.conf),) STARTUP_CONF ?= $(STARTUP_DIR)/startup.conf endif ifeq ($(findstring y,$(UNATTENDED)),y) CONFIRM=-y FORCE=--allow-downgrades --allow-remove-essential --allow-change-held-packages endif TARGETS = vpp ifneq ($(SAMPLE_PLUGIN),no) TARGETS += sample-plugin endif define banner @echo "========================================================================" @echo " $(1)" @echo "========================================================================" @echo " " endef .PHONY: help help: @echo "Make Targets:" @echo " install-dep[s] - install software dependencies" @echo " wipe - wipe all products of debug build " @echo " wipe-release - wipe all products of release build " @echo " build - build debug binaries" @echo " build-release - build release binaries" @echo " build-coverity - build coverity artifacts" @echo " rebuild - wipe and build debug binaries" @echo " rebuild-release - wipe and build release binaries" @echo " run - run debug binary" @echo " run-release - run release binary" @echo " debug - run debug binary with debugger" @echo " debug-release - run release binary with debugger" @echo " test - build and run tests" @echo " test-help - show help on test framework" @echo " run-vat - run vpp-api-test tool" @echo " pkg-deb - build DEB packages" @echo " pkg-deb-debug - build DEB debug packages" @echo " pkg-snap - build SNAP package" @echo " snap-clean - clean up snap build environment" @echo " pkg-rpm - build RPM packages" @echo " install-ext-dep[s] - install external development dependencies" @echo " ctags - (re)generate ctags database" @echo " gtags - (re)generate gtags database" @echo " cscope - (re)generate cscope database" @echo " compdb - (re)generate compile_commands.json" @echo " checkstyle - check coding style" @echo " checkstyle-commit - check commit message format" @echo " checkstyle-python - check python coding style using 'black' formatter" @echo " checkstyle-api - check api for incompatible changes" @echo " fixstyle - fix coding style" @echo " fixstyle-python - fix python coding style using 'black' formatter" @echo " doxygen - DEPRECATED - use 'make docs'" @echo " bootstrap-doxygen - DEPRECATED" @echo " wipe-doxygen - DEPRECATED" @echo " checkfeaturelist - check FEATURE.yaml according to schema" @echo " featurelist - dump feature list in markdown" @echo " json-api-files - (re)-generate json api files" @echo " json-api-files-debug - (re)-generate json api files for debug target" @echo " go-api-files - (re)-generate golang api files" @echo " docs - Build the Sphinx documentation" @echo " docs-venv - Build the virtual environment for the Sphinx docs" @echo " docs-clean - Remove the generated files from the Sphinx docs" @echo " docs-rebuild - Rebuild all of the Sphinx documentation" @echo "" @echo "Make Arguments:" @echo " V=[0|1] - set build verbosity level" @echo " STARTUP_CONF=<path> - startup configuration file" @echo " (e.g. /etc/vpp/startup.conf)" @echo " STARTUP_DIR=<path> - startup directory (e.g. /etc/vpp)" @echo " It also sets STARTUP_CONF if" @echo " startup.conf file is present" @echo " GDB=<path> - gdb binary to use for debugging" @echo " PLATFORM=<name> - target platform. default is vpp" @echo " DPDK_CONFIG=<conf> - add specified dpdk config commands to" @echo " autogenerated startup.conf" @echo " (e.g. \"no-pci\" )" @echo " SAMPLE_PLUGIN=yes - in addition build/run/debug sample plugin" @echo " DISABLED_PLUGINS=<list> - comma separated list of plugins which" @echo " should not be loaded" @echo "" @echo "Current Argument Values:" @echo " V = $(V)" @echo " STARTUP_CONF = $(STARTUP_CONF)" @echo " STARTUP_DIR = $(STARTUP_DIR)" @echo " GDB = $(GDB)" @echo " PLATFORM = $(PLATFORM)" @echo " DPDK_VERSION = $(DPDK_VERSION)" @echo " DPDK_CONFIG = $(DPDK_CONFIG)" @echo " SAMPLE_PLUGIN = $(SAMPLE_PLUGIN)" @echo " DISABLED_PLUGINS = $(DISABLED_PLUGINS)" $(BR)/.deps.ok: ifeq ($(findstring y,$(UNATTENDED)),y) make install-dep endif ifeq ($(filter ubuntu debian,$(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 bootstrap: @echo "'make bootstrap' is not needed anymore" .PHONY: install-dep install-dep: ifeq ($(filter ubuntu debian,$(OS_ID)),$(OS_ID)) @sudo -E apt-get update @sudo -E apt-get $(APT_ARGS) $(CONFIRM) $(FORCE) install $(DEB_DEPENDS) else ifneq ("$(wildcard /etc/redhat-release)","") ifeq ($(OS_ID),rhel) @sudo -E yum-config-manager --enable rhel-server-rhscl-7-rpms @sudo -E yum groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS) @sudo -E yum install $(CONFIRM) $(RPM_DEPENDS) @sudo -E debuginfo-install $(CONFIRM) glibc openssl-libs zlib else ifeq ($(OS_ID),rocky) @sudo -E dnf install $(CONFIRM) dnf-plugins-core epel-release @sudo -E dnf config-manager --set-enabled \ $(shell dnf repolist all 2>/dev/null|grep -i crb|cut -d' ' -f1|grep -v source) @sudo -E dnf groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS) @sudo -E dnf install $(CONFIRM) $(RPM_DEPENDS) else ifeq ($(OS_ID)-$(OS_VERSION_ID),centos-8) @sudo -E dnf install $(CONFIRM) dnf-plugins-core epel-release @sudo -E dnf config-manager --set-enabled \ $(shell dnf repolist all 2>/dev/null|grep -i powertools|cut -d' ' -f1|grep -v source) @sudo -E dnf groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS) @sudo -E dnf install --skip-broken $(CONFIRM) $(RPM_DEPENDS) else ifeq ($(OS_ID),centos) @sudo -E yum install $(CONFIRM) centos-release-scl-rh epel-release @sudo -E yum groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS) @sudo -E yum install $(CONFIRM) $(RPM_DEPENDS) @sudo -E yum install $(CONFIRM) --enablerepo=base-debuginfo $(RPM_DEPENDS_DEBUG) else ifeq ($(OS_ID),fedora) @sudo -E dnf groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS) @sudo -E dnf install $(CONFIRM) $(RPM_DEPENDS) @sudo -E debuginfo-install $(CONFIRM) glibc openssl-libs zlib endif else ifeq ($(filter opensuse-leap-15.3 opensuse-leap-15.4 ,$(OS_ID)-$(OS_VERSION_ID)),$(OS_ID)-$(OS_VERSION_ID)) @sudo -E zypper refresh @sudo -E zypper install -y $(RPM_SUSE_DEPENDS) else $(error "This option currently works only on Ubuntu, Debian, RHEL, CentOS or openSUSE-leap systems") endif git config commit.template .git_commit_template.txt .PHONY: install-deps install-deps: install-dep define make @make -C $(BR) PLATFORM=$(PLATFORM) TAG=$(1) $(2) endef $(BR)/scripts/.version: ifneq ("$(wildcard /etc/redhat-release)","") $(shell $(BR)/scripts/version rpm-string > $(BR)/scripts/.version) else $(shell $(BR)/scripts/version > $(BR)/scripts/.version) endif DIST_FILE = $(BR)/vpp-$(shell src/scripts/version).tar DIST_SUBDIR = vpp-$(shell src/scripts/version|cut -f1 -d-) .PHONY: dist dist: @if git rev-parse 2> /dev/null ; then \ git archive \ --prefix=$(DIST_SUBDIR)/ \ --format=tar \ -o $(DIST_FILE) \ HEAD ; \ git describe --long > $(BR)/.version ; \ else \ (cd .. ; tar -cf $(DIST_FILE) $(DIST_SUBDIR) --exclude=*.tar) ; \ src/scripts/version > $(BR)/.version ; \ fi @tar --append \ --file $(DIST_FILE) \ --transform='s,.*/.version,$(DIST_SUBDIR)/src/scripts/.version,' \ $(BR)/.version @$(RM) $(BR)/.version $(DIST_FILE).xz @xz -v --threads=0 $(DIST_FILE) @$(RM) $(BR)/vpp-latest.tar.xz @ln -rs $(DIST_FILE).xz $(BR)/vpp-latest.tar.xz .PHONY: build build: $(BR)/.deps.ok $(call make,$(PLATFORM)_debug,$(addsuffix -install,$(TARGETS))) .PHONY: wipedist wipedist: @$(RM) $(BR)/*.tar.xz .PHONY: wipe wipe: wipedist test-wipe $(BR)/.deps.ok $(call make,$(PLATFORM)_debug,$(addsuffix -wipe,$(TARGETS))) @find . -type f -name "*.api.json" ! -path "./src/*" -exec rm {} \; .PHONY: rebuild rebuild: wipe build .PHONY: build-release build-release: $(BR)/.deps.ok $(call make,$(PLATFORM),$(addsuffix -install,$(TARGETS))) .PHONY: wipe-release wipe-release: test-wipe $(BR)/.deps.ok $(call make,$(PLATFORM),$(addsuffix -wipe,$(TARGETS))) .PHONY: rebuild-release rebuild-release: wipe-release build-release export TEST_DIR ?= $(WS_ROOT)/test define test $(if $(filter-out $(2),retest),make -C $(BR) PLATFORM=vpp TAG=$(1) vpp-install,) $(eval libs:=lib lib64) make -C test \ VPP_BUILD_DIR=$(BR)/build-$(1)-native/vpp \ VPP_BIN=$(BR)/install-$(1)-native/vpp/bin/vpp \ VPP_INSTALL_PATH=$(BR)/install-$(1)-native/ \ EXTENDED_TESTS=$(EXTENDED_TESTS) \ PYTHON=$(PYTHON) \ OS_ID=$(OS_ID) \ RND_SEED=$(RND_SEED) \ CACHE_OUTPUT=$(CACHE_OUTPUT) \ TAG=$(1) \ $(2) endef .PHONY: test test: $(call test,vpp,test) .PHONY: test-debug test-debug: $(call test,vpp_debug,test) .PHONY: test-gcov test-gcov: $(call test,vpp_gcov,test) .PHONY: test-all test-all: $(eval EXTENDED_TESTS=1) $(call test,vpp,test) .PHONY: test-all-debug test-all-debug: $(eval EXTENDED_TESTS=1) $(call test,vpp_debug,test) .PHONY: papi-wipe papi-wipe: test-wipe-papi $(call banner,"This command is deprecated. Please use 'test-wipe-papi'") .PHONY: test-wipe-papi test-wipe-papi: @make -C test wipe-papi .PHONY: test-help test-help: @make -C test help .PHONY: test-wipe test-wipe: @make -C test wipe .PHONY: test-shell test-shell: $(call test,vpp,shell) .PHONY: test-shell-debug test-shell-debug: $(call test,vpp_debug,shell) .PHONY: test-shell-gcov test-shell-gcov: $(call test,vpp_gcov,shell) .PHONY: test-dep test-dep: @make -C test test-dep .PHONY: test-doc test-doc: @echo "make test-doc is DEPRECATED: use 'make docs'" sleep 300 .PHONY: test-wipe-doc test-wipe-doc: @echo "make test-wipe-doc is DEPRECATED" sleep 300 .PHONY: test-cov test-cov: $(eval EXTENDED_TESTS=1) $(call test,vpp_gcov,cov) .PHONY: test-wipe-cov test-wipe-cov: @make -C test wipe-cov .PHONY: test-wipe-all test-wipe-all: @make -C test wipe-all # Note: All python venv consolidated in test/Makefile, test/requirements*.txt .PHONY: test-checkstyle test-checkstyle: $(warning test-checkstyle is deprecated. Running checkstyle-python.") @make -C test checkstyle-python-all # Note: All python venv consolidated in test/Makefile, test/requirements*.txt .PHONY: test-checkstyle-diff test-checkstyle-diff: $(warning test-checkstyle-diff is deprecated. Running checkstyle-python.") @make -C test checkstyle-python-all .PHONY: test-refresh-deps test-refresh-deps: @make -C test refresh-deps .PHONY: retest retest: $(call test,vpp,retest) .PHONY: retest-debug retest-debug: $(call test,vpp_debug,retest) .PHONY: retest-all retest-all: $(eval EXTENDED_TESTS=1) $(call test,vpp,retest) .PHONY: retest-all-debug retest-all-debug: $(eval EXTENDED_TESTS=1) $(call test,vpp_debug,retest) .PHONY: test-start-vpp-in-gdb test-start-vpp-in-gdb: $(call test,vpp,start-gdb) .PHONY: test-start-vpp-debug-in-gdb test-start-vpp-debug-in-gdb: $(call test,vpp_debug,start-gdb) ifeq ("$(wildcard $(STARTUP_CONF))","") define run @echo "WARNING: STARTUP_CONF not defined or file doesn't exist." @echo " Running with minimal startup config: $(MINIMAL_STARTUP_CONF)\n" @cd $(STARTUP_DIR) && \ $(SUDO) $(2) $(1)/vpp/bin/vpp $(MINIMAL_STARTUP_CONF) endef else define run @cd $(STARTUP_DIR) && \ $(SUDO) $(2) $(1)/vpp/bin/vpp $(shell cat $(STARTUP_CONF) | sed -e 's/#.*//') endef endif %.files: .FORCE @find src -name '*.[chS]' > $@ .FORCE: .PHONY: run run: $(call run, $(BR)/install-$(PLATFORM)_debug-native) .PHONY: run-release run-release: $(call run, $(BR)/install-$(PLATFORM)-native) .PHONY: debug debug: $(call run, $(BR)/install-$(PLATFORM)_debug-native,$(GDB) $(GDB_ARGS) --args) .PHONY: build-coverity build-coverity: $(call make,$(PLATFORM)_coverity,install-packages) @make -C build-root PLATFORM=vpp TAG=vpp_coverity libmemif-install .PHONY: debug-release debug-release: $(call run, $(BR)/install-$(PLATFORM)-native,$(GDB) $(GDB_ARGS) --args) .PHONY: build-vat build-vat: $(call make,$(PLATFORM)_debug,vpp-api-test-install) .PHONY: run-vat run-vat: @$(SUDO) $(BR)/install-$(PLATFORM)_debug-native/vpp/bin/vpp_api_test .PHONY: pkg-deb pkg-deb: $(call make,$(PLATFORM),vpp-package-deb) .PHONY: pkg-snap pkg-snap: cd extras/snap ; \ ./prep ; \ SNAPCRAFT_BUILD_ENVIRONMENT_MEMORY=8G \ SNAPCRAFT_BUILD_ENVIRONMENT_CPU=6 \ snapcraft --debug .PHONY: snap-clean snap-clean: cd extras/snap ; \ snapcraft clean ; \ rm -f *.snap *.tgz .PHONY: pkg-deb-debug pkg-deb-debug: $(call make,$(PLATFORM)_debug,vpp-package-deb) .PHONY: pkg-rpm pkg-rpm: dist make -C extras/rpm .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: $(WS_ROOT)/src/tools/vppapigen/generate_json.py .PHONY: json-api-files-debug json-api-files-debug: $(WS_ROOT)/src/tools/vppapigen/generate_json.py --debug-target .PHONY: go-api-files go-api-files: json-api-files $(WS_ROOT)/src/tools/vppapigen/generate_go.py $(ARGS) .PHONY: ctags ctags: ctags.files @ctags --totals --tag-relative=yes -L $< @rm $< .PHONY: gtags gtags: ctags @gtags --gtagslabel=ctags .PHONY: cscope cscope: cscope.files @cscope -b -q -v .PHONY: compdb compdb: @ninja -C build-root/build-vpp_debug-native/vpp build.ninja @ninja -C build-root/build-vpp_debug-native/vpp -t compdb | \ src/scripts/compdb_cleanup.py > compile_commands.json .PHONY: checkstyle checkstyle: checkfeaturelist @extras/scripts/checkstyle.sh .PHONY: checkstyle-commit checkstyle-commit: @extras/scripts/check_commit_msg.sh .PHONY: checkstyle-test checkstyle-test: $(warning test-checkstyle is deprecated. Running checkstyle-python.") @make -C test checkstyle-python-all # Note: All python venv consolidated in test/Makefile, test/requirements*.txt .PHONY: checkstyle-python checkstyle-python: @make -C test checkstyle-python-all .PHONY: checkstyle-all checkstyle-all: checkstyle-commit checkstyle checkstyle-python docs-spell .PHONY: fixstyle fixstyle: @extras/scripts/checkstyle.sh --fix # Note: All python venv consolidated in test/Makefile, test/requirements*.txt .PHONY: fixstyle-python fixstyle-python: @make -C test fixstyle-python-all .PHONY: checkstyle-api checkstyle-api: @extras/scripts/crcchecker.py --check-patchset # necessary because Bug 1696324 - Update to python3.6 breaks PyYAML dependencies # Status: CLOSED CANTFIX # https://bugzilla.redhat.com/show_bug.cgi?id=1696324 .PHONY: centos-pyyaml centos-pyyaml: ifeq ($(OS_ID)-$(OS_VERSION_ID),centos-8) @sudo -E yum install $(CONFIRM) python3-pyyaml endif .PHONY: featurelist featurelist: centos-pyyaml @extras/scripts/fts.py --all --markdown .PHONY: checkfeaturelist checkfeaturelist: centos-pyyaml @extras/scripts/fts.py --validate --all # # Build the documentation # .PHONY: bootstrap-doxygen bootstrap-doxygen: @echo "make bootstrap-doxygen is DEPRECATED" sleep 300 .PHONY: doxygen doxygen: docs @echo "make doxygen is DEPRECATED: use 'make docs'" sleep 300 .PHONY: wipe-doxygen wipe-doxygen: @echo "make wipe-doxygen is DEPRECATED" sleep 300 .PHONY: docs-% docs-%: @make -C $(WS_ROOT)/docs $* .PHONY: docs docs: @make -C $(WS_ROOT)/docs docs .PHONY: pkg-verify pkg-verify: install-dep $(BR)/.deps.ok install-ext-deps $(call banner,"Building for PLATFORM=vpp") @make -C build-root PLATFORM=vpp TAG=vpp wipe-all install-packages $(call banner,"Building sample-plugin") @make -C build-root PLATFORM=vpp TAG=vpp sample-plugin-install $(call banner,"Building libmemif") @make -C build-root PLATFORM=vpp TAG=vpp libmemif-install $(call banner,"Building $(PKG) packages") @make pkg-$(PKG) # Note: 'make verify' target is not used by ci-management scripts MAKE_VERIFY_GATE_OS ?= ubuntu-22.04 .PHONY: verify verify: pkg-verify ifeq ($(OS_ID)-$(OS_VERSION_ID),$(MAKE_VERIFY_GATE_OS)) $(call banner,"Testing vppapigen") @src/tools/vppapigen/test_vppapigen.py $(call banner,"Running tests") @make COMPRESS_FAILED_TEST_LOGS=yes RETRIES=3 test else $(call banner,"Skipping tests. Tests under 'make verify' supported on $(MAKE_VERIFY_GATE_OS)") endif .PHONY: check-dpdk-mlx check-dpdk-mlx: @[ $$(make -sC build/external dpdk-show-DPDK_MLX_DEFAULT) = y ]