> On 5 Dec 2021, at 03:49, Neel Chauhan <n...@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@)


Reply via email to