Hi Alexander,

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.

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.

I wasn't too keen on using netgraph anyways, I felt it was unnecessary complexity.

If I were to work on this, would I be better off starting with the dataplane or control plane?

* Would some of the other committers here be willing to mentor/help me if needed?
I’d 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.

Thanks!

-Neel (nc@)

Reply via email to