My routing size is too big!
Hello, I'm trying to use bird to get the complete internet routing table onto a linux box. I've got a BGP session with a transit provider. It works for a bit then bombs out with: ebgp: Received: Maximum number of prefixes reached: 00010100000002 Interestingly, if I redirect these routes into an alternative routing table (e.g. table test; protocol bgp ebgp { ... table test; ... } ), it works OK. 1) Where do I need to increase the limit? In bird? In the Kernel? 2) Can I route them into a separate routeing table, aggregate them, then inject them into the kernel? Any help appreciated, David
On Thu, Oct 15, 2009 at 02:01:38PM +0100, David J Craigon wrote:
Hello,
I'm trying to use bird to get the complete internet routing table onto a linux box. I've got a BGP session with a transit provider. It works for a bit then bombs out with:
ebgp: Received: Maximum number of prefixes reached: 00010100000002
This means that your BGP peer received from you more prefixes that it is allowed to accept. You probably don't want to export anything (add 'export none;' to your BGP config) or just export configured static routes (add 'export where source = RTS_STATIC;' to your BGP config). Generally, messages from BGP prepended with 'Received: ' are notification messages from a BGP peer.
Interestingly, if I redirect these routes into an alternative routing table it works OK.
Because other routing table is empty and therefore nothing is exported to the peer. -- Elen sila lumenn' omentielvo Ondrej 'SanTiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
Ace, thanks for that. How do I aggregate prefixes for export, so that rather than export lots of small prefixes, I can just export one big prefix? I'm guessing bird is just getting all of the routes it knows about and exporting them one-by-one (so lots of really small routes) rather than one big one. Alternatively, is there a way of overriding what gets sent, so I can just manually send one big route? Thanks, David 2009/10/15 Ondrej Zajicek <santiago@crfreenet.org>:
On Thu, Oct 15, 2009 at 02:01:38PM +0100, David J Craigon wrote:
Hello,
I'm trying to use bird to get the complete internet routing table onto a linux box. I've got a BGP session with a transit provider. It works for a bit then bombs out with:
ebgp: Received: Maximum number of prefixes reached: 00010100000002
This means that your BGP peer received from you more prefixes that it is allowed to accept. You probably don't want to export anything (add 'export none;' to your BGP config) or just export configured static routes (add 'export where source = RTS_STATIC;' to your BGP config).
Generally, messages from BGP prepended with 'Received: ' are notification messages from a BGP peer.
Interestingly, if I redirect these routes into an alternative routing table it works OK.
Because other routing table is empty and therefore nothing is exported to the peer.
-- Elen sila lumenn' omentielvo
Ondrej 'SanTiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux)
iEYEARECAAYFAkrXJS4ACgkQw1GB2RHercOQ9gCdGYJ7lMEzHJL8iIt852A/Th13 4/cAn2HXFMaLFZ8EVTWQKi0FgiljKVfX =QOxo -----END PGP SIGNATURE-----
On Thu, Oct 15, 2009 at 02:46:53PM +0100, David J Craigon wrote:
Ace, thanks for that.
How do I aggregate prefixes for export, so that rather than export lots of small prefixes, I can just export one big prefix? I'm guessing bird is just getting all of the routes it knows about and exporting them one-by-one (so lots of really small routes) rather than one big one.
Alternatively, is there a way of overriding what gets sent, so I can just manually send one big route?
Automatic aggregation is not implemented in BIRD. Required behavior can be achieved by defining static route for one big prefix and then export just that route to BGP. Configured static route could use 'unreachable' target, as such route target is not propagated through BGP (it is propagated as a normal prefix) and such route might be useful in local routing table. For example: protocol static { import all; route xxx.yyy.0.0/16 unreachable; } protocol bgp { import all; export where net = xxx.yyy.0.0/16; } or 'export where net ~ [xxx.yyy.0.0/16, xxx.zzz.0.0/16, ...];' if there is more configured prefixes to export. or 'export where source = RTS_STATIC;' if every static route should be exported through BGP. -- Elen sila lumenn' omentielvo Ondrej 'SanTiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
participants (2)
-
David J Craigon -
Ondrej Zajicek