175 or 350hrs project (dependent on # of components added) - Medium Difficulty
Add layer 2 functionality into FRR. Specifically, add the ability to configure layer 2 type data in dataplanes. For example, configuring VRFs or interfaces in FRR, should create them in the dataplanes as well. This project will be scoped for the Linux dataplane.
For example, configuring interface and VRF information in FRR should create interfaces and VRFs in the kernel. In current FRR, we must configure those separately using another tool (iproute2
in Linux) and then reference them by name in FRR configurations.
This will require you to extend the appropriate lib/*
APIs, dataplane code (zebra/rt_netlink.c
), dataplane handler code (zebra/zebra_dplane.c
), and add appropriate vty commands (*_vty.c
) for the layer 2 configurations.
zebra/zebra_dplane.c
zebra/if_netlink.c