freebsd-dev/sys/amd64/conf
Alexander V. Chernikov 692e19cf51 netlink: 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.

This change targets amd64, the other architectures will follow soon.

Differential Revision: https://reviews.freebsd.org/D37783
2023-01-13 10:22:40 +00:00
..
DEFAULTS tcp: make CUBIC the default congestion control mechanism. 2022-09-13 12:09:21 +02:00
FIRECRACKER amd64: Add FIRECRACKER kernel configuration 2022-10-17 23:02:22 -07:00
GENERIC netlink: add netlink to GENERIC@amd64 2023-01-13 10:22:40 +00:00
GENERIC-KASAN amd64: Add MD bits for KASAN 2021-04-13 17:42:20 -04:00
GENERIC-KCSAN sys/*/conf/*, docs: fix links to handbook 2021-05-20 09:27:10 +01:00
GENERIC-KMSAN Add a GENERIC-KMSAN kernel configuration for amd64 2021-08-10 21:27:53 -04:00
GENERIC-MMCCAM Fix amd64 GENERIC-MMCCAM kernel build 2020-12-24 22:30:52 +01:00
GENERIC-NODEBUG sys/*/conf/*, docs: fix links to handbook 2021-05-20 09:27:10 +01:00
GENERIC.hints
LINT Create in-tree LINT files 2020-10-09 01:48:14 +00:00
LINT-NOINET Create in-tree LINT files 2020-10-09 01:48:14 +00:00
LINT-NOINET6 Create in-tree LINT files 2020-10-09 01:48:14 +00:00
LINT-NOIP ktls: Remove the KERN_TLS option from the i386 and amd64 LINT-NOIP kernel configurations. 2022-06-11 21:31:28 +02:00
MINIMAL MIMIMAL: add uart 2022-07-01 11:24:51 -06:00
NOTES net80211: fix IEEE80211_DEBUG_REFCNT builds 2022-11-29 21:20:37 +00:00