From nobody Sat Oct 01 16:56:15 2022 X-Original-To: dev-commits-src-all@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 4MftXd6nRdz4d29B for ; Sat, 1 Oct 2022 16:56:17 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: from mail-qv1-xf2a.google.com (mail-qv1-xf2a.google.com [IPv6:2607:f8b0:4864:20::f2a]) (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 4MftXd69LMz45W6 for ; Sat, 1 Oct 2022 16:56:17 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: by mail-qv1-xf2a.google.com with SMTP id j8so4665152qvt.13 for ; Sat, 01 Oct 2022 09:56:17 -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=LUOkaTuwkEgaXmZtKPeT0jQwjf9VX2RdxKtvIXVQre8=; b=b8fmqNVtI+FVcc0DKm5/F9Zg1wZIbA5Q8aP0xyJPnJab42ugRjS4VyYHIcXp5hQvQq pZ4hti2kFaWr1qQRF5dkzYwbzBT0dNdcU6ZMyM0iqXb9mzhlO+z0HI7zNx6Fvwacusbz +H6nSlAeeP2WtYFjy2FOtlI+nX3TN0W9Xk23GtsMqKrDpJMH041lXbHeCFO0/TilhhqQ sO5u+to+Awu6uzoL6D0eQeXTS6aLVMH2dC8wN4wJns6nz+Ww5sZ8VMfPNFjMY051oJub aiqoRTLqXaUm2mJynFO3xue5+p8IG8Pt3dEIQg/ojRR1aBTG/oZpC6Rkhokq0ENtWTqv Lu/Q== 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=LUOkaTuwkEgaXmZtKPeT0jQwjf9VX2RdxKtvIXVQre8=; b=N6BZp9JJc9DX0RYGfrQO9kBq7uWKQMQxJiZfsxqVAD9HoW9ypnem5CYSizDTM6Nr+T nxyc/kzFYFrhhqMeRSvz0VMkD9TZgkVG1yZWTn6Einglfsvfpmwjs9gnR2gV0wvIKa3Y gZ9hxQLrO/4iX0PLrS77dO+GAPQt6pMsBepJLzljwIrq29ncY9lthd9RMveRfwa2X+7z SoowXDtFj4Lfs82gH99axGRXTU1ecvxcxUrrHN+WsfClrQO4qEQJpwpJMKtuZuXOyhj1 bSCqbOHHjP0TtH5NPSyh4hrz5ttfSGoPnam6ddcLnoUpoqvytz7f2scEuMq5rve1wPAA khnw== X-Gm-Message-State: ACrzQf2Ycl8QDHlrE4LyCNlhMCKPtiVNpif3QG/5jkmr7K0eSefz0fa6 Qr/LEvumjn4kbAcXcvfJFP3u7w== X-Google-Smtp-Source: AMsMyM5o6uU7K3D2Y00yW9ySGve1uho5uRtmCnY8ZEk9GaPN9TvPXUMeYx9Rg9E4qaR0tcR3d4Zskg== X-Received: by 2002:a05:6214:ac1:b0:4af:9cdb:e58 with SMTP id g1-20020a0562140ac100b004af9cdb0e58mr11201896qvi.105.1664643376804; Sat, 01 Oct 2022 09:56:16 -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 o10-20020a05620a2a0a00b006ce40fbb8f6sm6392384qkp.21.2022.10.01.09.56.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 01 Oct 2022 09:56:16 -0700 (PDT) Date: Sat, 1 Oct 2022 12:56:15 -0400 From: Shawn Webb To: Cy Schubert 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 Message-ID: <20221001165615.fv2g4qya56m3ukn2@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> <20221001164556.guh2gu6umjvehq3r@mutt-hbsd> <20221001165140.52BCE5AF@slippy.cwsent.com> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="pwqzdrro2ttq5swb" Content-Disposition: inline In-Reply-To: <20221001165140.52BCE5AF@slippy.cwsent.com> X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Rspamd-Queue-Id: 4MftXd69LMz45W6 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 --pwqzdrro2ttq5swb Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Oct 01, 2022 at 09:51:40AM -0700, Cy Schubert wrote: > In message <20221001164556.guh2gu6umjvehq3r@mutt-hbsd>, Shawn Webb writes: > >=20 > > --iwomfqhvgfyzurjf > > Content-Type: text/plain; charset=3Dutf-8 > > Content-Disposition: inline > > Content-Transfer-Encoding: quoted-printable > > > > On Sat, Oct 01, 2022 at 05:40:05PM +0100, Alexander V. Chernikov wrote: > > >=3D20 > > > > On 1 Oct 2022, at 17:35, Shawn Webb wr= ote: > > > >=3D20 > > > > On Sat, Oct 01, 2022 at 02:19:03PM +0000, Alexander V. Chernikov wr= ote: > > > >> The branch main has been updated by melifaro: > > > >>=3D20 > > > >> URL: https://cgit.FreeBSD.org/src/commit/?id=3D3D7e5bf68495cc0a8c9= 793a33=3D > > 8a8a02009a7f6dbb6 > > > >>=3D20 > > > >> 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 > > > >>=3D20 > > > >> netlink: add netlink support > > > >>=3D20 > > > >> Netlinks is a communication protocol currently used in Linux ker= nel =3D > > to modify, > > > >> read and subscribe for nearly all networking state. Interfaces,= add=3D > > resses, routes, > > > >> firewall, fibs, vnets, etc are controlled via netlink. > > > >> It is async, TLV-based protocol, providing 1-1 and 1-many commun= icat=3D > > ions. > > > >>=3D20 > > > >> 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 > > > >>=3D20 > > > >> The implementation also supports the NETLINK_GENERIC family fram= ewor=3D > > k. > > > >>=3D20 > > > >> Implementation notes: > > > >> Netlink is implemented via loadable/unloadable kernel module, > > > >> not touching many kernel parts. > > > >> Each netlink socket uses dedicated taskqueue to support async op= erat=3D > > ions > > > >> that can sleep, such as interface creation. All message process= ing =3D > > is > > > >> performed within these taskqueues. > > > >>=3D20 > > > >> Compatibility: > > > >> Most of the Netlink data models specified above maps to FreeBSD = conc=3D > > 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 c= ompi=3D > > le > > > >> and work with FreeBSD netlink. > > > >>=3D20 > > > >> 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 ++++++++++++++++++++++= ++++=3D > > +++ > > > >> 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 ++++++++++++++++++++++= ++++=3D > > ++++++++ > > > >> sys/netlink/route/nexthop.h | 102 ++++ > > > >> sys/netlink/route/route.c | 972 ++++++++++++++++++++++= ++++=3D > > +++++++ > > > >> sys/netlink/route/route.h | 366 +++++++++++++ > > > >> sys/netlink/route/route_var.h | 101 ++++ > > > >> 34 files changed, 9391 insertions(+) > > > >>=3D20 > > > >=3D20 > > > > Hey Alexander, > > > >=3D20 > > > > This commit broke buildworld: > > > Should be fixed by 11ca01e9aa47 (currently building to see if that=3D= E2=3D80=3D > > =3D99s 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. >=20 > It's not missing. He hasn't pushed it yet. Alexander's statement in=20 > brackets "()" implies he hasn't pushed it yet. >=20 > ** Though, the hash will change should a rebase be needed between the tim= e=20 > he committed it and it is pushed. cgit shows that it was pushed: https://cgit.freebsd.org/src/commit/?id=3D11ca01e9aa479559da240ceba17fdcdf2= d1e97c3 Or am I misreading cgit? --=20 Shawn Webb Cofounder / Security Engineer HardenedBSD https://git.hardenedbsd.org/hardenedbsd/pubkeys/-/raw/master/Shawn_Webb/03A= 4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc --pwqzdrro2ttq5swb Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEA6TL67gupaZ9nzhT/y5nonf44foFAmM4cSkACgkQ/y5nonf4 4fqbmQ/8CTzsTm8oT1XNLnI7JrSMO8AHKg74grp4+RRwnFKLUL8M008k4+7KtKCP 3lQk+dLohAw1SBcc4RtXiuDrur1mwoA3ANpVj5Rb9U0XWfRgRdk6KCsT/hJ7e1GT Z/E1UAFL2RICYiFBIPHFE55vdGZ6ytpDLPqMR7lY8nXSpI0tmfvOUPUa+7igWxAB Irf8Ln05psmBri1n9YkiFp1lFIy8SldZzFCfHDfXm5ApbGQmscsX1AI1TFx8tGur q5vXCwPcCQ58kJjVu96vqZ/+mlBkUhdKGVLOwcHbTpQP90ifbHT9Gd2AYhd2MKap PLHYjRD8QZGyrpjYqlS8PhcWK/MYV7W6lrxWz4PejOn2aZkgsDX+LXd3Mv8dkjQL xGNkSjfJ8F0H4Z6YwJECvayxpdJz0xFcQCeaZ+CNvg+0ByK6GRBHs3n7tLPIMp+I OrBLDmpl0sgRIqyeM9D6OBqxC8VBqCVnrIA6K5PzBc7LAcgLKePT7E0nYk1eDrP9 WFzINJ9NDU9h3LAKeq4aGAsX01vp/dWeJtwiwsMKbWIJE4I6UFKQMn41QXDL6NUm 8bkpG9LferJNFizMmo1GjFROdgPFc8xmr+LtffFG8c4GTlZjyvp/OHbWz3cAjBYq igqKEacy87qTit4OXqV95/4TemKJxE6FKCdZ4Khl0QzmuN2iWJE= =NbQo -----END PGP SIGNATURE----- --pwqzdrro2ttq5swb--