freebsd-dev/sys/powerpc
Alexander V. Chernikov e80699a809 netlink: add NETLINK to GENERIC.
This is a followup of 692e19cf51 (add netlink to GENERIC@amd64).

Netlink is a communication protocol defined in RFC 3549. It is async,
TLV-based protocol, providing 1-1 and 1-many communications between kernel
and userland. Netlink is currently used in Linux kernel to modify, read and
subscribe for nearly all networking states. Interface state, addresses, routes,
firewall, rules, fibs, etc, are controlled via Netlink.

Netlink support was added in D36002. It has got a number of improvements and
first customers since then:
* net/bird2 got netlink support, enabling route multipath in FreeBSD
* netlink-based devd notifications are being worked on ( D37574 ).
* linux(4) fully supports and depends on Netlink

Enabling Netlink in GENERIC targets two goals.
The first one is to provide stability for the third-party userland applications,
so they can rely on the fact that netlink always exists since 14.0 and potentially 13.2.
Loadable module makes life of the app delepers harder. For example, `net/bird2` can be
either build with netlink or rtsock support, but not both.

The second goal is to enable gradual conversion of the base userland tools
to use netlink(4) interfaces. Converting tools like netstat (D36529), route,
ifconfig one-by-one simplifies testing and addressing the feedback.
Othewise, switching all base to use netlink at once may be too big of a leap.

MFC after:	1 week
Differential Revision: https://reviews.freebsd.org/D37783
2023-01-31 14:22:11 +00:00
..
aim powerpc: slb_alloc_user_cache: fix missing uma_zalloc wait flag 2022-10-03 20:56:41 -03:00
amigaone powerpc amigaone: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-10 10:21:38 -07:00
booke pmap_unmapdev/bios: Accept a pointer instead of a vm_offset_t. 2022-09-22 15:08:52 -07:00
conf netlink: add NETLINK to GENERIC. 2023-01-31 14:22:11 +00:00
cpufreq cpufreq: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:39:29 -07:00
fpu Create sys/reg.h for the common code previously in machine/reg.h 2021-08-30 12:50:53 +01:00
include vm: centralize VM_BATCHQUEUE_SIZE definition 2023-01-21 14:30:00 -05:00
mambo powerpc mambo: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-10 10:21:38 -07:00
mikrotik rbled: Remove unused devclass argument to DRIVER_MODULE. 2022-05-10 10:21:38 -07:00
mpc85xx powerpc/mpc85xx: Add compat strings for P5040 PCIe 2022-11-30 19:45:10 -05:00
ofw subr_bus: restore bus_null_rescan() 2022-06-23 16:07:00 -03:00
powermac pmap_unmapdev/bios: Accept a pointer instead of a vm_offset_t. 2022-09-22 15:08:52 -07:00
powernv powerpc powernv: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-10 10:21:38 -07:00
powerpc kmem_malloc/free: Use void * instead of vm_offset_t for kernel pointers. 2022-09-22 15:09:19 -07:00
ps3 powerpc ps3: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-10 10:21:38 -07:00
pseries powerpc pseries: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-10 10:21:38 -07:00
psim pmap_unmapdev/bios: Accept a pointer instead of a vm_offset_t. 2022-09-22 15:08:52 -07:00