A caution re: EdgeOS. The control plane is largely open source but the data plane uses closed-source kernel modules and closed&#x2F;proprietary APIs to drive the Cavium Octeon network processor. They seem to be adopting more closed control plane in newer versions because there aren&#x27;t any mature FOSS stacks for service provider oriented protocols (e.g. MPLS+VPLS+RSVP-TE+LDP+...). On the closed side there are a handful of vendors that provide control plane stacks for all that.