Open v0tti opened 6 months ago
The "Router=192.168.128.39" parameter has nothing to do with the source of the BMP stream. Instead, it attempts to catch the BGP router id from one of the BGP handshakes encapsulated within the stream. We can of course add a field to hard-code this mapping, which would work around your issue.
Thanks for the input.
We have added an option in our fork to override the router-id, would this patch be appreciated upstream?
Absolutely! Feel free to submit a PR!
In our setup, we utilize Nokia routers within an MPLS network configuration. This necessitates configuring BMP sessions from our Internet VRF for EBGP routes and on our Base router for IBGP (VPN) routes. Our routers establish two separate BMP sessions originating from the same IP address but using different source ports. This setup leads to a problem with fernglas, specifically when selecting a single router in the frontend. In this scenario, only the routes from one of the two BMP sessions are displayed. However, when selecting "on all", all routes are shown correctly.
Excepted behavior
When selecting a single router in the frontend, I expect to see all routes known by this particular router, irrespective of the BMP session source port.
Observed behavior
When selecting a single router in the frontend, only the routes from one of the BMP sessions are displayed, leading to incomplete data.
Examples with truncated output:
GET
/api/query?MostSpecific=8.8.8.8
:GET
/api/query?Router=192.168.128.39&MostSpecific=8.8.8.8
:Upon querying for a specific router, it becomes apparent that only the routes from client
192.168.128.39:61415
are returned, whereas those from client192.168.128.39:61445
are omitted.