Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Dec 2021 09:40:10 -0800 (PST)
From:      "Rodney W. Grimes" <freebsd-rwg@gndrsh.dnsmgr.net>
To:        Neel Chauhan <nc@FreeBSD.org>
Cc:        "Alexander V. Chernikov" <melifaro@ipfw.ru>, freebsd-net@FreeBSD.org
Subject:   Re: Porting OpenBSD MPLS to FreeBSD
Message-ID:  <202112061740.1B6HeA79065573@gndrsh.dnsmgr.net>
In-Reply-To: <a937cbfd0e7b8985689c90a19d4e62e8@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
[ Charset UTF-8 unsupported, converting... ]
> 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.

When you get to working with FRR let me know, I am a member of
the CI infustructure team there and can hook you up directly
with very knowledgeable FRR developers.  

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

True, but with that complexity comes an ulmost unlimited flexiablity.

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

I concur with Alexander on this, dataplace first, with an eye on how
FRR/Bird interact with the dataplane.

> 
> >> * 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@)
> 
> 

-- 
Rod Grimes                                                 rgrimes@freebsd.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202112061740.1B6HeA79065573>