FreeBSDプロジェクトは4月13日(協定世界時)、「The FreeBSD Project|FreeBSD 13.0-RELEASEAnnouncement」において、FreeBSDの最新版となる「FreeBSD 13.0-RELEASE」の公開を伝えた。x86_64(amd64)版、x86版(i386)、aarch64版(GENERIC、RPI 3/4、PINE64、PINE64-LTS、PINEBOOK、ROCK64、ROCKPRO64)、armv6 RPI-B版、armv7版、powerpc64版、powerpc64le版、powerpcspe版、powerpc版、riscv64版が提供されるほか、Amazon EC2、Google Compute Engine、Hashicorp/Atlas Vagrantへのイメージの提供および各種仮想環境イメージが提供されている。
FreeBSD 13.0-RELEASEの主な特徴は次のとおり。
- TLSデータのカーネル内フレーミングおよび暗号化をサポート。TLS 1.0から1.3に対応。カーネル内暗号化ドライバを介した送信オフロードは、AES-CBCを使用するMtE暗号スイートおよびAES-GCMを使用するAEAD暗号スイートで使用可能。カーネル内暗号化ドライバを介した受信オフロードは、TLS1.2のAES-GCM暗号スイートで使用可能。ただし、この機能を使用するにはユーザランドに対応したSSLライブラリが必要。ベースシステムに含まれているOpenSSLはこの機能が有効化されておらず、使用する場合はWITH_OPENSSL_KTLSオプションを指定してビルドする必要がある。
- aarch64版をTier-1対象へ昇格。
- Intel QuickAssist (QAT)デバイスの暗号処理アクセラレーション機能の一部をサポートするqat(4)ドライバを追加。Atom C2000、Atom C3000、Xeon C620、Xeon D-1500、Intel QAT Adapter 8950などで使用可能。
- BSD grep(1)をデフォルトインストール。古いGNU grep(1)は削除。
- libalias(3)からCU-SeeMeサポートを削除。
- 一部の古いドライバを削除。
- 一部のドライバをPowerPC64アーキテクチャへ移植。
- clang、lld、lldbユーティリティ、compiler-rt、llvm、libunwind、libc++ライブラリを11.0.1へアップデート。
- /usr/libexec/にインストールされていた古いGNUデバッガを削除。このデバッガはcrashinfo(8)によって使われていたもので、今後はPortsやパッケージからインストールした新しいGDBを使うことで機能するようになる。
- 古いbinutils 2.17およびgcc(1) 4.2.1を削除。今後はすべてのアーキテクチャにおいてLLVM/clangツールチェーンが使用される。
FreeBSD 13.0-RELEASEでは特にカーネル内TLS(KTLS)がサポートされた点が注目される。この機能を利用することで、TLSを使用する処理の高速化を期待できる。ベースシステムに含まれるOpenSSLはKTLS無効化の状態だが、オプションを指定してビルドすることで有効化が可能。今後の運用実績を経てからデフォルト有効化の方向へ進むものと見られる。
また、今回のリリースでは64ビット版のARMアーキテクチャであるaarch64(arm64やAArch64とも呼ばれる)がTier-1サポートになった点も注目される。これで64ビット版ARMアーキテクチャがx86_64(amd64)版と同レベルのサポート対象になったことになる。