On 31 Jan 2023, at 14:25, Alexander V. Chernikov <melif...@freebsd.org> wrote:
> 
> The branch main has been updated by melifaro:
> 
> URL: 
> https://cgit.FreeBSD.org/src/commit/?id=e80699a809a079c4e673940544d6ddd944e8d08e
> 
> commit e80699a809a079c4e673940544d6ddd944e8d08e
> Author:     Alexander V. Chernikov <melif...@freebsd.org>
> AuthorDate: 2023-01-31 14:22:11 +0000
> Commit:     Alexander V. Chernikov <melif...@freebsd.org>
> CommitDate: 2023-01-31 14:22:11 +0000
> 
>    netlink: add NETLINK to GENERIC.
> 
>    This is a followup of 692e19cf5195 (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
> ---
> sys/arm/conf/std.armv7     | 1 +
> sys/arm64/conf/std.arm64   | 1 +
> sys/i386/conf/GENERIC      | 1 +
> sys/powerpc/conf/GENERIC64 | 1 +
> sys/riscv/conf/GENERIC     | 1 +
> 5 files changed, 5 insertions(+)

Why not 32-bit powerpc? And if this is to make it generally available
as a standard FreeBSD component, what about all the various non-GENERIC
kernels (that don’t inherit from one of the ones you’ve touched)?
Especially if base is going to start using it.

Jess

> diff --git a/sys/arm/conf/std.armv7 b/sys/arm/conf/std.armv7
> index 8ace5c01eeab..03cc0ae5a2b8 100644
> --- a/sys/arm/conf/std.armv7
> +++ b/sys/arm/conf/std.armv7
> @@ -11,6 +11,7 @@ options     CC_CUBIC                # include CUBIC 
> congestion control
> options       TCP_HHOOK               # hhook(9) framework for TCP
> device                crypto                  # core crypto support
> options       IPSEC_SUPPORT           # Allow kldload of ipsec and tcpmd5
> +options              NETLINK                 # netlink(4) support
> options       SCTP_SUPPORT            # Allow kldload of SCTP
> options       FFS                     # Berkeley Fast Filesystem
> options       SOFTUPDATES             # Enable FFS soft updates support
> diff --git a/sys/arm64/conf/std.arm64 b/sys/arm64/conf/std.arm64
> index 6480ca6530e4..1e664a3ba90c 100644
> --- a/sys/arm64/conf/std.arm64
> +++ b/sys/arm64/conf/std.arm64
> @@ -13,6 +13,7 @@ options     INET                    # InterNETworking
> options       INET6                   # IPv6 communications protocols
> options       CC_CUBIC                # include CUBIC congestion control
> options       IPSEC_SUPPORT           # Allow kldload of ipsec and tcpmd5
> +options              NETLINK                 # netlink(4) support
> options       ROUTE_MPATH             # Multipath routing support
> options       FIB_ALGO                # Modular fib lookups
> options       TCP_OFFLOAD             # TCP offload
> diff --git a/sys/i386/conf/GENERIC b/sys/i386/conf/GENERIC
> index 235713851016..5d30f2877c1c 100644
> --- a/sys/i386/conf/GENERIC
> +++ b/sys/i386/conf/GENERIC
> @@ -32,6 +32,7 @@ options     VIMAGE                  # Subsystem 
> virtualization, e.g. VNET
> options       INET                    # InterNETworking
> options       INET6                   # IPv6 communications protocols
> options       IPSEC_SUPPORT           # Allow kldload of ipsec and tcpmd5
> +options              NETLINK                 # netlink(4) support
> options               ROUTE_MPATH             # Multipath routing support
> options       TCP_HHOOK               # hhook(9) framework for TCP
> options       TCP_OFFLOAD             # TCP offload
> diff --git a/sys/powerpc/conf/GENERIC64 b/sys/powerpc/conf/GENERIC64
> index bfd0cf342d95..37a78446f07a 100644
> --- a/sys/powerpc/conf/GENERIC64
> +++ b/sys/powerpc/conf/GENERIC64
> @@ -42,6 +42,7 @@ options     VIMAGE                  # Subsystem 
> virtualization, e.g. VNET
> options       INET                    # InterNETworking
> options       INET6                   # IPv6 communications protocols
> options       IPSEC_SUPPORT           # Allow kldload of ipsec and tcpmd5
> +options              NETLINK                 # netlink(4) support
> options               ROUTE_MPATH             # Multipath routing support
> options       TCP_OFFLOAD             # TCP offload
> options       TCP_BLACKBOX            # Enhanced TCP event logging
> diff --git a/sys/riscv/conf/GENERIC b/sys/riscv/conf/GENERIC
> index 2e35a49825d4..69c36511da80 100644
> --- a/sys/riscv/conf/GENERIC
> +++ b/sys/riscv/conf/GENERIC
> @@ -31,6 +31,7 @@ options     INET                    # InterNETworking
> options       INET6                   # IPv6 communications protocols
> options       TCP_HHOOK               # hhook(9) framework for TCP
> options       IPSEC_SUPPORT           # Allow kldload of ipsec and tcpmd5
> +options              NETLINK                 # netlink(4) support
> options               ROUTE_MPATH             # Multipath routing support
> options       TCP_OFFLOAD             # TCP offload
> options       TCP_BLACKBOX            # Enhanced TCP event logging


Reply via email to