Nathan Skrzypczak | 9ad39c0 | 2021-08-19 11:38:06 +0200 | [diff] [blame] | 1 | Release notes for VPP 18.01 |
| 2 | =========================== |
| 3 | |
| 4 | More than 560 commits since the 17.10 release. |
| 5 | |
| 6 | Features |
| 7 | -------- |
| 8 | |
| 9 | - Infrastructure |
| 10 | |
| 11 | - DPDK 17.11 |
| 12 | - TCP Checksum Offload |
| 13 | - Arm64/Arm-v8 support |
| 14 | - SUSE packaging |
| 15 | - bihash_vec8_8 variant |
| 16 | - PCI rework to support VFIO |
| 17 | - chi-squared test calculator |
| 18 | |
| 19 | - SNAT / NAT |
| 20 | |
| 21 | - One armed NAT |
| 22 | - Twice NAT44 |
| 23 | - NAT hairpinning rework |
| 24 | - NAT64 multi-thread |
| 25 | - NAT64 IPFIX |
| 26 | - NAT64 Fragmentation |
| 27 | - NAT: DS-Lite |
| 28 | - Remove old SNAT API |
| 29 | - ACL-based NAT |
| 30 | |
| 31 | - VNET |
| 32 | |
| 33 | - DNS name resolver |
| 34 | - BIER |
| 35 | - GENEVE Tunnel |
| 36 | - IPSec Openssl 1.1.0 api support |
| 37 | - FIB improvements |
| 38 | - tap v2 |
| 39 | |
| 40 | - API |
| 41 | |
| 42 | - VPP stats (Broadcast & Multicast support) |
| 43 | - SR MPLS |
| 44 | - VPP Object Model (VOM) |
| 45 | |
| 46 | - Host Stack |
| 47 | |
| 48 | - VPP TCP Stack scale / congestion improvements |
| 49 | - Refactor UDP |
| 50 | - Namespace support |
| 51 | - Session rules table |
| 52 | - VPP Comms Library (VCL) improvements |
| 53 | |
| 54 | - ACL |
| 55 | |
| 56 | - ACL stats |
| 57 | |
| 58 | - Plugins |
| 59 | |
| 60 | - Kube-proxy |
| 61 | - L2 Emulation |
| 62 | - Memif |
| 63 | |
| 64 | Known issues |
| 65 | ------------ |
| 66 | |
| 67 | For the full list of issues please refer to fd.io |
| 68 | `JIRA <https://jira.fd.io>`__. |
| 69 | |
| 70 | Issues fixed |
| 71 | ------------ |
| 72 | |
| 73 | For the full list of fixed issues please refer to: |
| 74 | |
| 75 | - fd.io `JIRA <https://jira.fd.io>`__ |
| 76 | - git `commit log <https://git.fd.io/vpp/log/?h=stable/1801>`__ |
| 77 | |
| 78 | |
| 79 | API changes |
| 80 | ----------- |
| 81 | |
| 82 | ===================================== ================== |
| 83 | Message Name Result |
| 84 | ===================================== ================== |
| 85 | af_packet_set_l4_cksum_offload definition changed |
| 86 | api_versions definition changed |
| 87 | app_namespace_add_del definition changed |
| 88 | application_attach definition changed |
| 89 | bier_disp_entry_add_del definition changed |
| 90 | bier_disp_entry_details only in image |
| 91 | bier_disp_entry_dump only in image |
| 92 | bier_disp_table_add_del definition changed |
| 93 | bier_disp_table_details only in image |
| 94 | bier_disp_table_dump only in image |
| 95 | bier_imp_add definition changed |
| 96 | bier_imp_del definition changed |
| 97 | bier_imp_details only in image |
| 98 | bier_imp_dump only in image |
| 99 | bier_route_add_del definition changed |
| 100 | bier_route_details only in image |
| 101 | bier_route_dump only in image |
| 102 | bier_table_add_del definition changed |
| 103 | bier_table_details only in image |
| 104 | bier_table_dump only in image |
| 105 | bind_sock_reply definition changed |
| 106 | connect_session_reply definition changed |
| 107 | connect_sock definition changed |
| 108 | connect_uri definition changed |
| 109 | dhcp_proxy_details definition changed |
| 110 | dhcp_proxy_set_vss definition changed |
| 111 | dns_enable_disable definition changed |
| 112 | dns_name_server_add_del definition changed |
| 113 | dns_resolve_ip definition changed |
| 114 | dns_resolve_name definition changed |
| 115 | dslite_add_del_pool_addr_range definition changed |
| 116 | dslite_set_aftr_addr definition changed |
| 117 | geneve_add_del_tunnel definition changed |
| 118 | geneve_tunnel_details only in image |
| 119 | geneve_tunnel_dump only in image |
| 120 | ip_add_del_route definition changed |
| 121 | ip_container_proxy_add_del definition changed |
| 122 | ip_mroute_add_del definition changed |
| 123 | ip_neighbor_details definition changed |
| 124 | ip_punt_police definition changed |
| 125 | ip_punt_redirect definition changed |
| 126 | ipsec_sa_details only in image |
| 127 | ipsec_sa_dump only in image |
| 128 | ipsec_sad_add_del_entry definition changed |
| 129 | ipsec_tunnel_if_set_key definition changed |
| 130 | ipsec_tunnel_if_set_sa definition changed |
| 131 | kp_add_del_pod definition changed |
| 132 | kp_add_del_vip definition changed |
| 133 | kp_conf definition changed |
| 134 | l2_emulation definition changed |
| 135 | l2_fib_table_details definition changed |
| 136 | l2fib_add_del definition changed |
| 137 | memclnt_keepalive definition changed |
| 138 | memfd_segment_create definition changed |
| 139 | mpls_ip_bind_unbind definition changed |
| 140 | mpls_route_add_del definition changed |
| 141 | nat44_add_del_address_range definition changed |
| 142 | nat44_add_del_identity_mapping definition changed |
| 143 | nat44_add_del_interface_addr definition changed |
| 144 | nat44_add_del_lb_static_mapping definition changed |
| 145 | nat44_add_del_static_mapping definition changed |
| 146 | nat44_address_details definition changed |
| 147 | nat44_del_session definition changed |
| 148 | nat44_forwarding_enable_disable definition changed |
| 149 | nat44_forwarding_is_enabled definition changed |
| 150 | nat44_identity_mapping_details only in image |
| 151 | nat44_identity_mapping_dump only in image |
| 152 | nat44_interface_addr_details definition changed |
| 153 | nat44_lb_static_mapping_details definition changed |
| 154 | nat44_static_mapping_details definition changed |
| 155 | nat64_add_del_interface_addr definition changed |
| 156 | nat_get_reass definition changed |
| 157 | nat_reass_details only in image |
| 158 | nat_reass_dump only in image |
| 159 | nat_set_reass definition changed |
| 160 | reset_vrf definition changed |
| 161 | session_rule_add_del definition changed |
| 162 | session_rules_details only in image |
| 163 | session_rules_dump only in image |
| 164 | snat_add_address_range definition changed |
| 165 | snat_add_del_interface_addr definition changed |
| 166 | snat_add_det_map definition changed |
| 167 | snat_add_static_mapping definition changed |
| 168 | snat_address_details only in file |
| 169 | snat_address_dump only in file |
| 170 | snat_control_ping definition changed |
| 171 | snat_det_close_session_in definition changed |
| 172 | snat_det_close_session_out definition changed |
| 173 | snat_det_forward definition changed |
| 174 | snat_det_get_timeouts definition changed |
| 175 | snat_det_map_details only in file |
| 176 | snat_det_map_dump only in file |
| 177 | snat_det_reverse definition changed |
| 178 | snat_det_session_details only in file |
| 179 | snat_det_session_dump only in file |
| 180 | snat_det_set_timeouts definition changed |
| 181 | snat_interface_add_del_feature definition changed |
| 182 | snat_interface_add_del_output_feature definition changed |
| 183 | snat_interface_addr_details only in file |
| 184 | snat_interface_addr_dump only in file |
| 185 | snat_interface_details only in file |
| 186 | snat_interface_dump only in file |
| 187 | snat_interface_output_feature_details only in file |
| 188 | snat_interface_output_feature_dump only in file |
| 189 | snat_ipfix_enable_disable definition changed |
| 190 | snat_set_workers definition changed |
| 191 | snat_show_config definition changed |
| 192 | snat_static_mapping_details only in file |
| 193 | snat_static_mapping_dump only in file |
| 194 | snat_user_details only in file |
| 195 | snat_user_dump only in file |
| 196 | snat_user_session_details only in file |
| 197 | snat_user_session_dump only in file |
| 198 | snat_worker_details only in file |
| 199 | snat_worker_dump only in file |
| 200 | sockclnt_create definition changed |
| 201 | sockclnt_delete definition changed |
| 202 | sr_localsids_details only in image |
| 203 | sr_localsids_dump only in image |
| 204 | sr_mpls_policy_add definition changed |
| 205 | sr_mpls_policy_assign_endpoint_color definition changed |
| 206 | sr_mpls_policy_del definition changed |
| 207 | sr_mpls_policy_mod definition changed |
| 208 | sr_mpls_steering_add_del definition changed |
| 209 | sr_set_encap_source definition changed |
| 210 | stn_add_del_rule definition changed |
| 211 | stn_rule_details only in image |
| 212 | stn_rules_dump only in image |
| 213 | sw_interface_set_geneve_bypass definition changed |
| 214 | sw_interface_set_lldp definition changed |
| 215 | sw_interface_set_rx_mode definition changed |
| 216 | sw_interface_tap_v2_details only in image |
| 217 | sw_interface_tap_v2_dump only in image |
| 218 | tap_create_v2 definition changed |
| 219 | tap_delete_v2 definition changed |
| 220 | udp_encap_add_del definition changed |
| 221 | udp_encap_details only in image |
| 222 | udp_encap_dump only in image |
| 223 | vnet_ip4_mfib_counters only in image |
| 224 | vnet_ip6_mfib_counters only in image |
| 225 | want_ip4_mfib_stats definition changed |
| 226 | want_ip6_mfib_stats definition changed |
| 227 | ===================================== ================== |
| 228 | |
| 229 | Found 142 api message signature differences |
| 230 | |
| 231 | Patches that changed API definitions |
| 232 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 233 | |
| 234 | * ``./src/examples/sample-plugin/sample/sample.api`` 0d056e5e vppapigen: |
| 235 | support per-file (major,minor,patch) version stamps |
| 236 | * ``./src/vnet/interface.api b8d4481a`` Break up vpe.api ad8015be devices: Add |
| 237 | binary API for set interface rx-mode 0d056e5e vppapigen: support |
| 238 | per-file (major,minor,patch) version stamps |
| 239 | * ``./src/vnet/feature/feature.api`` b8d4481a Break up vpe.api |
| 240 | * ``./src/vnet/srv6/sr.api`` 1a5e301f SRv6 improvements to binary API 0d056e5e |
| 241 | vppapigen: support per-file (major,minor,patch) version stamps |
| 242 | * ``./src/vnet/bier/bier.api`` be302d72 BIER coverity fix in route downlaod |
| 243 | ceb4d05b BIER disposition default route fa1da15c BIER: API documentation |
| 244 | fixes. 9128637e BIER in non-MPLS netowrks d792d9c0 BIER |
| 245 | * ``./src/vnet/vxlan-gpe/vxlan_gpe.api`` 0d056e5e vppapigen: support per-file |
| 246 | (major,minor,patch) version stamps |
| 247 | * ``./src/vnet/unix/tap.api`` 0d056e5e vppapigen: support per-file |
| 248 | (major,minor,patch) version stamps |
| 249 | * ``./src/vnet/lldp/lldp.api`` 9a6fcef4 LLDP: Add Management Address TLV |
| 250 | 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps |
| 251 | * ``./src/vnet/dns/dns.api`` d2080159 Add reverse DNS (ip to name) resolution |
| 252 | 6545716c VPP-1027: DNS name resolver |
| 253 | * ``./src/vnet/session/session.api`` dcf55ce2 vppcom: improve listener session |
| 254 | handling 6e8c6679 session: add app ns index to ns create api c97a7398 |
| 255 | session: add rule tags 6c36f53f session: add api to dump rules 1c710451 |
| 256 | session: rules tables ade70e45 session: return local transport endpoint |
| 257 | in connect reply cea194d8 session: add support for application |
| 258 | namespacing 0d056e5e vppapigen: support per-file (major,minor,patch) |
| 259 | version stamps |
| 260 | * ``./src/vnet/devices/af_packet/af_packet.api`` 92b0275a af_packet: invalid |
| 261 | TCP/UDP offload checksum on RX node recalculation 0d056e5e vppapigen: |
| 262 | support per-file (major,minor,patch) version stamps |
| 263 | * ``./src/vnet/devices/netmap/netmap.api`` 0d056e5e vppapigen: support |
| 264 | per-file (major,minor,patch) version stamps |
| 265 | * ``./src/vnet/devices/tap/tapv2.api`` 73e7f427 tap_v2: include host-side |
| 266 | parameters in the dump binary API 2df39094 tapv2: multiple improvements |
| 267 | c99b4cd1 tap_v2: move code to vnet/devices/tap |
| 268 | * ``./src/vnet/devices/virtio/vhost_user.api`` 0d056e5e vppapigen: support |
| 269 | per-file (major,minor,patch) version stamps |
| 270 | * ``./src/vnet/lisp-gpe/lisp_gpe.api`` 0d056e5e vppapigen: support per-file |
| 271 | (major,minor,patch) version stamps |
| 272 | * ``./src/vnet/srmpls/sr_mpls.api`` 42998828 SR-MPLS: binary API and automated |
| 273 | steering |
| 274 | * ``./src/vnet/l2/l2.api`` b8d4481a Break up vpe.api 57938f63 l2fib: MAC: Fix |
| 275 | uint64 to u8 byte array 0d056e5e vppapigen: support per-file |
| 276 | (major,minor,patch) version stamps |
| 277 | * ``./src/vnet/udp/udp.api`` 810086d8 UDP Encapsulation. |
| 278 | * ``./src/vnet/policer/policer.api`` 0d056e5e vppapigen: support per-file |
| 279 | (major,minor,patch) version stamps |
| 280 | * ``./src/vnet/bfd/bfd.api`` 0d056e5e vppapigen: support per-file |
| 281 | (major,minor,patch) version stamps |
| 282 | * ``./src/vnet/geneve/geneve.api`` 556033a0 Add API versioning to GENEVE |
| 283 | tunnel implementation. b598f1d3 Initial GENEVE TUNNEL implementation and |
| 284 | tests. |
| 285 | * ``./src/vnet/gre/gre.api`` 0d056e5e vppapigen: support per-file |
| 286 | (major,minor,patch) version stamps |
| 287 | * ``./src/vnet/map/map.api`` 0d056e5e vppapigen: support per-file |
| 288 | (major,minor,patch) version stamps |
| 289 | * ``./src/vnet/flow/flow.api`` 0d056e5e vppapigen: support per-file |
| 290 | (major,minor,patch) version stamps |
| 291 | * ``./src/vnet/pg/pg.api`` b8d4481a Break up vpe.api |
| 292 | * ``./src/vnet/dhcp/dhcp.api`` 70bfcaf4 Add Support of DHCP VSS Type 0 where |
| 293 | VPN-ID is ASCII 0d056e5e vppapigen: support per-file (major,minor,patch) |
| 294 | version stamps |
| 295 | * ``./src/vnet/ipsec/ipsec.api`` ca514fda Allow IPsec interface to have SAs |
| 296 | reset 75d85609 Add API call to set keys on IPsec tunnel intf 0d056e5e |
| 297 | vppapigen: support per-file (major,minor,patch) version stamps 28029530 |
| 298 | Add API support to dump IPsec SAs |
| 299 | * ``./src/vnet/mpls/mpls.api`` c42fc05b Remove the unused ‘create VRF if |
| 300 | needed’ API parameters b8d4481a Break up vpe.api d792d9c0 BIER d0a59722 |
| 301 | Revert “Enforce FIB table creation before use” f9342023 Enforce FIB |
| 302 | table creation before use 0d056e5e vppapigen: support per-file |
| 303 | (major,minor,patch) version stamps |
| 304 | * ``./src/vnet/ethernet/p2p_ethernet.api`` 0d056e5e vppapigen: support |
| 305 | per-file (major,minor,patch) version stamps |
| 306 | * ``./src/vnet/span/span.api`` 0d056e5e vppapigen: support per-file |
| 307 | (major,minor,patch) version stamps |
| 308 | * ``./src/vnet/lisp-cp/lisp.api`` 0d056e5e vppapigen: support per-file |
| 309 | (major,minor,patch) version stamps |
| 310 | * ``./src/vnet/lisp-cp/one.api`` 0d056e5e vppapigen: support per-file |
| 311 | (major,minor,patch) version stamps |
| 312 | * ``./src/vnet/vxlan/vxlan.api`` 0d056e5e vppapigen: support per-file |
| 313 | (major,minor,patch) version stamps |
| 314 | * ``./src/vnet/ipsec-gre/ipsec_gre.api`` 0d056e5e vppapigen: support per-file |
| 315 | (major,minor,patch) version stamps |
| 316 | * ``./src/vnet/classify/classify.api`` b8d4481a Break up vpe.api 8527f12b add |
| 317 | classify session action set-sr-policy-index 0d056e5e vppapigen: support |
| 318 | per-file (major,minor,patch) version stamps |
| 319 | * ``./src/vnet/ip/punt.api`` b8d4481a Break up vpe.api |
| 320 | * ``./src/vnet/ip/ip.api`` c42fc05b Remove the unused ‘create VRF if needed’ |
| 321 | API parameters b8d4481a Break up vpe.api af8dfbf6 Add sw_if_index to the |
| 322 | ip_neighbor_details_t response. d792d9c0 BIER 810086d8 UDP |
| 323 | Encapsulation. 595992c5 ip: add container proxy api 0164a06d Remove |
| 324 | unused ‘not_last’ parameter from ip_add_del_route d0a59722 Revert |
| 325 | “Enforce FIB table creation before use” 054c03ac Source Lookup |
| 326 | progammable via API f9342023 Enforce FIB table creation before use |
| 327 | d91c1dbd punt and drop features: - new IPv4 and IPv6 feature arcs on the |
| 328 | punt and drop nodes - new features: - redirect punted traffic to an |
| 329 | interface and nexthop - police punted traffic. 0d056e5e vppapigen: |
| 330 | support per-file (major,minor,patch) version stamps 6f631156 Distributed |
| 331 | Virtual Router Support |
| 332 | * ``./src/vnet/cop/cop.api`` 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps |
| 333 | * ``./src/vnet/l2tp/l2tp.api`` 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps |
| 334 | * ``./src/vpp/oam/oam.api`` b8d4481a Break up vpe.api |
| 335 | * ``./src/vpp/stats/stats.api`` ff233898 Stats for Multicast FIB 0d056e5e |
| 336 | vppapigen: support per-file (major,minor,patch) version stamps |
| 337 | * ``./src/vpp/api/vpe.api`` b8d4481a Break up vpe.api d792d9c0 BIER 0d056e5e |
| 338 | vppapigen: support per-file (major,minor,patch) version stamps b598f1d3 |
| 339 | Initial GENEVE TUNNEL implementation and tests. |
| 340 | * ``./src/plugins/ioam/udp-ping/udp_ping.api`` 0d056e5e vppapigen: support |
| 341 | per-file (major,minor,patch) version stamps |
| 342 | * ``./src/plugins/ioam/ip6/ioam_cache.api`` 0d056e5e vppapigen: support |
| 343 | per-file (major,minor,patch) version stamps |
| 344 | * ``./src/plugins/ioam/lib-pot/pot.api`` 0d056e5e vppapigen: support per-file |
| 345 | (major,minor,patch) version stamps |
| 346 | * ``./src/plugins/ioam/lib-trace/trace.api`` 0d056e5e vppapigen: support |
| 347 | per-file (major,minor,patch) version stamps |
| 348 | * ``./src/plugins/ioam/export/ioam_export.api`` 0d056e5e vppapigen: support |
| 349 | per-file (major,minor,patch) version stamps |
| 350 | * ``./src/plugins/ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api`` 0d056e5e |
| 351 | vppapigen: support per-file (major,minor,patch) version stamps |
| 352 | * ``./src/plugins/ioam/lib-vxlan-gpe/ioam_vxlan_gpe.api`` 0d056e5e vppapigen: |
| 353 | support per-file (major,minor,patch) version stamps |
| 354 | * ``./src/plugins/pppoe/pppoe.api`` 0d056e5e vppapigen: support per-file |
| 355 | (major,minor,patch) version stamps |
| 356 | * ``./src/plugins/dpdk/api/dpdk.api`` 0d056e5e vppapigen: support per-file |
| 357 | (major,minor,patch) version stamps |
| 358 | * ``./src/plugins/acl/acl.api`` 0d056e5e vppapigen: support per-file |
| 359 | (major,minor,patch) version stamps |
| 360 | * ``./src/plugins/gtpu/gtpu.api`` 0d056e5e vppapigen: support per-file |
| 361 | (major,minor,patch) version stamps |
| 362 | * ``./src/plugins/l2e/l2e.api`` 4ec38711 L2 emulation: remove usued |
| 363 | ip-table-id from API 55d03788 L2 Emulation |
| 364 | * ``./src/plugins/flowprobe/flowprobe.api`` 0d056e5e vppapigen: support |
| 365 | per-file (major,minor,patch) version stamps |
| 366 | * ``./src/plugins/nat/nat.api`` 7b929793 Translate matching packets using NAT |
| 367 | (VPP-1069) b932d26e NAT: Twice NAT44 (VPP-969) ab7a805f NAT44: identity |
| 368 | NAT (VPP-1073) c6fb36fc NAT: Remove old SNAT API (VPP-1070) 0938dcf1 |
| 369 | NAT64 to use IPv4 address from interface (VPP-1051) efcd1e9e SNAT: IP |
| 370 | fragmentation (VPP-890) 8ebe6253 NAT: DS-Lite (VPP-1040) 5ba86f72 NAT: |
| 371 | delete session API/CLI (VPP-1041) 36ea2d6d One armed NAT (VPP-1035) |
| 372 | 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps |
| 373 | * ``./src/plugins/memif/memif.api`` 0d056e5e vppapigen: support per-file |
| 374 | (major,minor,patch) version stamps |
| 375 | * ``./src/plugins/kubeproxy/kp.api`` c91f5024 Support kube-proxy data plane |
| 376 | * ``./src/plugins/lb/lb.api`` 0d056e5e vppapigen: support per-file |
| 377 | (major,minor,patch) version stamps |
| 378 | * ``./src/plugins/stn/stn.api`` 0906c5cf Plugin for IP-Address to Interface |
| 379 | Punting |
| 380 | * ``./src/vlibmemory/memclnt.api 0d056e5e`` vppapigen: support per-file |
| 381 | (major,minor,patch) version stamps 59b2565c Repair vlib API socket |
| 382 | server |