Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 5 Dec 2021 22:19:51 +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:  <4C782604-F80D-4FCA-B41A-EEAC40FB6362@ipfw.ru>
In-Reply-To: <a937cbfd0e7b8985689c90a19d4e62e8@FreeBSD.org>
References:  <7de5f4bf0fdec027b5ae5d844a7cb0f5@FreeBSD.org> <3A76E553-BB42-4C38-A589-872BBB64301F@ipfw.ru> <a937cbfd0e7b8985689c90a19d4e62e8@FreeBSD.org>

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


> On 5 Dec 2021, at 03:49, Neel Chauhan <nc@FreeBSD.org> wrote:
>=20
> Hi Alexander,
>=20
> On 2021-12-04 10:42, Alexander V. Chernikov wrote:
>>> * 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
> Thanks for your description. I haven't started work yet, but I'd =
probably import the dataplane from OpenBSD where I can and do a new =
control plane, maybe that with a FRR/Bird-compatible API.
>=20
> I wasn't too keen on using netgraph anyways, I felt it was unnecessary =
complexity.
>=20
> If I were to work on this, would I be better off starting with the =
dataplane or control plane?
I=E2=80=99d start with dataplane first - it=E2=80=99ll allow to get =
something simple actually working and establish the basic =
datastructures. With these in place it=E2=80=99ll be easier to do =
iterate w/ control plane implementation.=20
>=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
> Thanks!
>=20
> -Neel (nc@)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C782604-F80D-4FCA-B41A-EEAC40FB6362>