bio-routing / bio-rd

bio routing is a project to create a versatile, fast and reliable routing daemon in Golang. bio = BGP + IS-IS + OSPF
Apache License 2.0
283 stars 44 forks source link

Allow defining routingtable.ClientOptions from ObserveRIBRequest #466

Open netixx opened 4 months ago

netixx commented 4 months ago

Describe the feature I would like to be able to specify options of the routingtable.ClientOptions when I do my ObserveRIB request, such as:

This way the client can decide what type of paths it wants to receive. Currently the options are hard-coded:

rib.RegisterWithOptions(rc, routingtable.ClientOptions{
        MaxPaths: 100,
    })

It would also be nice if we could specify those options for the DumpRIB request.

Use cases / additional context I have a client that uses ObserveRIB to re-build a router RIB locally, but I only need ECMP best paths, so I would like to be able to specify those options.

On other clients, we may want to get the full feed for observability purposes.

taktv6 commented 4 months ago

I like the idea. Would definitely be willing to merge a PR that implements this. However, I won't find time to address this myself anytime soon.

netixx commented 4 months ago

Ok, here I go :)

I handle to ObserveRIB part here, for the DumpRIB, it would need more work.