From nobody Fri Dec 10 16:45:12 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 21E3718DD043 for ; Fri, 10 Dec 2021 16:45:22 +0000 (UTC) (envelope-from freebsd-rwg@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4J9cG90Ffrz3NNV; Fri, 10 Dec 2021 16:45:20 +0000 (UTC) (envelope-from freebsd-rwg@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (localhost [127.0.0.1]) by gndrsh.dnsmgr.net (8.13.3/8.13.3) with ESMTP id 1BAGjCuJ081377; Fri, 10 Dec 2021 08:45:12 -0800 (PST) (envelope-from freebsd-rwg@gndrsh.dnsmgr.net) Received: (from freebsd-rwg@localhost) by gndrsh.dnsmgr.net (8.13.3/8.13.3/Submit) id 1BAGjCtI081376; Fri, 10 Dec 2021 08:45:12 -0800 (PST) (envelope-from freebsd-rwg) From: "Rodney W. Grimes" Message-Id: <202112101645.1BAGjCtI081376@gndrsh.dnsmgr.net> Subject: Re: Porting OpenBSD MPLS to FreeBSD In-Reply-To: <202111200620.1AK6KlRf096202@gndrsh.dnsmgr.net> To: "Rodney W. Grimes" Date: Fri, 10 Dec 2021 08:45:12 -0800 (PST) CC: Neel Chauhan , freebsd-net@FreeBSD.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] 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 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 4J9cG90Ffrz3NNV X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=none (mx1.freebsd.org: domain of freebsd-rwg@gndrsh.dnsmgr.net has no SPF policy when checking 69.59.192.140) smtp.mailfrom=freebsd-rwg@gndrsh.dnsmgr.net X-Spamd-Result: default: False [-0.10 / 15.00]; RCVD_TLS_LAST(0.00)[]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; TO_DN_SOME(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[dnsmgr.net]; AUTH_NA(1.00)[]; NEURAL_SPAM_MEDIUM(1.00)[1.000]; TO_MATCH_ENVRCPT_SOME(0.00)[]; NEURAL_HAM_SHORT(-1.00)[-1.000]; R_SPF_NA(0.00)[no SPF record]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:13868, ipnet:69.59.192.0/19, country:US]; RCVD_COUNT_TWO(0.00)[2]; MID_RHS_MATCH_FROM(0.00)[] X-ThisMailContainsUnwantedMimeParts: N > > Hi freebsd-net@, > > > > Long time no see. I've gotten a (Ports) commit bit since then. > > > > 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. > > > > Going back, I'm thinking about porting OpenBSD's MPLS to FreeBSD. > > I have had similiar thoughts on and off over the years, > and one pretty solid "want" for this. > > > > > I have a two questions: > > > > * Is porting OpenBSD MPLS to FreeBSD feasible, or are we better off > > doing a from-scratch implementation based on netgraph? > > Feasible, yes, as to the better off part that probably depends on > who you ask. MPLS is not that complicated to implement, so doing > it either way all depends on weither you want to deal with netgraph, > or the kernel network interface code. Its also probably fairly trivial > to do both with a great deal of shared code. > > > > > * Would some of the other committers here be willing to mentor/help me > > if needed? > > Yes. > > > > > 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. > > I can probably arrange a telco size beta tester too... unless > there interested has gone away, which I doubt. > > > -Neel (nc@) Just to follow up, I had a discussion in the weekly Open Source Routing meeting, and have identified the FRR MPLS expert and have help avaliable from that resource for this work. The first order answer on making things FRR compatible is that if you use the OpenBSD API it would be pretty much a drop in function. I have also been asked if there would be a willingness to work with the OSR/FRR folks (netdef.org) in getting the MPLS CI framework working on FreeBSD. They already do CI testing of FRR on FreeBSD, but since there is no MPLS that feature is not tested. I am working out the details on a cross introduction of the FRR MPLS developer and yourself Neel, if you want to travel down that road. This person works cross platform on FRR, iirc mainly BGP, MPLS, and SR on Linux and BSD. -- Rod Grimes rgrimes@freebsd.org