+1 to Nick's words.

Basically i have gone through the same in pmacct, although disclaimer, a-la super basic: TCP transport, ZeroMQ on top (just for some resilient client / server and queueing operations), (hand-crafted) API with two operations available (get the list of LG peers, look up IP address / IP prefix per peer) and JSON encoding (*).

I pondered on a third operation, "get all the RIB(s)", but never executed for load concerns, a bit of security concerns too (although only relative to the simple implementation) and because maybe in that case one wants RIB dumps (at regular intervals?) so it seemed more a use case to get a BMP feed (again, something relative to pmacct architecture which features BGP and BMP daemons that do exactly that).

Paolo

(*) https://github.com/pmacct/pmacct/blob/master/docs/LOOKING_GLASS_FORMAT


On 25/4/21 16:07, Nick Hilliard wrote:
Rayhaan Jaufeerally (IETF) wrote on 24/04/2021 14:38:
I would like to propose draft-jaufeerally-bgp-lg-cap-00 (https://datatracker.ietf.org/doc/draft-jaufeerally-bgp-lg-cap/) as a mechanism for in-band dissemination of looking glass endpoints in BGP, using a new OPEN message capability.

Hi Rayhaan,

what we need from routers is a consistent API endpoint which serves RIB data, that can be consumed by client apps.

I.e. this should be done using json/xml/etc; it should be available over over https; it should be accessible via a REST API; it should be aimed at having a front-end HTTP cache server to implement rate limiting / limited access control / etc (i.e. remove as much complication from the router as possible), and the data model should be flexible enough to handle a variety of different deployment configurations (e.g. ibgp / ebgp / l3vpn / l2vpn / evpn / ixp route server / etc).

INEX has done this for BIRD (see github.com/inex/birdseye, which provides both the data model and the LG), but the data model is designed around constructs which are only available in BIRD, so this isn't really portable to other BGP stacks.  But the principle works, and works well.

Nick

_______________________________________________
GROW mailing list
GROW@ietf.org
https://www.ietf.org/mailman/listinfo/grow

_______________________________________________
GROW mailing list
GROW@ietf.org
https://www.ietf.org/mailman/listinfo/grow

Reply via email to