freebsd-dev/sys/conf
Alexander V. Chernikov 19e43c163c netlink: add netlink KPI to the kernel by default
This change does the following:

Base Netlink KPIs (ability to register the family, parse and/or
 write a Netlink message) are always present in the kernel. Specifically,
* Implementation of genetlink family/group registration/removal,
  some base accessors (netlink_generic_kpi.c, 260 LoC) are compiled in
  unconditionally.
* Basic TLV parser functions (netlink_message_parser.c, 507 LoC) are
  compiled in unconditionally.
* Glue functions (netlink<>rtsock), malloc/core sysctl definitions
 (netlink_glue.c, 259 LoC) are compiled in unconditionally.
* The rest of the KPI _functions_ are defined in the netlink_glue.c,
 but their implementation calls a pointer to either the stub function
 or the actual function, depending on whether the module is loaded or not.

This approach allows to have only 1k LoC out of ~3.7k LoC (current
 sys/netlink implementation) in the kernel, which will not grow further.
It also allows for the generic netlink kernel customers to load
 successfully without requiring Netlink module and operate correctly
 once Netlink module is loaded.

Reviewed by:	imp
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D39269
2023-03-27 13:55:44 +00:00
..
config.mk config.mk: All options in DEFAULTS are now defined in opt_global.h 2022-10-24 12:13:04 -06:00
dtb.build.mk dtb: Be much less verbose in the building of dtb 2022-10-29 10:13:54 -06:00
dtb.mk
files netlink: add netlink KPI to the kernel by default 2023-03-27 13:55:44 +00:00
files.amd64 superio,ftgpio: Add support for Fintek F81865 GPIO 2023-02-28 10:17:53 -07:00
files.arm arm: Rename hdmi_if.m to crtc_if.m 2023-03-17 13:34:57 +01:00
files.arm64 arm64: add KASAN support 2023-03-23 16:34:33 -05:00
files.i386 wdatwd: Add support for ACPI WDAT based watchdog timer. 2023-01-04 00:36:24 +09:00
files.powerpc ice(4): Update to 1.37.7-k 2023-02-13 17:29:44 -08:00
files.riscv Import an optimized str{n}cmp on arm64 2022-09-08 14:23:20 +01:00
files.x86 abstract out the vm detection via smbios.. 2023-03-02 16:54:21 -08:00
kern.mk sys: Stop enabling -Wnested-externs. 2023-03-22 12:35:09 -07:00
kern.opts.mk powerpc: enable ZFS on 32 bit powerpc/powerpcspe 2023-03-12 03:20:11 -03:00
kern.post.mk kern.post.mk: fix PORTSDIR handling 2023-03-27 13:57:57 +02:00
kern.pre.mk arm64: add KASAN support 2023-03-23 16:34:33 -05:00
kmod_syms_prefix.awk
kmod_syms.awk
kmod.mk sys: Retire OPENZFS_CWARNFLAGS now that it is empty. 2023-03-22 12:35:30 -07:00
kmod.opts.mk
ldscript.amd64
ldscript.arm
ldscript.arm64
ldscript.i386
ldscript.kmod.amd64
ldscript.kmod.i386
ldscript.powerpc
ldscript.powerpc64
ldscript.powerpc64le
ldscript.powerpcspe
ldscript.riscv
Makefile.amd64 Clarify DTR_ENABLED make variable 2023-01-12 11:03:49 -04:00
Makefile.arm
Makefile.arm64 Clarify DTR_ENABLED make variable 2023-01-12 11:03:49 -04:00
Makefile.i386
Makefile.powerpc
Makefile.riscv riscv: always include frame pointer 2023-01-12 11:04:24 -04:00
newvers.sh newvers.sh: Don't use return to exit. 2022-06-14 10:51:39 -07:00
NOTES ng_atmllc: remove 2023-03-09 18:04:21 +00:00
options netlink: add netlink KPI to the kernel by default 2023-03-27 13:55:44 +00:00
options.amd64 x86: Add MPTABLE_LINUX_BUG_COMPAT option 2022-10-17 23:02:22 -07:00
options.arm arm: Remove useless armv6/armv7 options 2022-10-20 10:48:31 -06:00
options.arm64 Add Rockchip RK3568 SoC 2022-12-20 03:01:41 +00:00
options.i386 x86: Add MPTABLE_LINUX_BUG_COMPAT option 2022-10-17 23:02:22 -07:00
options.powerpc
options.riscv conf: Document why we have ARM64 and RISCV options 2022-10-20 10:48:31 -06:00
std.nodebug
sysent.mk
systags.sh
vdso_amd64_ia32.ldscript
vdso_amd64.ldscript
WITHOUT_SOURCELESS
WITHOUT_SOURCELESS_HOST
WITHOUT_SOURCELESS_UCODE retire cp(4) driver 2022-12-13 15:24:52 -05:00