Джейсон Доненфилд (Jason A. Donenfeld), автор VPN WireGuard, объявил о принятии в основной состав OpenBSD драйвера ядра "wg" для протокола WireGuard, реализации специфичного сетевого интерфейса и изменений инструментария, работающего в пространстве пользователя. OpenBSD стала второй ОС после Linux с полной и интегрированной поддержкой WireGuard. Включение WireGuard ожидается в выпуске OpenBSD 6.8.
Патчи включают драйвер для ядра OpenBSD, изменения для утилит ifconfig и tcpdump с поддержкой функциональности WireGuard, документацию и мелкие изменения для интеграции WireGuard с остальной системой. В драйвере используется собственная реализация алгоритмов blake2s, hchacha20 и curve25519, а также уже присутствующие в ядре OpenBSD реализацию SipHash.
Реализация совместима со всеми официальными клиентами WireGuard для Linux, Windows, macOS, *BSD, iOS и Android. Тестирование производительности на ноутбуке разработчика (Lenovo x230) показало пропускную способность на уровне 750mbit/s. Для сравнения isakmpd с базовыми настройками ike psk обеспечивает пропускную способность 380mbit/s.
При разработке драйвера для ядра OpenBSD были выбраны некоторые схожие с драйвером для Linux архитектурные решения, но драйвер в первую очередь разрабатывался для OpenBSD, с оглядкой на специфику данной системы и учитывая опыт, полученный при создании драйвера для Linux. При согласии изначального автора WireGuard код нового драйвера целиком распространяется под свободной лицензией ISC.
Драйвер тесно интегрируется с сетевым стеком OpenBSD и использует существующие подсистемы, что позволило сделать код очень компактным (около 3000 строк кода). Из отличий также отмечается иное, чем для Linux, разделение компонентов драйвера: специфичные для OpenBSD интерфейсы вынесены в файлы "if_wg.*", код для защиты от DoS в "wg_cookie.*", а логика согласования соединений и шифрования в "wg_noise.*".