Based on the patch from Alexander V. Chernikov. Extended to support almost all protocols. Uses 'protocol bgp NAME from TEMPLATE { ... }' syntax.
state machines. Full explanation will follow soon.
intended to serve as an example of interface pattern list use. As a side effect, you can disable generating of device routes by disabling this protocol.