> On Apr 11, 2018, at 12:19 PM, Ole Troan <otr...@employees.org> wrote: > > VPP API used to program routes. learn interface events, addresses etc. Pure > user-land no involvement from kernel. >
We’re also not “fans” of the router plugin. (And we’ve done a lot of work on it.) We have a system (today) that uses the VPP API to program routes, talking to FRR (Quagga), rather than going via the kernel netlink interface, mostly because that path is a) slow and b) icky (now you have state in three places). The additions to FRR are straight-forward. Zebra has different implementations that can be used to communicate routes to the kernel: (ioctl, socket, netlink, …). We added one for VPP and added a config option to enable it. We have something similar for Strongswan. As soon as we get this release out of our product (“TNSR”), we plan to open an investigation into using “tldk” (as present in VPP, not as the external project) as transport for FRR and Strongswan. My “gut” says “top middle” is the right architecture. Jim