From nobody Tue Jan 31 14:25:34 2023 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4P5nQQ4cyKz3cfYw; Tue, 31 Jan 2023 14:25:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4P5nQQ47nPz3qQw; Tue, 31 Jan 2023 14:25:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675175134; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OMN6XVMuDpb5euMMbHjKl5D7Y8Osju1vyp+USmUCxow=; b=UE3G+wMOqk2xSgfLRgmWO2itmIbvxSW+N9J3uIq5DOjckDpC/RiehBCKH1pPIdHDMByTg3 XBDXi4lbvVmA3NfO6lwMergrIZpCBVMvcU2FscS5HMkiOIy3b0gGEqKmIsUwUCr/uqah0W DiW+M2Yfp5PgzlgIpRIPisWucKJGZ+MXk8mZLsnXZ8jzejfBIJ7SY+QaqEC0Z99In43QIc r2AHM8HXrFiHEuLmjTMV5ASZAwieBJ+w6hfUqoAVMNTjDGhpTEaz+EWv2BkmhhxEKuom+d A9orIdrKGcgTDpcLx5zZwI8pqgxf+zSTWVMHJt5A4EowgOy9Jkfk6MhzCTaP2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1675175134; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=OMN6XVMuDpb5euMMbHjKl5D7Y8Osju1vyp+USmUCxow=; b=UkCTSL5EQzXEatmdSCG6SgBXmqoOLgEqo07CoeqGJFbq99Z7TZovqEIgTUbcMeDe5rety/ 9NYueyJjsPL1yO3zRaedg/j9Lf3Fy9LsdMLPLVDBDEhecGQWXlIuOZ7uyL3lpH1dEnLxAe xH6B9PQq3Q9yuIHNbR1CfvZPK+FUGdtK+eWtpX47W8dplGxPC4+R4e8kz+x07uhMIsc4nv bmPMVP29VOElweX8OG01r8kXiU9Zdq5YFACybsL93pDwIuzq9Kvnh3pJ5i/vI8aoEyOJK9 cJH1mybgzP3XAflPvdmH60xlp6XmOwlb/ZwBxP2ocEPKPCTcnLaz8FIKeVUbiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1675175134; a=rsa-sha256; cv=none; b=mGJ2HKQk1FbJ5Y573teXC2s/dXY5xGDgggjsf1SRkSKeUHFIfqwD6TqjeXhB63b6shLIFk SNDrPPzHh1mOnavdqxx00WrqkZA8OnF9Ucp16K6w7nLLW1wclByR43OShJfjUqD6poCfBx 8NDOmsWwTXH4cTk41dyKK73hzfTB+WDVkvSzrryUhIsb21PC9WecVXy5ypzheeEzjMiy4q mM7AhvtOpeiplOsPVHDAu1Ym6ttxrTZc1X4EYEOy/YQweBqY8PLo2vXLuHB+kDqdty6Io8 JU0mUBPGmrHA9z/wGL//a6/As/XeNYQ/YHZhZxbOmMxzsl2gKf5QcbfpZfam+g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4P5nQQ3Bctzs05; Tue, 31 Jan 2023 14:25:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 30VEPYhZ039849; Tue, 31 Jan 2023 14:25:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 30VEPYhj039848; Tue, 31 Jan 2023 14:25:34 GMT (envelope-from git) Date: Tue, 31 Jan 2023 14:25:34 GMT Message-Id: <202301311425.30VEPYhj039848@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Alexander V. Chernikov" Subject: git: e80699a809a0 - main - netlink: add NETLINK to GENERIC. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: melifaro X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e80699a809a079c4e673940544d6ddd944e8d08e Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by melifaro: URL: https://cgit.FreeBSD.org/src/commit/?id=e80699a809a079c4e673940544d6ddd944e8d08e commit e80699a809a079c4e673940544d6ddd944e8d08e Author: Alexander V. Chernikov AuthorDate: 2023-01-31 14:22:11 +0000 Commit: Alexander V. Chernikov 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(+) 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