Onload-7.1.0 ============ This is a feature release of Onload that adds system-level interface blacklisting, provides improvements for XDP and TCPDirect, includes various bug fixes and refreshes the sfc net driver included in the package. This release is the successor to Onload-7.0.0.176. See the accompanying ChangeLog for a list of bugs fixed. Linux distribution support -------------------------- This package is supported on: - Red Hat Enterprise Linux 6.8 - 6.10 - Red Hat Enterprise Linux 7.5 - 7.8 - Red Hat Enterprise Linux 8.0 - 8.2 - SuSE Linux Enterprise Server 12 sp4 and sp5 - SuSE Linux Enterprise Server 15 and sp1 - Canonical Ubuntu Server LTS 16.04, 18.04 and 20.04 - Debian 9 "Stretch" - Debian 10 "Buster" - Linux kernels 3.10 - 5.5 System-level interface blacklisting ----------------------------------- In addition to the per-stack EF_INTERFACE_BLACKLIST and EF_INTERFACE_WHITELIST in OpenOnload-201710, a system-level configuration has been added. Files in /proc/driver/sfc_resource//enable may be written with "1" or "0" to enable or disable a network interface for all applications on the system. Onloaded applications will not accelerate sockets using a disabled interface (the socket will be handled by the kernel). ef_vi applications will fail the ef_pd_alloc call at startup. By default, all interfaces are enabled when the driver is loaded; to disable all interfaces initially pass the "enable_accel_by_default=0" module parameter to sfc_resource. Onload Remote Monitor enhancement --------------------------------- The Onload Remote Monitor has been enhanced to add a new orm_json_lib library, which can be used by customers to build their own custom monitoring solutions. The existing orm_webserver and orm_json functionality has been retained (internally this now uses the orm_json_lib library). A simple example of how to use orm_json_lib is provided in src/tools/onload_remote_monitor/orm_zmq_publisher.c This will publish the chosen statistics via a ZeroMQ publisher every N seconds. A companion example src/tools/onload_remote_monitor/zmq_subscriber.c can be used to receive the JSON statistics via ZeroMQ. eBPF/XDP -------- The implementation of XDP features is now delegated to the currently-running kernel. This expands the set of supported XDP features to those provided by the kernel but means that XDP is no longer supported on older OSs that do not provide the corresponding features natively. On Onload-7.0.0.176, XDP was implemented using a snapshot of the Linux 4.20 implementation. Acceleration of traffic using addresses not configured on SFC NICs ------------------------------------------------------------------ A new module parameter, cplane_use_prefsrc_as_local, allows Onload to accelerate outgoing traffic over Solarflare interfaces where the route selects a preferred source IP address that is not configured on that interface. This parameter is in addition to the more general oof_use_all_ports module Parameter. New configuration options ------------------------- - EF_XDP_MODE Configure whether XDP programs are run on packets received by Onload. The default is 'disabled'. 'compatible' causes Onload to use XDP programs attached to Solarflare devices and implicitly enables in-kernel polling. Modified configuration options ------------------------------ - EF_UDP_CONNECT_HANDOVER In addition to the previously-accepted values, this option now also accepts a value of 2, which will cause all UDP sockets to be handed over when calling connect(), regardless of whether the socket could have been accelerated. Deprecation ----------- The ability to insert filters to steer kernel traffic using sfcaffinity remains deprecated and will be removed in a future release. Instead ethtool should be used for this purpose.