From nobody Sat Oct 01 16:51:40 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 4MftRN4gjXz4d1l1; Sat, 1 Oct 2022 16:51:44 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from omta001.cacentral1.a.cloudfilter.net (omta001.cacentral1.a.cloudfilter.net [3.97.99.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4MftRN3wKWz44sx; Sat, 1 Oct 2022 16:51:44 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from shw-obgw-4002a.ext.cloudfilter.net ([10.228.9.250]) by cmsmtp with ESMTP id eTJrox5k1S8WrefiIoDqZu; Sat, 01 Oct 2022 16:51:42 +0000 Received: from spqr.komquats.com ([70.66.148.124]) by cmsmtp with ESMTPA id efiGoXpYaAdamefiHo158c; Sat, 01 Oct 2022 16:51:42 +0000 X-Authority-Analysis: v=2.4 cv=YdGuWidf c=1 sm=1 tr=0 ts=6338701e a=Cwc3rblV8FOMdVN/wOAqyQ==:117 a=Cwc3rblV8FOMdVN/wOAqyQ==:17 a=kj9zAlcOel0A:10 a=Qawa6l4ZSaYA:10 a=ypVJL4-jAAAA:8 a=6I5d2MoRAAAA:8 a=YxBL1-UpAAAA:8 a=EkcXrb_YAAAA:8 a=k1Cq_yhoMvNki6fsDcgA:9 a=JOWeiY5itpwPQvuQ8dm/GawRuwE=:19 a=CjuIK1q_8ugA:10 a=khIbc0fXALFIcTpOSxgJ:22 a=IjZwj45LgO3ly-622nXo:22 a=Ia-lj3WSrqcvXOmTRaiG:22 a=LK5xJRSDVpKd5WXXoEvA:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTP id 7B7E319D3; Sat, 1 Oct 2022 09:51:40 -0700 (PDT) Received: by slippy.cwsent.com (Postfix, from userid 1000) id 52BCE5AF; Sat, 1 Oct 2022 09:51:40 -0700 (PDT) X-Mailer: exmh version 2.9.0 11/07/2018 with nmh-1.7+dev Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Shawn Webb cc: "Alexander V. Chernikov" , "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 In-reply-to: <20221001164556.guh2gu6umjvehq3r@mutt-hbsd> References: <202210011419.291EJ3aa000309@gitrepo.freebsd.org> <20221001163510.gkvfycmi224ei5ok@mutt-hbsd> <3A024E22-7FA8-4465-88EB-7DC7B1320095@ipfw.ru> <20221001164556.guh2gu6umjvehq3r@mutt-hbsd> Comments: In-reply-to Shawn Webb message dated "Sat, 01 Oct 2022 12:45:56 -0400." 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=us-ascii Date: Sat, 01 Oct 2022 09:51:40 -0700 Message-Id: <20221001165140.52BCE5AF@slippy.cwsent.com> X-CMAE-Envelope: MS4xfK2uRUq4yvaPUim6byG7W+rfCbNkwdfaXIFwoc6R4JYvuxESNo6yXN0+CfPWxjtQw7LIIlCSCBY5VStGVWn+sXVxEJlQ+qaZGFATUmL0mKM/y6l+nPqw GF8xtmLIctbQ8359J1vJfJtFapzmZdN2xVmRWGArFRGw19KkBDmZo5MfmgCyotKiiLuEizWOOCsaQUUsI7wyI4t/f2sN61bE4o6Wvya+3XLzhLHuHuWOLBTy xVOJ8dJrPXivSK6hI4uf/1b6Kj9LM/WRmMN29XAEfJIIZNxFIK7ouyytXSAdbP3qAolv9/YiZ312/Vag3uEUccdfsnKRdiLd56ERSW7Q7Y6txcL2ATgrds5K udNoRMWDZHnSbuzJB+c1sPh0o52BeQ== X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Rspamd-Queue-Id: 4MftRN3wKWz44sx 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 In message <20221001164556.guh2gu6umjvehq3r@mutt-hbsd>, Shawn Webb writes: > > --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. It's not missing. He hasn't pushed it yet. Alexander's statement in brackets "()" implies he hasn't pushed it yet. ** Though, the hash will change should a rebase be needed between the time he committed it and it is pushed. -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org NTP: Web: https://nwtime.org e^(i*pi)+1=0