Onload-8.1.1 ============ This is an update release of Onload to fix various bugs in OpenOnload-8.1.0.15 and extend support for new kernels. Linux distribution support -------------------------- This package can be installed on: - Red Hat Enterprise Linux 7.9 - Red Hat Enterprise Linux 8.4 - 8.8 - Red Hat Enterprise Linux 9.0 - 9.2 - SuSE Linux Enterprise Server 15 SP4 - SP5 - Canonical Ubuntu Server LTS 20.04 and 22.04 - Debian 11 "Bullseye" - Debian 12 "Bookworm" - Linux kernels 4.15 - 6.4 kernel.org Linux kernels 6.2 - 6.4 ---------------------------------- In addition to suporting new Linux kernel 6.4, this update includes support for kernels 6.2 and 6.3 which was intended for but not present in the Onload-8.1.0.15 release. Querying X3 queue exclusivity status ------------------------------------ The ef_vi_filter_query API now gives the exclusivity status of a given filter. This is done via the EF_FILTER_IS_EXCLUSIVE flag. Onload-8.1.0.15 =============== This is a feature release of Onload with extended support for the Alveo™ XtremeScale™ X3522 low latency network adapter and added support for new operating systems and kernels. Various features and fixes since OpenOnload-8.0.2.51 are included and version 5.3.14.1019 of the sfc net driver for X2-based network cards. Linux distribution support -------------------------- This package can be installed on: - Red Hat Enterprise Linux 7.9 - Red Hat Enterprise Linux 8.4 - 8.8 - Red Hat Enterprise Linux 9.0 - 9.2 - SuSE Linux Enterprise Server 15 SP4 - SP5 - Canonical Ubuntu Server LTS 20.04 and 22.04 - Debian 11 "Bullseye" - Debian 12 "Bookworm" - Linux kernels 4.15 - 6.3 Alveo X3522 ----------- Onload on the Alveo X3522 requires a compatible net driver version from https://www.xilinx.com/products/boards-and-kits/alveo/x3.html#software such as v1.5.2.0 at the time of writing. Older kernels such as on RHEL 7.9 and RHEL 8.4 also require the auxiliary bus driver to be installed (available from the same download page). See X3522 released notes and documentation. Controlling exclusive access to X3 Rx queues -------------------------------------------- Onload-8.1 introduces a new mechanism for enabling users to reserve a hardware receive queue for a given singular application. This mechanism is currently only supported on X3522 Network Cards. This is via a new filter flag (EF_FILTER_FLAG_EXCLUSIVE_RXQ) that is applied via ef_filter_spec_init. With this change, users can ensure the following properties for their application. 1) Other applications will be unable to snoop on traffic filtered to this application. 2) This application can guarantee that it will not receive any packets for which it did not explicitly add a filter. In addition, this version of Onload introduces a new function, ef_filter_spec_set_dest(). This API enables the user to specify which hardware receive queue an application can listen on. Due to the additional granularity afforded by the above granular controls, this version has necessitated the deprecation of the following broader EF_VI application flags. - EF_VI_EFCT_UNIQUEUE - EF_VI_RX_EXCLUSIVE Further details of specific exclusivity conditions can be found under the EF_FILTER_FLAG_EXCLUSIVE_RXQ documentation. Hardware filter IDs on X3522 ---------------------------- New features have been added to ef_vi to allow applications to reuse the result of the hardware packet parsing and filtering which X3 has done on rx. The new ef_vi_filter_query() will return the ID which the NIC has allocated for a previously-added filter, which will match the ef_event.rx_ref.filter_id field returned by an ef_vi_poll() call. Note that ef_vi will not always use on-NIC filtering to satisfy a call to ef_vi_filter_add(), and so ef_vi_filter_query() has the ability to report that no filter ID is available; applications should be written to be robust to this scenario. IPv6 on X3522 ------------- When using IPv6 with an onload accelerated socket on X3522 received IPv6 fragments will be dropped. Transmit path warming on X3522 ------------------------------ Onload-8.1 adds new features to allow the transmit code path to be exercised without sending any data on the wire. This can potentially improve latency when transmitting after a period of inactivity, as recently executed code is more likely to be cached. This functionality is available via both ef_vi and TCPDirect APIs. ef_vi: Use efct_vi_start_transmit_warm() and efct_vi_stop_transmit_warm() to start and stop warming. Call transmit functions while warming to exercise the code. These functions are only usable for EFCT (X3) NICs. TCPDirect: Use zft_send_single_warm() and zfut_send_single_warm(). These functions are not new, but Onload-8.1 extends them to be usable for any NIC architecture including EFCT (X3). TCPDirect --------- Since v8.0.0, TCPDirect has been provided in a separately released package sharing the same base version number (x.y.z) as the Onload version with which it must be used. Deprecation of RHEL 7 --------------------- Future feature releases of OpenOnload may not include support for Red Hat Enterprise Linux 7.x. Long Term Support for Onload 8.1 including on RHEL 7.9 will be available in the form of EnterpriseOnload 8.1. Please ask your sales representative for details. (c) Copyright 2023 Advanced Micro Devices, Inc.