Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 4 Dec 2021 18:42:56 +0000
From:      "Alexander V. Chernikov" <melifaro@ipfw.ru>
To:        Neel Chauhan <nc@FreeBSD.org>
Cc:        freebsd-net@freebsd.org
Subject:   Re: Porting OpenBSD MPLS to FreeBSD
Message-ID:  <3A76E553-BB42-4C38-A589-872BBB64301F@ipfw.ru>
In-Reply-To: <7de5f4bf0fdec027b5ae5d844a7cb0f5@FreeBSD.org>
References:  <7de5f4bf0fdec027b5ae5d844a7cb0f5@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help


> On 19 Nov 2021, at 19:17, Neel Chauhan <nc@FreeBSD.org> 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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3A76E553-BB42-4C38-A589-872BBB64301F>