Hello,
FreeBSD does not support MPLS and VRF, but it support ECMP by recompile kernel with ¡°options RADIX_MPATH¡±, and quagga/frr have supported it for few years . Not much of people use MPLS
on freeware. BSDer always use multi routing tables which FB called FIB to replace VRF. It¡¯s limited, but it¡¯s usable to most people.
For the past years, FB has refactored the routing subsystem aimed to reduce contentions on SMP systems, [1][2]. Linux is winner, but now FB can archive up to 10MPPS forward rate on one
8-core x86 server. It¡¯s enough to many people, right ?
And FB has an awesome feature called vimage/vnet, it¡¯s similar to LXC on Linux with different implementation. We run serval bird/frr instance in different vnet jail on one host, and run
serval on another host for hot backup or load sharing, each instance is independent with ~5% performance loss.
Simon Ke
20191031