Re: Porting OpenBSD MPLS to FreeBSD
- Reply: Neel Chauhan : "Re: Porting OpenBSD MPLS to FreeBSD"
- In reply to: Neel Chauhan : "Re: Porting OpenBSD MPLS to FreeBSD"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 05 Dec 2021 22:19:51 UTC
> On 5 Dec 2021, at 03:49, Neel Chauhan <nc@FreeBSD.org> wrote: > > 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? I’d start with dataplane first - it’ll allow to get something simple actually working and establish the basic datastructures. With these in place it’ll be easier to do iterate w/ control plane implementation. > >>> * 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@)