Thanks Ondrej, That query does seem to return all the routes of interest, but it takes a long time (many seconds per query). I'm guessing it's not FIB accelerated? One of the things we're doing is script-driven bulk data collection, so we probably want something faster. (We have about 50 million routes.) Thanks Andrew Francis | *Twitch* <http://www.twitch.tv/> | Engineering | 415 430 8612 On Fri, Jan 23, 2015 at 3:09 AM, Ondrej Filip <feela@network.cz> wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 23.1.2015 06:40, Andrew Francis wrote:
Hi,
Hi Andrew, thank you for your e-mail. But isn't this command doing what you require:
bird> show route where 192.168.168.168 ~ net
?
Ondrej
Twitch's network operations department uses BIRD as a centralized looking glass. It's a BGP route reflector that is peered with all our border routers. Staff use the route reflector to inspect how a destination network can be reached from our different points-of-presence.
Some peers will advertise the same IP as part of different prefix lengths, likely due to aggregation or filtering. For instance, one provider advertises 117.120.24.0/22 <http://117.120.24.0/22> to us, but all others only advertise a /21.
Querying SHOW ROUTE on the looking glass shows the /22 on one border router, and hides the /21's. This makes sense as a routing decision from the location of the looking glass, but doesn't give us the global visibility we want.
I have a patch which adds an option to SHOW ROUTE to reveal all prefixes, regardless of length / best-match, covering a particular IP.
This produces tons of output. I am also working on an option to print the single best prefix for each unique BGP.next_hop / BGP.originator_id. This gives us exactly what we want: the route taken to a particular IP from each border router.
Would the community be interested in integrating this feature? If so, I'll start the process here to get a patch released publicly.
Thanks
Andrew Francis | *Twitch* <http://www.twitch.tv/> | Engineering
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1
iQIcBAEBAgAGBQJUwivMAAoJED82D4RIDoWPoDYP/1RIk1bh1ANz3o3rxpPWUi14 p8yt8Hv5F1TbuCBYGwqzksyS6sbcrF7zwcO5W7f9G5u1fuJug3cn4FRoTaHYR0q7 pGCZNEydLg+ZAl53TicW0rjrl4VtlBe/oIWgImT5+sZ9hAKbfAGZyypVfjud6+BL TyxpAtHkFj5zia9E6VH3FmnoCYLyvF7WiwXO8OkdgJyOsBUtVl0txqonniYtoawT niPwOpXUVkf2A6me9Jz3HCRzBZa67zJpyqQZtfDElNeU9PnacyTjrHuhFISKu+sL RTM65fCYqeX3QfCP443I2b7Lej5nxFQQtBAwykOtDNKUN4LDeriD+1mX+pfJC0+Y INLVFscejugKqmi10PXN4S9TmK2Lgj+sWN2BCCFmARE7HhB2PO3s7CFL+QnbOQwX K2gRTL55XQoCHo1MZ6VAzHbxBd0UbqjGQsHZHa4dcSfLJkVpz/b4tt8MBYFVPYBP YjJV8ts4F+2yXO9FjFl8DdB21SCW/O9TFJbXcKDDgm5OhVP9zSrXVXQwfbZyoLir WhWB+TQjDT1/3balLGxRMWqL4icVy9luP9DN3mDWVUzrLURy47yhU8Sc3JkGDB/x n3h9C7iMpNUvX1GIiBv+9izP3XwG4jRUiro01IRcDSDnYEe4BCKTdrsIMfZ2du1p Z/Ys+d1QCyYmZJIj0DvI =mEgr -----END PGP SIGNATURE-----