linuxkpi.4, linuxkpi_wlan.4: add short man pages

Add brief documentation on LinuxKPI.
Add brief documentation on LinuxKPI 802.11 compat so we can refer to
something about which features are supported.

Sponsored by:	The FreeBSD Foundation
MFC after:	3 days
Reviewed by:	dumbbell, ziaee, pauamma_gundo.com
Differential Revision: https://reviews.freebsd.org/D50790
This commit is contained in:
Bjoern A. Zeeb
2025-06-11 07:47:49 +00:00
parent ca6d68a063
commit bfaec3e647
2 changed files with 176 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
.\"
.\" SPDX-License-Identifier: BSD-2-Clause
.\"
.\" Copyright (c) 2025 The FreeBSD Foundation
.\"
.\" This documentation was written by Bj\xc3\xb6rn Zeeb under sponsorship from
.\" the FreeBSD Foundation.
.\"
.Dd June 13, 2025
.Dt LINUXKPI 4
.Os
.Sh NAME
.Nm linuxkpi
.Nd Linux Kernel Programming Interface support
.Sh DESCRIPTION
The
.Nm
kernel module provides a limited KPI (kernel programming interface) to allow
Linux kernel drivers and other Linux kernel code to be compiled on
.Fx
and used along the
.Fx
kernel with little or no modification.
.Pp
While historically
.Em OpenFabrics Enterprise Distribution (Infiniband) ,
and certain vendor drivers have used
.Nm .
.Em drm-kmod
for graphics driver support
and
.Xr linuxkpi_wlan 4
for wireless drivers are prominent consumers.
.Pp
.Nm
is not to be confused with
.Xr linux 4
which provides limited Linux ABI (application binary interface) compatibility
to allow running Linux application binaries unmodified on
.Fx .
.Sh SEE ALSO
.Xr linuxkpi_wlan 4
+134
View File
@@ -0,0 +1,134 @@
.\"
.\" SPDX-License-Identifier: BSD-2-Clause
.\"
.\" Copyright (c) 2025 The FreeBSD Foundation
.\"
.\" This documentation was written by Bj\xc3\xb6rn Zeeb under sponsorship from
.\" the FreeBSD Foundation.
.\"
.Dd June 13, 2025
.Dt LINUXKPI_WLAN 4
.Os
.Sh NAME
.Nm linuxkpi_wlan
.Nd LinuxKPI 802.11 support
.Sh DESCRIPTION
The
.Nm
kernel module provides an 802.11 compat layer to translate between Linux
802.11 drivers and the native net8011 wireless stack.
It currently supports
.Em mac80211
based drivers.
Parts of the
.Em cfg80211
exist but there is no code for net80211 to drive it.
.Pp
.Nm
currently supports the following
.Em wlanmode
operating modes:
.Bl -tag -width monitor -compact
.It Cm sta
client station in an infrastructure bss (IBSS).
.El
.Pp
Compat code for 802.11n (HT) and 802.11ac (VHT) is implemented but
support may vary for different drivers due to different KPI usage.
.Pp
Crypto support for hardware acceleration needs to be enabled using the
.Va compat.linuxkpi.80211.hw_crypto
tunable.
The following cipher suites are supported:
.Bl -tag -width CCMP -compact
.It Cm tkip
Support for
.Xr wlan_tkip 4
has to be manually enabled using the
.Va compat.linuxkpi.80211.tkip
tunable.
.It Cm ccmp
Support for
.Xr wlan_ccmp 4
is available.
.It Cm gcmp
Support for
.Xr wlan_gcmp 4
is available.
.El
Further cipher suites will be implemented as soon as
.Xr net80211 4
grows support.
While it would be possible to implement
.Xr wlan_wep 4
support, it was decided not to do so given
.Em Wired Equivalent Privacy (WEP)
has been deprecated since 2004.
.Pp
The list of supported drivers includes
.Xr iwlwifi 4 ,
.Xr rtw88 4 ,
and
.Xr rtw89 4 .
.Sh SYSCTL VARIABLES AND LOADER TUNABLES
The
.Nm
module supports the following
.Xr loader 8
tunable and read-only
.Xr sysctl 8
variables:
.Bl -tag -width "compat.linuxkpi.80211.hw_crypto"
.It Va compat.linuxkpi.80211.hw_crypto
Turn on hardware crypto offload support.
Default
.Ql 0 .
.It Va compat.linuxkpi.80211.tkip
Turn on support for
.Xr wlan_tkip 4
offloading.
Default
.Ql 0 .
.El
.Pp
The
.Nm
module supports the following
.Xr sysctl 8
variables:
.Bl -tag -width "compat.linuxkpi.80211.IF.dump_stas"
.It Va compat.linuxkpi.80211.debug
If the kernel is compiled with
.Dv IEEE80211_DEBUG
or
.Dv LINUXKPI_DEBUG_80211
is manually enabled, the sysctl is a bitmask to turn on individual
debug messages.
See
.Pa sys/compat/linuxkpi/common/src/linux_80211.h
for details.
.It Va compat.linuxkpi.80211.IF.dump_stas
Print statistics for a given, associated
.Xr wlan 4
interface; typically IF would be
.Em wlan0 .
.El
.Sh SEE ALSO
.Xr iwlwifi 4 ,
.Xr linuxkpi 4 ,
.Xr rtw88 4 ,
.Xr rtw89 4 ,
.Xr wlan 4
.Sh HISTORY
The
.Nm
module first appeared in
.Fx 13.1 .
Support for IEEE 802.11n and 802.11ac in
.Nm
first appeared in
.Fx 14.3 .
.Sh AUTHORS
LinuxKPI 802.11 support was developed by
.An Bjoern A. Zeeb
under sponsorship from the FreeBSD Foundation.