FreeBSD 13.2 Supports Netlink and Wireguard

FreeBSD has officially released version 13.2 after 11 months of development. The installation images for architectures AMD64, I386, PowerPC, PowerPC64, PowerPC64le, PowerPCSPE, ARMV6, ARMV7, AARCH64, and RISCV64 have been provided. Additionally, assemblies for virtualization systems, such as Qcow2, VHD, VMDK, RAW, and cloud environments of Amazon EC2, Google Compute Engine, and Vagrant, have also been prepared.

The latest version comes with a few significant changes. Firstly, the possibility of creating UFS and FFS files, including journalization (Soft Updates), has been implemented. Background maintenance of dumps (launching DUMP with a flag of “-l”) with the contents of the UFS targeted file systems and the journal turned on is also now supported. A background implementation of integrity verification using the FSCK utility is still available when using journaling.

Secondly, in the main composition, working at the nucleus of the WG driver with the implementation of the network interface for the VPN Wireguard has been implemented. To use the necessary cryptographic algorithms, the FreeBSD nucleus of the API of the API of the API, which has been added to the use of Libsodium algorithms not supported in FreeBSD through standard crypto-APIs. The attachment of encryption and deciphering packages to CPU nuclei has been optimized to uniform balancing, making it possible to reduce overhead costs when processing Wireguard packages. The past attempt to include Wireguard in FreeBSD was taken in 2020, but the already added code was deleted due to poor quality, careless work with buffers, using plugs instead of checks, incomplete implementation of the protocol, and violation of the GPL license. The new implementation, jointly prepared by the main teams of developers FreeBSD and Wireguard with the participation of Jason A. Donenfeld, the author of the VPN Wireguard, and John H. Baldwin, the famous developer FreeBSD. Before the adoption of a new code, with the support of the organization FreeBSD Foundation, a complete review of the changes was carried out.

Lastly, support for the communication protocol Netlink (RFC 3549) used in Linux has been realized. The project is limited to the support of the NetLink_route family to control the state of the network subsystem in the nucleus, which allows users to use IPSec Linux outlines from the IProute2 package to control network interfaces, installation of IP addresses, setting up routing, manipulating Nexthop objects, and storing data on the state used for package transfer to the desired destination.

Users can access these changes directly by installing

/Reports, release notes, official announcements.