From nobody Sat Oct 01 16:45:56 2022 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 4MftJk1VJpz4d0sd for ; Sat, 1 Oct 2022 16:45:58 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: from mail-qk1-x734.google.com (mail-qk1-x734.google.com [IPv6:2607:f8b0:4864:20::734]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4MftJk1427z44cD for ; Sat, 1 Oct 2022 16:45:58 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: by mail-qk1-x734.google.com with SMTP id 3so4566890qka.5 for ; Sat, 01 Oct 2022 09:45:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hardenedbsd.org; s=google; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date; bh=2K7xGtdSsj8gFTGQsiEd0VIyuTYruzGRUs0uHSCUaJE=; b=WLTCn17AV7S8bGlAlWuEbUZggqfCmzcR56SHM36ob3IJgPl9H1pFnHA9QTewytvr5O Tv3mxcvmzdiHWLePCiDAANQYoH48ZIJ3mw2TZEb3KmpF6vX860Q3F/IudMTMv0jc99sG EVSr7enNAAYdBDke7i/4fnJ5mHtNX8AAx5lXlmGYVxGardCPSwHzU/l9DqAYkz8i/hU5 V0XRM5XMb+L6EVQ4ynx698WGNFbb1x/zbE56Er0mHrBUL8cqHrnQ+Z473gx4pEs9tfQX iFYS3v+OtjMW/3Vx8raSdt/Pex+HxRS8NfoEPn0M0tjx3iKP1y+n1ETI9mqkl4rJMF0j gqUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date; bh=2K7xGtdSsj8gFTGQsiEd0VIyuTYruzGRUs0uHSCUaJE=; b=0JxI7ZnWw+wwEX65Mg7w9t+S6u8E3xlBAo2LUrxO57Qqv5HsyaBXnvmZtwJsFgrXgi z46EguEJDCEtdjrvrUgw5JyAFbQrwl/Oo8cMdehFH8K4ZL88MA9pcYQy7kTPDNSfZ4f4 G1WlJMfL6baLerYcDIBtF+ygR16jOMdZL9VdTCZOdtfLk75oZHo9XHnbhfa3MfRkpVO8 jWwllZMeqtUS7GJ5JR1RA0/fLjl9sXKkOf09wCYP4l7WPfOmhyD1GlbSUDkQWFj6t1Q5 5pgCyShsu15J98X2IFdS688H/t5yTTV4N2k6CxWYFcTrIMjWksDwhxDiQvOIWBKwJikg O5vg== X-Gm-Message-State: ACrzQf1/OMs2ZSYAH2bjWZClLr42a+JeGyzIAMuB5qWwyBaxi84JS+Cs 0XErok6B3tjBSoZSTU1/aynyeg== X-Google-Smtp-Source: AMsMyM423Zcw05a44VNoZbL3jyczxUx3Nww5g2kar972XfQqsU4KZfoZk4AKRP/XXQvHaT+kYqzNqA== X-Received: by 2002:a05:620a:440a:b0:6ce:d463:934d with SMTP id v10-20020a05620a440a00b006ced463934dmr9528252qkp.761.1664642757684; Sat, 01 Oct 2022 09:45:57 -0700 (PDT) Received: from mutt-hbsd (pool-100-16-219-215.bltmmd.fios.verizon.net. [100.16.219.215]) by smtp.gmail.com with ESMTPSA id bm34-20020a05620a19a200b006cbd92ca141sm6058593qkb.133.2022.10.01.09.45.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Oct 2022 09:45:57 -0700 (PDT) Date: Sat, 1 Oct 2022 12:45:56 -0400 From: Shawn Webb To: "Alexander V. Chernikov" Cc: "src-committers@freebsd.org" , "dev-commits-src-all@freebsd.org" , "dev-commits-src-main@freebsd.org" Subject: Re: git: 7e5bf68495cc - main - netlink: add netlink support Message-ID: <20221001164556.guh2gu6umjvehq3r@mutt-hbsd> X-Operating-System: FreeBSD mutt-hbsd 14.0-CURRENT-HBSD FreeBSD 14.0-CURRENT-HBSD X-PGP-Key: https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/blob/master/Shawn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc References: <202210011419.291EJ3aa000309@gitrepo.freebsd.org> <20221001163510.gkvfycmi224ei5ok@mutt-hbsd> <3A024E22-7FA8-4465-88EB-7DC7B1320095@ipfw.ru> 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: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="iwomfqhvgfyzurjf" Content-Disposition: inline In-Reply-To: <3A024E22-7FA8-4465-88EB-7DC7B1320095@ipfw.ru> X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Rspamd-Queue-Id: 4MftJk1427z44cD X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-ThisMailContainsUnwantedMimeParts: N --iwomfqhvgfyzurjf Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Oct 01, 2022 at 05:40:05PM +0100, Alexander V. Chernikov wrote: >=20 > > On 1 Oct 2022, at 17:35, Shawn Webb wrote: > >=20 > > On Sat, Oct 01, 2022 at 02:19:03PM +0000, Alexander V. Chernikov wrote: > >> The branch main has been updated by melifaro: > >>=20 > >> URL: https://cgit.FreeBSD.org/src/commit/?id=3D7e5bf68495cc0a8c9793a33= 8a8a02009a7f6dbb6 > >>=20 > >> commit 7e5bf68495cc0a8c9793a338a8a02009a7f6dbb6 > >> Author: Alexander V. Chernikov > >> AuthorDate: 2022-01-20 21:39:21 +0000 > >> Commit: Alexander V. Chernikov > >> CommitDate: 2022-10-01 14:15:35 +0000 > >>=20 > >> netlink: add netlink support > >>=20 > >> Netlinks is a communication protocol currently used in Linux kernel = to modify, > >> read and subscribe for nearly all networking state. Interfaces, add= resses, routes, > >> firewall, fibs, vnets, etc are controlled via netlink. > >> It is async, TLV-based protocol, providing 1-1 and 1-many communicat= ions. > >>=20 > >> The current implementation supports the subset of NETLINK_ROUTE > >> family. To be more specific, the following is supported: > >> * Dumps: > >> - routes > >> - nexthops / nexthop groups > >> - interfaces > >> - interface addresses > >> - neighbors (arp/ndp) > >> * Notifications: > >> - interface arrival/departure > >> - interface address arrival/departure > >> - route addition/deletion > >> * Modifications: > >> - adding/deleting routes > >> - adding/deleting nexthops/nexthops groups > >> - adding/deleting neghbors > >> - adding/deleting interfaces (basic support only) > >> * Rtsock interaction > >> - route events are bridged both ways > >>=20 > >> The implementation also supports the NETLINK_GENERIC family framewor= k. > >>=20 > >> Implementation notes: > >> Netlink is implemented via loadable/unloadable kernel module, > >> not touching many kernel parts. > >> Each netlink socket uses dedicated taskqueue to support async operat= ions > >> that can sleep, such as interface creation. All message processing = is > >> performed within these taskqueues. > >>=20 > >> Compatibility: > >> Most of the Netlink data models specified above maps to FreeBSD conc= epts > >> nicely. Unmodified ip(8) binary correctly works with > >> interfaces, addresses, routes, nexthops and nexthop groups. Some > >> software such as net/bird require header-only modifications to compi= le > >> and work with FreeBSD netlink. > >>=20 > >> Reviewed by: imp > >> Differential Revision: https://reviews.freebsd.org/D36002 > >> MFC after: 2 months > >> --- > >> etc/mtree/BSD.include.dist | 4 + > >> sys/modules/Makefile | 1 + > >> sys/modules/netlink/Makefile | 17 + > >> sys/net/route.c | 11 + > >> sys/net/route/route_ctl.h | 7 + > >> sys/net/rtsock.c | 42 ++ > >> sys/netlink/netlink.h | 257 +++++++++ > >> sys/netlink/netlink_ctl.h | 102 ++++ > >> sys/netlink/netlink_debug.h | 82 +++ > >> sys/netlink/netlink_domain.c | 689 +++++++++++++++++++++++ > >> sys/netlink/netlink_generic.c | 472 ++++++++++++++++ > >> sys/netlink/netlink_generic.h | 112 ++++ > >> sys/netlink/netlink_io.c | 528 ++++++++++++++++++ > >> sys/netlink/netlink_linux.h | 54 ++ > >> sys/netlink/netlink_message_parser.c | 472 ++++++++++++++++ > >> sys/netlink/netlink_message_parser.h | 270 +++++++++ > >> sys/netlink/netlink_message_writer.c | 686 +++++++++++++++++++++++ > >> sys/netlink/netlink_message_writer.h | 250 +++++++++ > >> sys/netlink/netlink_module.c | 228 ++++++++ > >> sys/netlink/netlink_route.c | 135 +++++ > >> sys/netlink/netlink_route.h | 43 ++ > >> sys/netlink/netlink_var.h | 142 +++++ > >> sys/netlink/route/common.h | 213 ++++++++ > >> sys/netlink/route/iface.c | 857 ++++++++++++++++++++++++++= +++ > >> sys/netlink/route/iface_drivers.c | 165 ++++++ > >> sys/netlink/route/ifaddrs.h | 90 +++ > >> sys/netlink/route/interface.h | 245 +++++++++ > >> sys/netlink/route/neigh.c | 571 +++++++++++++++++++ > >> sys/netlink/route/neigh.h | 105 ++++ > >> sys/netlink/route/nexthop.c | 1000 ++++++++++++++++++++++++++= ++++++++ > >> sys/netlink/route/nexthop.h | 102 ++++ > >> sys/netlink/route/route.c | 972 ++++++++++++++++++++++++++= +++++++ > >> sys/netlink/route/route.h | 366 +++++++++++++ > >> sys/netlink/route/route_var.h | 101 ++++ > >> 34 files changed, 9391 insertions(+) > >>=20 > >=20 > > Hey Alexander, > >=20 > > This commit broke buildworld: > Should be fixed by 11ca01e9aa47 (currently building to see if that=E2=80= =99s the last one) Cool. Thanks! Tangentially related: it looks like the commit email for 11ca01e9aa47 is missing. I checked my spam folder just to make sure on my end. Thanks, --=20 Shawn Webb Cofounder / Security Engineer HardenedBSD https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/raw/master/Shawn_Webb/03A= 4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc --iwomfqhvgfyzurjf Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEA6TL67gupaZ9nzhT/y5nonf44foFAmM4br4ACgkQ/y5nonf4 4frpPRAAlMHbALjQzIhc5iLzGtNSub2VINec+7bYcb+FDu18THGYhisY5Xtyv8id GC8lBkL+Pup/EaJ+RmIogT8qnvNFVtf2r/3x5gIb06QwE2v0UlQWz+Gt0pxOSpe0 C8LDnwOYZadJavyWcoDgfGEvZ25zGbKLHrAgHDdeeCaXHiweSePrQde0VDyLy7O/ Lc0aZhW0UHjM+2itcI3oJqsW934pmoQ6tMzGP7mks0nVtHALrCEk7UARhQvXOehn jCKOGizq/9PReg57IgNHLjwCFBpoayFs+Gub3YmjvjSQNgmxxswY2F4zRf5mJZfK bVpDMyHUA0jj99mUttsBhCTfNRp4Uq9wid30cEdpXIDBws0MwPWGFztS43rVt5i1 7QWtFT+f/QC72fTvkZ8kPuDSHVxw6/hEXFj5Ly8AzNKeoKKf0OYBTi6ZUfzgsj0h 5i6kg2PQCRHo0PAuQxrOvRiyFDbSXStMs9lYc+gmlJ7jpGu/xi+LE9fVfOCNM9uS nFRbK34p/L+Bkuu4KalnXvJ+AiaqEui0uFEpc3kszlxokbH63A7DaPSotmhaU9Bc CqPYMM1mDX3RZArvbf7sIr4Cx80bR1tmG+9YbHL3KobzILWoMvhgNKTv62EdsXC6 8vNWeqBjIsra/sACdD39ZAmZPbk161cPWx9kEYLUuT78H34/sjM= =2jA8 -----END PGP SIGNATURE----- --iwomfqhvgfyzurjf--