aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/Makefile6
-rw-r--r--docs/aboutvpp/releasenotes/index.rst2
-rw-r--r--docs/aboutvpp/releasenotes/past.rst1
-rw-r--r--docs/aboutvpp/releasenotes/v24.06.rst494
-rw-r--r--docs/configuration/reference.rst30
l---------docs/developer/plugins/dev_armada.rst1
l---------docs/developer/plugins/http.rst1
-rw-r--r--docs/developer/plugins/index.rst3
l---------docs/developer/plugins/marvell.rst1
-rw-r--r--docs/spelling_wordlist.txt5
-rw-r--r--docs/usecases/webapp.rst19
11 files changed, 547 insertions, 16 deletions
diff --git a/docs/Makefile b/docs/Makefile
index 01e8d659bff..9f209357113 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -70,7 +70,7 @@ venv:
spell: venv
@( \
. ${VENV_DIR}/bin/activate; \
- make -C ${SCRIPTS_DIR} generate && \
+ $(MAKE) -C ${SCRIPTS_DIR} generate && \
$(SPHINXBUILD) -b spelling $(SPHINXOPTS) $(BUILDDIR_SRC) $(BUILDDIR_OUT); \
)
@@ -81,7 +81,7 @@ rebuild-spell: clean spell
docs: venv
@( \
. ${VENV_DIR}/bin/activate; \
- make -C ${SCRIPTS_DIR} generate && \
+ $(MAKE) -C ${SCRIPTS_DIR} generate && \
$(SPHINXBUILD) $(SPHINXOPTS) -b html $(BUILDDIR_SRC) $(BUILDDIR_OUT); \
)
@@ -90,7 +90,7 @@ rebuild: clean docs
.PHONY: clean
clean:
- @make -C ${SCRIPTS_DIR} clean
+ @$(MAKE) -C ${SCRIPTS_DIR} clean
.PHONY: build
build: docs
diff --git a/docs/aboutvpp/releasenotes/index.rst b/docs/aboutvpp/releasenotes/index.rst
index 6fda5152a58..b285dd0f712 100644
--- a/docs/aboutvpp/releasenotes/index.rst
+++ b/docs/aboutvpp/releasenotes/index.rst
@@ -6,7 +6,7 @@ Release notes
.. toctree::
:maxdepth: 2
+ v24.06
v24.02
v23.10
- v23.06
past
diff --git a/docs/aboutvpp/releasenotes/past.rst b/docs/aboutvpp/releasenotes/past.rst
index 8f15bd4da3e..9e1a6e31cf1 100644
--- a/docs/aboutvpp/releasenotes/past.rst
+++ b/docs/aboutvpp/releasenotes/past.rst
@@ -6,6 +6,7 @@ Past releases
.. toctree::
:maxdepth: 1
+ v23.06
v23.02
v22.10.1
v22.10
diff --git a/docs/aboutvpp/releasenotes/v24.06.rst b/docs/aboutvpp/releasenotes/v24.06.rst
new file mode 100644
index 00000000000..73410b5dfaf
--- /dev/null
+++ b/docs/aboutvpp/releasenotes/v24.06.rst
@@ -0,0 +1,494 @@
+Release notes for VPP 24.06
+===========================
+
+More than 284 commits since the previous release, including 124 fixes.
+
+
+Features
+--------
+
+- Binary API Libraries
+
+ - Provide api definition over api (`ac0babd41 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ac0babd41>`_)
+
+- Build System
+
+ - Enable building on AlmaLinux 9 (`088d1a016 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=088d1a016>`_)
+
+- Plugins
+
+ - Crypto - OpenSSL
+
+ - Refactor openssl API usage (`97c9f5e7c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=97c9f5e7c>`_)
+
+ - Crypto - native
+
+ - Add SHA2-HMAC (`9f2799fda <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9f2799fda>`_)
+
+ - DPDK
+
+ - Bump to DPDK 24.03 (`a0fd52301 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a0fd52301>`_)
+ - Bump rdma-core to 51.0 (`62af9bb64 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=62af9bb64>`_)
+
+ - Marvell Octeon device driver
+
+ - Add flow offload infra (`3d1459b14 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3d1459b14>`_)
+ - Add support for VF device (`09c6cae8c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=09c6cae8c>`_)
+ - Add support for SDP device (`043560ef2 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=043560ef2>`_)
+ - Add promisc support (`9abc01f25 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9abc01f25>`_)
+ - Add support for mac address update (`b448568fa <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b448568fa>`_)
+
+ - Wireguard
+
+ - Notify key changes to crypto engine (`6f8252e83 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6f8252e83>`_)
+
+- VNET
+
+ - New Device Drivers Infra
+
+ - Add per-port vnet flow (`4af3fdfdd <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4af3fdfdd>`_)
+
+- Vector Library
+
+ - Improve automatic core pinning (`71c32a898 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=71c32a898>`_)
+
+
+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
+============================================================= ==================
+bpf_trace_filter_set_v2 only in image
+bpf_trace_filter_set_v2_reply only in image
+get_api_json only in image
+get_api_json_reply only in image
+ikev2_child_sa_v2_details only in image
+ikev2_child_sa_v2_dump only in image
+ikev2_sa_v2_details only in image
+ikev2_sa_v2_dump only in image
+ikev2_sa_v3_details only in image
+ikev2_sa_v3_dump only in image
+============================================================= ==================
+
+Found 10 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.
+
+- builtinurl_enable
+- builtinurl_enable_reply
+
+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
+- bpf_trace_filter_set_v2
+- bpf_trace_filter_set_v2_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
+- dev_attach
+- dev_attach_reply
+- dev_create_port_if
+- dev_create_port_if_reply
+- dev_detach
+- dev_detach_reply
+- dev_remove_port_if
+- dev_remove_port_if_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
+- gtpu_add_del_forward
+- gtpu_add_del_forward_reply
+- gtpu_add_del_tunnel_v2
+- gtpu_add_del_tunnel_v2_reply
+- gtpu_get_transfer_counts
+- gtpu_get_transfer_counts_reply
+- gtpu_tunnel_v2_details
+- gtpu_tunnel_v2_dump
+- ikev2_child_sa_v2_details
+- ikev2_child_sa_v2_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_v3_details
+- ikev2_sa_v3_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_add_del_v3
+- lcp_itf_pair_add_del_v3_reply
+- lcp_itf_pair_details
+- lldp_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
+- ping_finished_event
+- 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_mobile_localsid_add_del
+- sr_mobile_localsid_add_del_reply
+- sr_mobile_policy_add
+- sr_mobile_policy_add_reply
+- 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
+- want_ping_finished_events
+- want_ping_finished_events_reply
+
+Patches that changed API definitions
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+
+``src/vlibmemory/memclnt.api``
+
+* `ac0babd41 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ac0babd41>`_ api: provide api definition over api
+
+``src/plugins/builtinurl/builtinurl.api``
+
+* `a5668eb05 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a5668eb05>`_ builtinurl: mark api as deprecated
+
+``src/plugins/netmap/netmap.api``
+
+* `16cc51b88 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=16cc51b88>`_ netmap: Reinstate and update netmap plugin
+
+``src/plugins/bpf_trace_filter/bpf_trace_filter.api``
+
+* `5be4b869a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5be4b869a>`_ bpf_trace_filter: support bpf filter optimization and dump
+
+``src/plugins/ikev2/ikev2.api``
+
+* `07b227407 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=07b227407>`_ ikev2: uptime
+* `f40a354da <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f40a354da>`_ ikev2: dump state and profile name in CLI and API
+
+``src/plugins/ikev2/ikev2_types.api``
+
+* `07b227407 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=07b227407>`_ ikev2: uptime
+* `f40a354da <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f40a354da>`_ ikev2: dump state and profile name in CLI and API
+
+``src/plugins/linux-cp/lcp.api``
+
+* `83ad79d69 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=83ad79d69>`_ linux-cp: add add_del_v3 and get_v2 methods
+
+``src/plugins/srmpls/sr_mpls.api``
+
+* `182d8b2dd <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=182d8b2dd>`_ sr: move srmpls to a plugin
diff --git a/docs/configuration/reference.rst b/docs/configuration/reference.rst
index 598e195af13..2a7726cccb4 100644
--- a/docs/configuration/reference.rst
+++ b/docs/configuration/reference.rst
@@ -497,6 +497,9 @@ The buffers Section
buffers-per-numa 128000
default data-size 2048
page-size default-hugepage
+ numa 1 {
+ buffers 64000
+ }
}
buffers-per-numa number
@@ -532,6 +535,33 @@ Set the page size for buffer allocation
page-size default
page-size default-hugepage
+numa <numa index> { .. }
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Settings specific to a single NUMA domain.
+
+.. code-block:: console
+
+ buffers {
+ numa 0 {
+ buffers 32768
+ }
+ }
+
+buffers <n>
+^^^^^^^^^^^^^^^
+
+The number of buffers allocated for this specific NUMA domain.
+If this is set to zero, no buffers are allocated for this domain.
+
+By default, the value configured in **buffers-per-numa** is used.
+
+.. code-block:: console
+
+ numa 0 {
+ buffers 32768
+ }
+
The dpdk Section
----------------
diff --git a/docs/developer/plugins/dev_armada.rst b/docs/developer/plugins/dev_armada.rst
new file mode 120000
index 00000000000..a545313ec9c
--- /dev/null
+++ b/docs/developer/plugins/dev_armada.rst
@@ -0,0 +1 @@
+../../../src/plugins/dev_armada/README.rst \ No newline at end of file
diff --git a/docs/developer/plugins/http.rst b/docs/developer/plugins/http.rst
new file mode 120000
index 00000000000..b0e49bbb721
--- /dev/null
+++ b/docs/developer/plugins/http.rst
@@ -0,0 +1 @@
+../../../src/plugins/http/http_plugin.rst \ No newline at end of file
diff --git a/docs/developer/plugins/index.rst b/docs/developer/plugins/index.rst
index 91af95f3318..393eefec535 100644
--- a/docs/developer/plugins/index.rst
+++ b/docs/developer/plugins/index.rst
@@ -19,9 +19,9 @@ For more on plugins please refer to :ref:`add_plugin`.
quic
cnat
+ dev_armada
lcp
srv6/index
- marvell
lldp
nat64
nat44_ei_ha
@@ -42,3 +42,4 @@ For more on plugins please refer to :ref:`add_plugin`.
bufmon_doc
ip_session_redirect_doc
bpf_trace_filter
+ http
diff --git a/docs/developer/plugins/marvell.rst b/docs/developer/plugins/marvell.rst
deleted file mode 120000
index 28f0cd0f664..00000000000
--- a/docs/developer/plugins/marvell.rst
+++ /dev/null
@@ -1 +0,0 @@
-../../../src/plugins/marvell/README.rst \ No newline at end of file
diff --git a/docs/spelling_wordlist.txt b/docs/spelling_wordlist.txt
index f90ffa89216..d6c5b97793e 100644
--- a/docs/spelling_wordlist.txt
+++ b/docs/spelling_wordlist.txt
@@ -805,6 +805,7 @@ operationalize
Optimisations
optimised
os
+osi
outacl
packagecloud
papi
@@ -902,6 +903,9 @@ pthreads
pton
pushingapatch
putatively
+pvti
+PVTI
+Pvti
pwait
py
pypi
@@ -1003,6 +1007,7 @@ screenshot
scrollbar
scrollbars
sctp
+sdl
sealert
seatbelt
seg
diff --git a/docs/usecases/webapp.rst b/docs/usecases/webapp.rst
index f76fd5b6353..43e600467c5 100644
--- a/docs/usecases/webapp.rst
+++ b/docs/usecases/webapp.rst
@@ -19,8 +19,7 @@ why returning data in .json format tends to work out pretty well.
::
static int
- handle_get_status (http_builtin_method_type_t reqtype,
- u8 * request, http_session_t * hs)
+ handle_get_status (hss_url_handler_args_t *args)
{
my_main_t *mm = &my_main;
u8 *s = 0;
@@ -34,11 +33,11 @@ why returning data in .json format tends to work out pretty well.
s = format (s, "}}");
/* And tell the static server plugin how to send the results */
- hs->data = s;
- hs->data_offset = 0;
- hs->cache_pool_index = ~0;
- hs->free_data = 1; /* free s when done with it, in the framework */
- return 0;
+ args->data = s;
+ args->data_len = vec_len (s);
+ args->ct = HTTP_CONTENT_APP_JSON;
+ args->free_vec_data = 1; /* free s when done with it, in the framework */
+ return HSS_URL_HANDLER_OK;
}
Words to the Wise: Chrome has a very nice set of debugging tools. Select
@@ -53,7 +52,7 @@ considerable amount of time debugging .json bugs.
Step 2: Register URL handlers with the server
---------------------------------------------
-Call http_static_server_register_builtin_handler() as shown. It’s likely
+Call ``hss_register_url_handler`` as shown. It’s likely
but not guaranteed that the static server plugin will be available.
::
@@ -65,7 +64,7 @@ but not guaranteed that the static server plugin will be available.
/* Look up the builtin URL registration handler */
fp = vlib_get_plugin_symbol ("http_static_plugin.so",
- "http_static_server_register_builtin_handler");
+ "hss_register_url_handler");
if (fp == 0)
{
@@ -259,7 +258,7 @@ above:
::
- http static server www-root /myhugosite/public uri tcp://0.0.0.0/2345 cache-size 5m fifo-size 8192
+ http static server url-handlers www-root /myhugosite/public uri tcp://0.0.0.0/2345 cache-size 5m fifo-size 8192
The www-root must be specified, and must correctly name the compiled
hugo site root. If your Hugo site is located at /myhugosite, specify