Re: Porting OpenBSD MPLS to FreeBSD

From: Rodney W. Grimes <>
Date: Fri, 10 Dec 2021 16:45:12 UTC
> > 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 ( 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