-
Notifications
You must be signed in to change notification settings - Fork 720
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TableLookupPrefix Inconsistencies Between VRF and Global RIBs #2870
Comments
I've done a bit more testing on this, including trying out the newer API protobufs that @Tuetuopay has been working on to try and see if I've just been holding Unfortunately, using the cleaner API defs didn't give any more credence to me holding |
I think that |
That's a bit unfortunate. Is there a desire to add this functionality? It seems that perhaps we might want to log that it's not supported. Is it supported via the CLI? |
This is a bit of large MR, sorry. This MR does a few things, all of it under the guise of supporting VRFs with GoBGP: 1) Allows you to perform all of the translator actions inside of a VRF or on the base routing instance. 2) Split out websocket message parsing a bit and added a lot more validation. This also means that the `process()` function is a lot more straight-forward and that logic was broken apart. 3) We now use redis 🎉 ! This is because [GoBGP can't give you just a single prefix's announcement status](osrg/gobgp#2870) so we had to write that ourselves. 4) A ton of loggers added all over the place as well as docstrings. closes #44, implements the translator part of #35
Hello!
When using the
ListPathRequest
RPC on a VRF, theTableLookupPrefix
seems to be ignored and all prefixes are returned for the provided address family. Using this example in python, you can see the difference between the Global RIB and a VRF RIB when sending the same query and both tables have the same contents for example, given these two tables, global and the VRF named "ipt" respectively:Since these tables have essentially the same contents, if I issue a
ListPathRequest
RPC and filter theTableLookupPrefix
to192.2.0.0/32
I would expect to get back exactly one match per table. Given this example code, I get 2 responses (the entire table) when querying the VRF, but only the one (correct) response when querying the Global RIB:Example Code:
Response:
This is using GoBGP 3.33.0:
$ docker compose exec gobgp gobgp --version gobgp version 3.33.0
Am I doing something wrong here? I've tried adding in RDs to the
TableLookupPrefix
as well, but to no avail. Any help is greatly appreciated, thank you very much in advance!The text was updated successfully, but these errors were encountered: