Date: Sat, 04 Dec 2021 19:49:26 -0800 From: Neel Chauhan <nc@FreeBSD.org> To: "Alexander V. Chernikov" <melifaro@ipfw.ru> Cc: freebsd-net@freebsd.org Subject: Re: Porting OpenBSD MPLS to FreeBSD Message-ID: <a937cbfd0e7b8985689c90a19d4e62e8@FreeBSD.org> In-Reply-To: <3A76E553-BB42-4C38-A589-872BBB64301F@ipfw.ru> References: <7de5f4bf0fdec027b5ae5d844a7cb0f5@FreeBSD.org> <3A76E553-BB42-4C38-A589-872BBB64301F@ipfw.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
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@)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?a937cbfd0e7b8985689c90a19d4e62e8>