=== Kernel Crypto changes to support WireGuard Contact: John Baldwin During the past few months, I merged several changes to the kernel to better support the WireGuard driver. These include extensions to the 'struct enc_xform' interface to better support AEAD ciphers, changes to 'struct enc_xform' to support multi-block operations for improved performance, and the addition of the XChaCha20-Poly1305 AEAD cipher suite to OCF. Additionally, the kernel now includes a new "direct" API for ChaCha20-Poly1305 operations on small, flat buffers. A change in review adds an API to support curve25519 operations. With these changes, the WireGuard driver is mostly able to use crypto APIs from the kernel rather than its internal implementations. In parallel I have been updating the WireGuard driver to use the new APIs verifying interoperability with the existing driver. One of the next tasks is to refine these changes (along with some minor bug fixes) as candidates for upstreaming into the WireGuard driver. Sponsor: The FreeBSD Foundation