docs: better docs, mv doxygen to sphinx

This patch refactors the VPP sphinx docs
in order to make it easier to consume
for external readers as well as VPP developers.

It also makes sphinx the single source
of documentation, which simplifies maintenance
and operation.

Most important updates are:

- reformat the existing documentation as rst
- split RELEASE.md and move it into separate rst files
- remove section 'events'
- remove section 'archive'
- remove section 'related projects'
- remove section 'feature by release'
- remove section 'Various links'
- make (Configuration reference, CLI docs,
  developer docs) top level items in the list
- move 'Use Cases' as part of 'About VPP'
- move 'Troubleshooting' as part of 'Getting Started'
- move test framework docs into 'Developer Documentation'
- add a 'Contributing' section for gerrit,
  docs and other contributer related infos
- deprecate doxygen and test-docs targets
- redirect the "make doxygen" target to "make docs"

Type: refactor

Change-Id: I552a5645d5b7964d547f99b1336e2ac24e7c209f
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
diff --git a/docs/aboutvpp/releasenotes/v18.01.rst b/docs/aboutvpp/releasenotes/v18.01.rst
new file mode 100644
index 0000000..e760de2
--- /dev/null
+++ b/docs/aboutvpp/releasenotes/v18.01.rst
@@ -0,0 +1,382 @@
+Release notes for VPP 18.01
+===========================
+
+More than 560 commits since the 17.10 release.
+
+Features
+--------
+
+-  Infrastructure
+
+   -  DPDK 17.11
+   -  TCP Checksum Offload
+   -  Arm64/Arm-v8 support
+   -  SUSE packaging
+   -  bihash_vec8_8 variant
+   -  PCI rework to support VFIO
+   -  chi-squared test calculator
+
+-  SNAT / NAT
+
+   -  One armed NAT
+   -  Twice NAT44
+   -  NAT hairpinning rework
+   -  NAT64 multi-thread
+   -  NAT64 IPFIX
+   -  NAT64 Fragmentation
+   -  NAT: DS-Lite
+   -  Remove old SNAT API
+   -  ACL-based NAT
+
+-  VNET
+
+   -  DNS name resolver
+   -  BIER
+   -  GENEVE Tunnel
+   -  IPSec Openssl 1.1.0 api support
+   -  FIB improvements
+   -  tap v2
+
+-  API
+
+   -  VPP stats (Broadcast & Multicast support)
+   -  SR MPLS
+   -  VPP Object Model (VOM)
+
+-  Host Stack
+
+   -  VPP TCP Stack scale / congestion improvements
+   -  Refactor UDP
+   -  Namespace support
+   -  Session rules table
+   -  VPP Comms Library (VCL) improvements
+
+-  ACL
+
+   -  ACL stats
+
+-  Plugins
+
+   -  Kube-proxy
+   -  L2 Emulation
+   -  Memif
+
+Known issues
+------------
+
+For the full list of issues please refer to fd.io
+`JIRA <https://jira.fd.io>`__.
+
+Issues fixed
+------------
+
+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=stable/1801>`__
+
+
+API changes
+-----------
+
+===================================== ==================
+Message Name                          Result
+===================================== ==================
+af_packet_set_l4_cksum_offload        definition changed
+api_versions                          definition changed
+app_namespace_add_del                 definition changed
+application_attach                    definition changed
+bier_disp_entry_add_del               definition changed
+bier_disp_entry_details               only in image
+bier_disp_entry_dump                  only in image
+bier_disp_table_add_del               definition changed
+bier_disp_table_details               only in image
+bier_disp_table_dump                  only in image
+bier_imp_add                          definition changed
+bier_imp_del                          definition changed
+bier_imp_details                      only in image
+bier_imp_dump                         only in image
+bier_route_add_del                    definition changed
+bier_route_details                    only in image
+bier_route_dump                       only in image
+bier_table_add_del                    definition changed
+bier_table_details                    only in image
+bier_table_dump                       only in image
+bind_sock_reply                       definition changed
+connect_session_reply                 definition changed
+connect_sock                          definition changed
+connect_uri                           definition changed
+dhcp_proxy_details                    definition changed
+dhcp_proxy_set_vss                    definition changed
+dns_enable_disable                    definition changed
+dns_name_server_add_del               definition changed
+dns_resolve_ip                        definition changed
+dns_resolve_name                      definition changed
+dslite_add_del_pool_addr_range        definition changed
+dslite_set_aftr_addr                  definition changed
+geneve_add_del_tunnel                 definition changed
+geneve_tunnel_details                 only in image
+geneve_tunnel_dump                    only in image
+ip_add_del_route                      definition changed
+ip_container_proxy_add_del            definition changed
+ip_mroute_add_del                     definition changed
+ip_neighbor_details                   definition changed
+ip_punt_police                        definition changed
+ip_punt_redirect                      definition changed
+ipsec_sa_details                      only in image
+ipsec_sa_dump                         only in image
+ipsec_sad_add_del_entry               definition changed
+ipsec_tunnel_if_set_key               definition changed
+ipsec_tunnel_if_set_sa                definition changed
+kp_add_del_pod                        definition changed
+kp_add_del_vip                        definition changed
+kp_conf                               definition changed
+l2_emulation                          definition changed
+l2_fib_table_details                  definition changed
+l2fib_add_del                         definition changed
+memclnt_keepalive                     definition changed
+memfd_segment_create                  definition changed
+mpls_ip_bind_unbind                   definition changed
+mpls_route_add_del                    definition changed
+nat44_add_del_address_range           definition changed
+nat44_add_del_identity_mapping        definition changed
+nat44_add_del_interface_addr          definition changed
+nat44_add_del_lb_static_mapping       definition changed
+nat44_add_del_static_mapping          definition changed
+nat44_address_details                 definition changed
+nat44_del_session                     definition changed
+nat44_forwarding_enable_disable       definition changed
+nat44_forwarding_is_enabled           definition changed
+nat44_identity_mapping_details        only in image
+nat44_identity_mapping_dump           only in image
+nat44_interface_addr_details          definition changed
+nat44_lb_static_mapping_details       definition changed
+nat44_static_mapping_details          definition changed
+nat64_add_del_interface_addr          definition changed
+nat_get_reass                         definition changed
+nat_reass_details                     only in image
+nat_reass_dump                        only in image
+nat_set_reass                         definition changed
+reset_vrf                             definition changed
+session_rule_add_del                  definition changed
+session_rules_details                 only in image
+session_rules_dump                    only in image
+snat_add_address_range                definition changed
+snat_add_del_interface_addr           definition changed
+snat_add_det_map                      definition changed
+snat_add_static_mapping               definition changed
+snat_address_details                  only in file
+snat_address_dump                     only in file
+snat_control_ping                     definition changed
+snat_det_close_session_in             definition changed
+snat_det_close_session_out            definition changed
+snat_det_forward                      definition changed
+snat_det_get_timeouts                 definition changed
+snat_det_map_details                  only in file
+snat_det_map_dump                     only in file
+snat_det_reverse                      definition changed
+snat_det_session_details              only in file
+snat_det_session_dump                 only in file
+snat_det_set_timeouts                 definition changed
+snat_interface_add_del_feature        definition changed
+snat_interface_add_del_output_feature definition changed
+snat_interface_addr_details           only in file
+snat_interface_addr_dump              only in file
+snat_interface_details                only in file
+snat_interface_dump                   only in file
+snat_interface_output_feature_details only in file
+snat_interface_output_feature_dump    only in file
+snat_ipfix_enable_disable             definition changed
+snat_set_workers                      definition changed
+snat_show_config                      definition changed
+snat_static_mapping_details           only in file
+snat_static_mapping_dump              only in file
+snat_user_details                     only in file
+snat_user_dump                        only in file
+snat_user_session_details             only in file
+snat_user_session_dump                only in file
+snat_worker_details                   only in file
+snat_worker_dump                      only in file
+sockclnt_create                       definition changed
+sockclnt_delete                       definition changed
+sr_localsids_details                  only in image
+sr_localsids_dump                     only in image
+sr_mpls_policy_add                    definition changed
+sr_mpls_policy_assign_endpoint_color  definition changed
+sr_mpls_policy_del                    definition changed
+sr_mpls_policy_mod                    definition changed
+sr_mpls_steering_add_del              definition changed
+sr_set_encap_source                   definition changed
+stn_add_del_rule                      definition changed
+stn_rule_details                      only in image
+stn_rules_dump                        only in image
+sw_interface_set_geneve_bypass        definition changed
+sw_interface_set_lldp                 definition changed
+sw_interface_set_rx_mode              definition changed
+sw_interface_tap_v2_details           only in image
+sw_interface_tap_v2_dump              only in image
+tap_create_v2                         definition changed
+tap_delete_v2                         definition changed
+udp_encap_add_del                     definition changed
+udp_encap_details                     only in image
+udp_encap_dump                        only in image
+vnet_ip4_mfib_counters                only in image
+vnet_ip6_mfib_counters                only in image
+want_ip4_mfib_stats                   definition changed
+want_ip6_mfib_stats                   definition changed
+===================================== ==================
+
+Found 142 api message signature differences
+
+Patches that changed API definitions
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+* ``./src/examples/sample-plugin/sample/sample.api`` 0d056e5e vppapigen:
+  support per-file (major,minor,patch) version stamps
+* ``./src/vnet/interface.api b8d4481a`` Break up vpe.api ad8015be devices: Add
+  binary API for set interface rx-mode 0d056e5e vppapigen: support
+  per-file (major,minor,patch) version stamps
+* ``./src/vnet/feature/feature.api`` b8d4481a Break up vpe.api
+* ``./src/vnet/srv6/sr.api`` 1a5e301f SRv6 improvements to binary API 0d056e5e
+  vppapigen: support per-file (major,minor,patch) version stamps
+* ``./src/vnet/bier/bier.api`` be302d72 BIER coverity fix in route downlaod
+  ceb4d05b BIER disposition default route fa1da15c BIER: API documentation
+  fixes. 9128637e BIER in non-MPLS netowrks d792d9c0 BIER
+* ``./src/vnet/vxlan-gpe/vxlan_gpe.api`` 0d056e5e vppapigen: support per-file
+  (major,minor,patch) version stamps
+* ``./src/vnet/unix/tap.api`` 0d056e5e vppapigen: support per-file
+  (major,minor,patch) version stamps
+* ``./src/vnet/lldp/lldp.api`` 9a6fcef4 LLDP: Add Management Address TLV
+  0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
+* ``./src/vnet/dns/dns.api`` d2080159 Add reverse DNS (ip to name) resolution
+  6545716c VPP-1027: DNS name resolver
+* ``./src/vnet/session/session.api`` dcf55ce2 vppcom: improve listener session
+  handling 6e8c6679 session: add app ns index to ns create api c97a7398
+  session: add rule tags 6c36f53f session: add api to dump rules 1c710451
+  session: rules tables ade70e45 session: return local transport endpoint
+  in connect reply cea194d8 session: add support for application
+  namespacing 0d056e5e vppapigen: support per-file (major,minor,patch)
+  version stamps
+* ``./src/vnet/devices/af_packet/af_packet.api`` 92b0275a af_packet: invalid
+  TCP/UDP offload checksum on RX node recalculation 0d056e5e vppapigen:
+  support per-file (major,minor,patch) version stamps
+* ``./src/vnet/devices/netmap/netmap.api`` 0d056e5e vppapigen: support
+  per-file (major,minor,patch) version stamps
+* ``./src/vnet/devices/tap/tapv2.api`` 73e7f427 tap_v2: include host-side
+  parameters in the dump binary API 2df39094 tapv2: multiple improvements
+  c99b4cd1 tap_v2: move code to vnet/devices/tap
+* ``./src/vnet/devices/virtio/vhost_user.api`` 0d056e5e vppapigen: support
+  per-file (major,minor,patch) version stamps
+* ``./src/vnet/lisp-gpe/lisp_gpe.api`` 0d056e5e vppapigen: support per-file
+  (major,minor,patch) version stamps
+* ``./src/vnet/srmpls/sr_mpls.api`` 42998828 SR-MPLS: binary API and automated
+  steering
+* ``./src/vnet/l2/l2.api`` b8d4481a Break up vpe.api 57938f63 l2fib: MAC: Fix
+  uint64 to u8 byte array 0d056e5e vppapigen: support per-file
+  (major,minor,patch) version stamps
+* ``./src/vnet/udp/udp.api`` 810086d8 UDP Encapsulation.
+* ``./src/vnet/policer/policer.api`` 0d056e5e vppapigen: support per-file
+  (major,minor,patch) version stamps
+* ``./src/vnet/bfd/bfd.api`` 0d056e5e vppapigen: support per-file
+  (major,minor,patch) version stamps
+* ``./src/vnet/geneve/geneve.api`` 556033a0 Add API versioning to GENEVE
+  tunnel implementation. b598f1d3 Initial GENEVE TUNNEL implementation and
+  tests.
+* ``./src/vnet/gre/gre.api`` 0d056e5e vppapigen: support per-file
+  (major,minor,patch) version stamps
+* ``./src/vnet/map/map.api`` 0d056e5e vppapigen: support per-file
+  (major,minor,patch) version stamps
+* ``./src/vnet/flow/flow.api`` 0d056e5e vppapigen: support per-file
+  (major,minor,patch) version stamps
+* ``./src/vnet/pg/pg.api`` b8d4481a Break up vpe.api
+* ``./src/vnet/dhcp/dhcp.api`` 70bfcaf4 Add Support of DHCP VSS Type 0 where
+  VPN-ID is ASCII 0d056e5e vppapigen: support per-file (major,minor,patch)
+  version stamps
+* ``./src/vnet/ipsec/ipsec.api`` ca514fda Allow IPsec interface to have SAs
+  reset 75d85609 Add API call to set keys on IPsec tunnel intf 0d056e5e
+  vppapigen: support per-file (major,minor,patch) version stamps 28029530
+  Add API support to dump IPsec SAs
+* ``./src/vnet/mpls/mpls.api`` c42fc05b Remove the unused ‘create VRF if
+  needed’ API parameters b8d4481a Break up vpe.api d792d9c0 BIER d0a59722
+  Revert “Enforce FIB table creation before use” f9342023 Enforce FIB
+  table creation before use 0d056e5e vppapigen: support per-file
+  (major,minor,patch) version stamps
+* ``./src/vnet/ethernet/p2p_ethernet.api`` 0d056e5e vppapigen: support
+  per-file (major,minor,patch) version stamps
+* ``./src/vnet/span/span.api`` 0d056e5e vppapigen: support per-file
+  (major,minor,patch) version stamps
+* ``./src/vnet/lisp-cp/lisp.api`` 0d056e5e vppapigen: support per-file
+  (major,minor,patch) version stamps
+* ``./src/vnet/lisp-cp/one.api`` 0d056e5e vppapigen: support per-file
+  (major,minor,patch) version stamps
+* ``./src/vnet/vxlan/vxlan.api`` 0d056e5e vppapigen: support per-file
+  (major,minor,patch) version stamps
+* ``./src/vnet/ipsec-gre/ipsec_gre.api`` 0d056e5e vppapigen: support per-file
+  (major,minor,patch) version stamps
+* ``./src/vnet/classify/classify.api`` b8d4481a Break up vpe.api 8527f12b add
+  classify session action set-sr-policy-index 0d056e5e vppapigen: support
+  per-file (major,minor,patch) version stamps
+* ``./src/vnet/ip/punt.api`` b8d4481a Break up vpe.api
+* ``./src/vnet/ip/ip.api`` c42fc05b Remove the unused ‘create VRF if needed’
+  API parameters b8d4481a Break up vpe.api af8dfbf6 Add sw_if_index to the
+  ip_neighbor_details_t response. d792d9c0 BIER 810086d8 UDP
+  Encapsulation. 595992c5 ip: add container proxy api 0164a06d Remove
+  unused ‘not_last’ parameter from ip_add_del_route d0a59722 Revert
+  “Enforce FIB table creation before use” 054c03ac Source Lookup
+  progammable via API f9342023 Enforce FIB table creation before use
+  d91c1dbd punt and drop features: - new IPv4 and IPv6 feature arcs on the
+  punt and drop nodes - new features: - redirect punted traffic to an
+  interface and nexthop - police punted traffic. 0d056e5e vppapigen:
+  support per-file (major,minor,patch) version stamps 6f631156 Distributed
+  Virtual Router Support
+* ``./src/vnet/cop/cop.api`` 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
+* ``./src/vnet/l2tp/l2tp.api`` 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
+* ``./src/vpp/oam/oam.api`` b8d4481a Break up vpe.api
+* ``./src/vpp/stats/stats.api`` ff233898 Stats for Multicast FIB 0d056e5e
+  vppapigen: support per-file (major,minor,patch) version stamps
+* ``./src/vpp/api/vpe.api`` b8d4481a Break up vpe.api d792d9c0 BIER 0d056e5e
+  vppapigen: support per-file (major,minor,patch) version stamps b598f1d3
+  Initial GENEVE TUNNEL implementation and tests.
+* ``./src/plugins/ioam/udp-ping/udp_ping.api`` 0d056e5e vppapigen: support
+  per-file (major,minor,patch) version stamps
+* ``./src/plugins/ioam/ip6/ioam_cache.api`` 0d056e5e vppapigen: support
+  per-file (major,minor,patch) version stamps
+* ``./src/plugins/ioam/lib-pot/pot.api`` 0d056e5e vppapigen: support per-file
+  (major,minor,patch) version stamps
+* ``./src/plugins/ioam/lib-trace/trace.api`` 0d056e5e vppapigen: support
+  per-file (major,minor,patch) version stamps
+* ``./src/plugins/ioam/export/ioam_export.api`` 0d056e5e vppapigen: support
+  per-file (major,minor,patch) version stamps
+* ``./src/plugins/ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api`` 0d056e5e
+  vppapigen: support per-file (major,minor,patch) version stamps
+* ``./src/plugins/ioam/lib-vxlan-gpe/ioam_vxlan_gpe.api`` 0d056e5e vppapigen:
+  support per-file (major,minor,patch) version stamps
+* ``./src/plugins/pppoe/pppoe.api`` 0d056e5e vppapigen: support per-file
+  (major,minor,patch) version stamps
+* ``./src/plugins/dpdk/api/dpdk.api`` 0d056e5e vppapigen: support per-file
+  (major,minor,patch) version stamps
+* ``./src/plugins/acl/acl.api`` 0d056e5e vppapigen: support per-file
+  (major,minor,patch) version stamps
+* ``./src/plugins/gtpu/gtpu.api`` 0d056e5e vppapigen: support per-file
+  (major,minor,patch) version stamps
+* ``./src/plugins/l2e/l2e.api`` 4ec38711 L2 emulation: remove usued
+  ip-table-id from API 55d03788 L2 Emulation
+* ``./src/plugins/flowprobe/flowprobe.api`` 0d056e5e vppapigen: support
+  per-file (major,minor,patch) version stamps
+* ``./src/plugins/nat/nat.api`` 7b929793 Translate matching packets using NAT
+  (VPP-1069) b932d26e NAT: Twice NAT44 (VPP-969) ab7a805f NAT44: identity
+  NAT (VPP-1073) c6fb36fc NAT: Remove old SNAT API (VPP-1070) 0938dcf1
+  NAT64 to use IPv4 address from interface (VPP-1051) efcd1e9e SNAT: IP
+  fragmentation (VPP-890) 8ebe6253 NAT: DS-Lite (VPP-1040) 5ba86f72 NAT:
+  delete session API/CLI (VPP-1041) 36ea2d6d One armed NAT (VPP-1035)
+  0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
+* ``./src/plugins/memif/memif.api`` 0d056e5e vppapigen: support per-file
+  (major,minor,patch) version stamps
+* ``./src/plugins/kubeproxy/kp.api`` c91f5024 Support kube-proxy data plane
+* ``./src/plugins/lb/lb.api`` 0d056e5e vppapigen: support per-file
+  (major,minor,patch) version stamps
+* ``./src/plugins/stn/stn.api`` 0906c5cf Plugin for IP-Address to Interface
+  Punting
+* ``./src/vlibmemory/memclnt.api 0d056e5e`` vppapigen: support per-file
+  (major,minor,patch) version stamps 59b2565c Repair vlib API socket
+  server