From nobody Sat Dec 04 18:42:56 2021 X-Original-To: freebsd-net@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 526A618CFF52 for ; Sat, 4 Dec 2021 18:43:10 +0000 (UTC) (envelope-from melifaro@ipfw.ru) Received: from forward501p.mail.yandex.net (forward501p.mail.yandex.net [IPv6:2a02:6b8:0:1472:2741:0:8b7:120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4J5z8r6b7dz54jj; Sat, 4 Dec 2021 18:43:08 +0000 (UTC) (envelope-from melifaro@ipfw.ru) Received: from vla1-ca392ad26410.qloud-c.yandex.net (vla1-ca392ad26410.qloud-c.yandex.net [IPv6:2a02:6b8:c0d:3020:0:640:ca39:2ad2]) by forward501p.mail.yandex.net (Yandex) with ESMTP id A53856212963; Sat, 4 Dec 2021 21:42:58 +0300 (MSK) Received: from vla1-ef285479e348.qloud-c.yandex.net (vla1-ef285479e348.qloud-c.yandex.net [2a02:6b8:c0d:35a1:0:640:ef28:5479]) by vla1-ca392ad26410.qloud-c.yandex.net (mxback/Yandex) with ESMTP id cncz7aEdYx-gwcaiwCt; Sat, 04 Dec 2021 21:42:58 +0300 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfw.ru; s=mail; t=1638643378; bh=KRtC+/9GtfpNnYG8rCIQu8WBBvHp2HAHavUuxrdForI=; h=Subject:Cc:From:To:Message-Id:In-Reply-To:References:Date; b=pQUYWqKiIvqZPlxzdYsCfHv8LdOocbOB/qM+I85FuWY0HjmlK5Jh3JFko3C+7Qb5F NJnErLhWsx12srm/0qoREZb+luL4k0R3JswDzP8qQNmo+tsaOKSNf8gc+Uj+elUi6p Gnqo9LkShUlfCRLge0NJ//8on2m08KyYelZK+AlA= Received: by vla1-ef285479e348.qloud-c.yandex.net (smtp/Yandex) with ESMTPSA id 8CVLsNlYWB-gvQOYv3h; Sat, 04 Dec 2021 21:42:57 +0300 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client certificate not present) X-Yandex-Fwd: 2 Content-Type: text/plain; charset=utf-8 List-Id: Networking and TCP/IP with FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-net List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-net@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.120.0.1.13\)) Subject: Re: Porting OpenBSD MPLS to FreeBSD From: "Alexander V. Chernikov" In-Reply-To: <7de5f4bf0fdec027b5ae5d844a7cb0f5@FreeBSD.org> Date: Sat, 4 Dec 2021 18:42:56 +0000 Cc: freebsd-net@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <3A76E553-BB42-4C38-A589-872BBB64301F@ipfw.ru> References: <7de5f4bf0fdec027b5ae5d844a7cb0f5@FreeBSD.org> To: Neel Chauhan X-Mailer: Apple Mail (2.3654.120.0.1.13) X-Rspamd-Queue-Id: 4J5z8r6b7dz54jj X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=pass header.d=ipfw.ru header.s=mail header.b=pQUYWqKi; dmarc=none; spf=pass (mx1.freebsd.org: domain of melifaro@ipfw.ru designates 2a02:6b8:0:1472:2741:0:8b7:120 as permitted sender) smtp.mailfrom=melifaro@ipfw.ru X-Spamd-Result: default: False [-1.13 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; R_DKIM_ALLOW(-0.20)[ipfw.ru:s=mail]; FREEFALL_USER(0.00)[melifaro]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; MV_CASE(0.50)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; R_SPF_ALLOW(-0.20)[+ip6:2a02:6b8:0:1000::/52]; DMARC_NA(0.00)[ipfw.ru]; NEURAL_SPAM_SHORT(0.97)[0.966]; NEURAL_HAM_LONG(-1.00)[-1.000]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[ipfw.ru:+]; RCPT_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:208722, ipnet:2a02:6b8::/32, country:FI]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_IN_DNSWL_LOW(-0.10)[2a02:6b8:0:1472:2741:0:8b7:120:from] X-ThisMailContainsUnwantedMimeParts: N > On 19 Nov 2021, at 19:17, Neel Chauhan wrote: >=20 > Hi freebsd-net@, >=20 > Long time no see. I've gotten a (Ports) commit bit since then. >=20 > I haven't been very active in TCP/IP hacking as of late, as more = recently I've been more focused on GNOME packages and some GPU drivers. >=20 > Going back, I'm thinking about porting OpenBSD's MPLS to FreeBSD. >=20 > I have a two questions: >=20 > * Is porting OpenBSD MPLS to FreeBSD feasible, or are we better off = doing a from-scratch implementation based on netgraph? It depends. MPLS implementaiton can be splitted into multiple logical = parts - dataplane (input, control, output, forward) and control plane = (programming ip routes+mpls and mpls-only fowarding state). Some parts = of the former can indeed be imported from OpenBSD. However, most of the = control plane part have to be written from scratch. Finally, it may be = desired to maintain an programming interface close to the one already = implemented in major routing SW (frr, bird) - I guess that would be = simpler to achieve with native, non-netgraph implementation. >=20 > * Would some of the other committers here be willing to mentor/help me = if needed? I=E2=80=99d love to. Most of my the routing-related stack changes = (modular lookup framework, nexthops, rtsock cleanups) were done to = enable efficient kernel-based MPLS implementation. >=20 > Unlike my old IPFW patches which got nowhere (plus I no longer use = IPFW), I feel this is more something that could be useful when running = FreeBSD as a router, but hasn't really been done. >=20 > -Neel (nc@) >=20