Nathan Skrzypczak | 9ad39c0 | 2021-08-19 11:38:06 +0200 | [diff] [blame] | 1 | Release notes for VPP 18.10 |
| 2 | =========================== |
| 3 | |
| 4 | More than 632 commits since the 18.07 release. |
| 5 | |
| 6 | Features |
| 7 | -------- |
| 8 | |
| 9 | Infrastructure |
| 10 | ~~~~~~~~~~~~~~ |
| 11 | |
| 12 | - DPDK 18.08 integration |
| 13 | - New Stats infrastructure (interface, error, node performance |
| 14 | counters) |
| 15 | - Add configurable “Doug Lea malloc” support |
| 16 | |
| 17 | VNET & Plugins |
| 18 | ~~~~~~~~~~~~~~ |
| 19 | |
| 20 | - Load balancing: support per-port VIP and all-port VIP |
| 21 | - Port NSH plugin to VPP |
| 22 | - NAT |
| 23 | |
| 24 | - Configurable port range |
| 25 | - Virtual Fragmentation Reassembly for endpoint-dependent mode |
| 26 | - Client-IP based session affinity for load-balancing |
| 27 | - TCP MSS clamping |
| 28 | - Session timeout |
| 29 | - Bug-fixing and performance optimizations |
| 30 | |
| 31 | Host stack |
| 32 | ~~~~~~~~~~ |
| 33 | |
| 34 | - Support for applications with multiple workers |
| 35 | - Support for binds from multiple app workers to same ip:port |
| 36 | - Switched to a message queue for io and control event notifications |
| 37 | - Support for eventfd based notifications as alternative to |
| 38 | mutext-condvar pair |
| 39 | - VCL refactor to support async event notifications and multiple |
| 40 | workers |
| 41 | - TLS async support in client for HW accleration |
| 42 | - Performance optimizations and bug-fixing |
| 43 | - A number of binary APIs will be deprecated in favor of using the |
| 44 | event message queue. Details in the API section. |
| 45 | |
| 46 | Known issues |
| 47 | ------------ |
| 48 | |
| 49 | For the full list of issues please refer to fd.io |
| 50 | `JIRA <https://jira.fd.io>`__. |
| 51 | |
| 52 | Issues fixed |
| 53 | ------------ |
| 54 | |
| 55 | For the full list of fixed issues please refer to: |
| 56 | |
| 57 | - fd.io `JIRA <https://jira.fd.io>`__ |
| 58 | - git `commit log <https://git.fd.io/vpp/log/?h=stable/1810>`__ |
| 59 | |
| 60 | |
| 61 | API changes |
| 62 | ----------- |
| 63 | |
| 64 | Description of results: |
| 65 | |
| 66 | - *Definition changed*: indicates that the API file was modified |
| 67 | between releases. |
| 68 | |
| 69 | - *Only in image*: indicates the API is new for this release. |
| 70 | |
| 71 | - *Only in file*: indicates the API has been removed in this release. |
| 72 | |
| 73 | :: |
| 74 | |
| 75 | Message Name Result |
| 76 | |
| 77 | api_versions_reply definition changed |
| 78 | app_cut_through_registration_add definition changed |
| 79 | app_worker_add_del definition changed application_attach_reply |
| 80 | definition changed bd_ip_mac_details only in image bd_ip_mac_dump |
| 81 | only in image bfd_udp_get_echo_source definition changed |
| 82 | bier_imp_details definition changed bier_route_details definition |
| 83 | changed bind_sock definition changed bridge_domain_details definition |
| 84 | changed bridge_flags definition changed classify_add_del_session |
| 85 | definition changed classify_add_del_table definition changed |
| 86 | connect_sock definition changed create_vhost_user_if definition |
| 87 | changed get_first_msg_id_reply definition changed |
| 88 | gpe_add_del_fwd_entry_reply definition changed |
| 89 | gpe_fwd_entry_path_details definition changed ip6_fib_details |
| 90 | definition changed ip6nd_proxy_details definition changed |
| 91 | ip_add_del_route_reply definition changed ip_address_details |
| 92 | definition changed ip_details definition changed ip_fib_details |
| 93 | definition changed ip_mfib_details definition changed |
| 94 | ip_mroute_add_del_reply definition changed ip_neighbor_add_del_reply |
| 95 | definition changed ip_neighbor_details definition changed |
| 96 | ip_reassembly_get_reply definition changed ip_unnumbered_details |
| 97 | definition changed ipip_6rd_add_tunnel definition changed |
| 98 | ipip_add_tunnel definition changed ipsec_spds_details only in image |
| 99 | ipsec_spds_dump only in image l2_interface_efp_filter definition |
| 100 | changed lisp_eid_table_vni_details definition changed |
| 101 | map_another_segment definition changed mfib_signal_details definition |
| 102 | changed mpls_route_add_del_reply definition changed |
| 103 | mpls_tunnel_add_del definition changed mpls_tunnel_add_del_reply |
| 104 | definition changed mpls_tunnel_details definition changed |
| 105 | mpls_tunnel_dump definition changed one_eid_table_vni_details |
| 106 | definition changed qos_mark_enable_disable definition changed |
| 107 | qos_record_enable_disable definition changed reset_session_reply |
| 108 | definition changed rpc_call definition changed show_threads |
| 109 | definition changed sockclnt_create_reply definition changed |
| 110 | sockclnt_delete definition changed sockclnt_delete_reply definition |
| 111 | changed sw_interface_rx_placement_details only in image |
| 112 | sw_interface_rx_placement_dump only in image |
| 113 | sw_interface_set_ip_directed_broadcast definition changed |
| 114 | sw_interface_set_l2_bridge definition changed |
| 115 | sw_interface_set_rx_placement definition changed |
| 116 | sw_interface_set_vxlan_gbp_bypass definition changed udp_encap_add |
| 117 | definition changed udp_encap_add_del_reply only in file |
| 118 | udp_encap_add_reply only in image udp_encap_del definition changed |
| 119 | udp_encap_details definition changed unbind_sock definition changed |
| 120 | vxlan_gbp_tunnel_add_del definition changed vxlan_gbp_tunnel_details |
| 121 | only in image vxlan_gbp_tunnel_dump only in image Found 68 api |
| 122 | message signature differences |
| 123 | |
| 124 | Patches that changed API definitions |
| 125 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 126 | |
| 127 | ``src/plugins/avf/avf.api`` |
| 128 | |
| 129 | * `149d0e28 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=149d0e28>`_ avf: RSS support |
| 130 | * `4e6014fc <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4e6014fc>`_ avf: api fix |
| 131 | |
| 132 | ``src/plugins/gbp/gbp.api`` |
| 133 | |
| 134 | * `c0a93143 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c0a93143>`_ GBP Endpoint Updates |
| 135 | * `61b94c6b <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=61b94c6b>`_ vxlan-gbp: Add support for vxlan gbp |
| 136 | |
| 137 | ``src/plugins/igmp/igmp.api`` |
| 138 | |
| 139 | * `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos. |
| 140 | |
| 141 | ``src/plugins/lb/lb.api`` |
| 142 | |
| 143 | * `6a4375e0 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6a4375e0>`_ LB: fix flush flow table issue |
| 144 | * `49ca2601 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=49ca2601>`_ Add flush flag on del as command |
| 145 | * `219cc90c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=219cc90c>`_ Support lb on both vip and per-port-vip case |
| 146 | |
| 147 | ``src/plugins/nat/nat.api`` |
| 148 | |
| 149 | * `bb4e0225 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bb4e0225>`_ NAT: TCP MSS clamping |
| 150 | * `5d28c7af <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5d28c7af>`_ NAT: add support for configurable port range (VPP-1346) |
| 151 | * `ea5b5be4 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ea5b5be4>`_ NAT44: client-IP based session affinity for load-balancing (VPP-1297) |
| 152 | * `878c646a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=878c646a>`_ NAT44: add support for session timeout (VPP-1272) |
| 153 | * `69ce30d6 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=69ce30d6>`_ NAT: update nat_show_config_reply API (VPP-1403) |
| 154 | * `6bd197eb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb>`_ Remove client_index field from replies in API |
| 155 | * `c6c0d2a0 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c6c0d2a0>`_ NAT44: LB NAT - local backends in multiple VRFs (VPP-1345) |
| 156 | |
| 157 | ``src/plugins/vmxnet3/vmxnet3.api`` |
| 158 | |
| 159 | * `df7f8e8c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=df7f8e8c>`_ vmxnet3 device driver |
| 160 | |
| 161 | ``src/plugins/nsh/nsh.api`` |
| 162 | |
| 163 | * `d313f9e6 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d313f9e6>`_ Port NSH plugin to VPP |
| 164 | |
| 165 | ``src/plugins/nsim/nsim.api`` |
| 166 | |
| 167 | * `9e3252b5 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9e3252b5>`_ Network delay simulator plugin |
| 168 | |
| 169 | ``src/plugins/svs/svs.api`` |
| 170 | |
| 171 | * `d1e68ab7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d1e68ab7>`_ Source VRF Select |
| 172 | |
| 173 | ``src/vlibmemory/memclnt.api`` |
| 174 | |
| 175 | * `94495f2a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=94495f2a>`_ PAPI: Use UNIX domain sockets instead of shared memory |
| 176 | * `6bd197eb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb>`_ Remove client_index field from replies in API |
| 177 | * `75282457 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=75282457>`_ Fix "Old Style VLA" build warnings |
| 178 | |
| 179 | ``src/vnet/interface.api`` |
| 180 | |
| 181 | * `f0b42f48 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f0b42f48>`_ itf: dump interface rx-placement |
| 182 | * `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos. |
| 183 | * `54f7c51f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=54f7c51f>`_ rx-placement: Add API call for interface rx-placement |
| 184 | * `1855b8e4 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1855b8e4>`_ IP directed broadcast |
| 185 | |
| 186 | ``src/vnet/bfd/bfd.api`` |
| 187 | |
| 188 | * `2d3c7b9c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2d3c7b9c>`_ BFD: add get echo source API (VPP-1367) |
| 189 | |
| 190 | ``src/vnet/bier/bier.api`` |
| 191 | |
| 192 | * `ef90ed08 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ef90ed08>`_ BIER API and load-balancing fixes |
| 193 | * `6bd197eb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb>`_ Remove client_index field from replies in API |
| 194 | |
| 195 | ``src/vnet/classify/classify.api`` |
| 196 | |
| 197 | * `34eb5d42 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=34eb5d42>`_ classify_add_del_session API: Use more descriptive docstring (VPP-1385) |
| 198 | * `75282457 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=75282457>`_ Fix "Old Style VLA" build warnings |
| 199 | |
| 200 | ``src/vnet/devices/pipe/pipe.api`` |
| 201 | |
| 202 | * `208c29aa <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=208c29aa>`_ VOM: support for pipes |
| 203 | |
| 204 | ``src/vnet/devices/virtio/vhost_user.api`` |
| 205 | |
| 206 | * `ee2e58f6 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ee2e58f6>`_ vhost-user: Add disable feature support in api |
| 207 | |
| 208 | ``src/vnet/ethernet/ethernet_types.api`` |
| 209 | |
| 210 | * `de5b08fb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=de5b08fb>`_ Introduce a mac_address_t on the API and in VPP |
| 211 | |
| 212 | ``src/vnet/ip/ip_types.api`` |
| 213 | |
| 214 | * `d0df49f2 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d0df49f2>`_ Use IP address types on UDP encap API |
| 215 | |
| 216 | ``src/vnet/ip/ip.api`` |
| 217 | |
| 218 | * `412ecd32 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=412ecd32>`_ Improve ip_mroute_add_del documentation |
| 219 | * `14260393 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=14260393>`_ Add adjacency counters to the stats segment |
| 220 | * `28c142e3 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=28c142e3>`_ mroute routers in the stats segment |
| 221 | * `008dbe10 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=008dbe10>`_ Route counters in the stats segment |
| 222 | * `de5b08fb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=de5b08fb>`_ Introduce a mac_address_t on the API and in VPP |
| 223 | * `6bd197eb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb>`_ Remove client_index field from replies in API |
| 224 | * `b11f903a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b11f903a>`_ Fix context field position in API definition |
| 225 | |
| 226 | ``src/vnet/ipip/ipip.api`` |
| 227 | |
| 228 | * `61502115 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=61502115>`_ IPIP and SIXRD tunnels create API needs table-IDs not fib-indexes |
| 229 | |
| 230 | ``src/vnet/ipsec/ipsec.api`` |
| 231 | |
| 232 | * `a9a0b2ce <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a9a0b2ce>`_ IPsec: add API for SPDs dump (VPP-1363) |
| 233 | * `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos. |
| 234 | |
| 235 | ``src/vnet/l2/l2.api`` |
| 236 | |
| 237 | * `0a4e0063 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0a4e0063>`_ Fix documentation about sw_interface_set_l2_bridge |
| 238 | * `b474380f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b474380f>`_ L2 BD: introduce a BD interface on which to send UU packets |
| 239 | * `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos. |
| 240 | * `5c7c49d1 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5c7c49d1>`_ Fix documentation for SHG in bridge domain |
| 241 | * `5d82d2f1 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5d82d2f1>`_ l2: arp termination dump |
| 242 | * `6b9b41c8 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6b9b41c8>`_ L2 EFP: byteswap sw_if_index, enable flag can be u8 on .api |
| 243 | |
| 244 | ``src/vnet/lisp-cp/lisp.api`` |
| 245 | |
| 246 | * `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos. |
| 247 | * `6bd197eb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb>`_ Remove client_index field from replies in API |
| 248 | |
| 249 | ``src/vnet/lisp-cp/one.api`` |
| 250 | |
| 251 | * `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos. |
| 252 | * `6bd197eb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb>`_ Remove client_index field from replies in API |
| 253 | |
| 254 | ``src/vnet/lisp-gpe/lisp_gpe.api`` |
| 255 | |
| 256 | * `6bd197eb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb>`_ Remove client_index field from replies in API |
| 257 | * `b11f903a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b11f903a>`_ Fix context field position in API definition |
| 258 | |
| 259 | ``src/vnet/mpls/mpls.api`` |
| 260 | |
| 261 | * `f5fa5ae2 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f5fa5ae2>`_ MPLS tunnel dump: use sw_if_index not tunnel_index |
| 262 | * `6a30b5f9 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6a30b5f9>`_ MPLS tunnel dump fix |
| 263 | * `008dbe10 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=008dbe10>`_ Route counters in the stats segment |
| 264 | * `7c922dc4 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7c922dc4>`_ SR-MPLS: fixes and tests |
| 265 | |
| 266 | ``src/vnet/qos/qos.api`` |
| 267 | |
| 268 | * `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos. |
| 269 | * `ed234e7f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ed234e7f>`_ Enum type on the API for QoS sources |
| 270 | |
| 271 | ``src/vnet/session/session.api`` |
| 272 | |
| 273 | * `ab2f6dbf <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ab2f6dbf>`_ session: support multiple worker binds |
| 274 | * `134a996a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=134a996a>`_ vcl: add support for multi-worker apps |
| 275 | * `1553197f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1553197f>`_ session: add support for multiple app workers |
| 276 | * `6bd197eb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb>`_ Remove client_index field from replies in API |
| 277 | * `99368315 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=99368315>`_ vcl: support for eventfd mq signaling |
| 278 | |
| 279 | ``src/vnet/span/span.api`` |
| 280 | |
| 281 | * `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos. |
| 282 | |
| 283 | ``src/vnet/udp/udp.api`` |
| 284 | |
| 285 | * `9c0a3c42 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9c0a3c42>`_ UDP-Encap: name counters for the stats segment |
| 286 | * `d0df49f2 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d0df49f2>`_ Use IP address types on UDP encap API |
| 287 | |
| 288 | ``src/vnet/unix/tap.api`` |
| 289 | |
| 290 | * `bdc0e6b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7>`_ Trivial: Clean up some typos. |
| 291 | |
| 292 | ``src/vnet/vxlan-gbp/vxlan_gbp.api`` |
| 293 | |
| 294 | * `79a05f54 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=79a05f54>`_ VXLAN-GBP: use common types on the API |
| 295 | * `61b94c6b <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=61b94c6b>`_ vxlan-gbp: Add support for vxlan gbp |
| 296 | |
| 297 | ``src/vpp/api/vpe.api`` |
| 298 | |
| 299 | * `5d64c786 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5d64c786>`_ thread: Add show threads api |
| 300 | * `ec11b13a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ec11b13a>`_ Trivial: Cleanup some typos. |
| 301 | |
| 302 | ``src/vpp/stats/stats.api`` |
| 303 | |
| 304 | * `ec11b13a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ec11b13a>`_ Trivial: Cleanup some typos. |
| 305 | |
| 306 | Notice of future API deprecation |
| 307 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 308 | |
| 309 | - bind_uri_reply |
| 310 | - accept_session |
| 311 | - accept_session_reply |
| 312 | - disconnect_session_reply |
| 313 | - reset_session |
| 314 | - reset_session_reply |
| 315 | - bind_sock_reply |
| 316 | - connect_session_reply |