Hello Randy,
The current configuration parser is currently progressive: what exists
when the neighbor is created (or in the neighbor group) is what will be
associated (which is not really ideal) hence why I have passed the last
three weeks totally rewriting it in view of version 4.0. This is still
serious WIP tho.
ExaBGP is indeed “dumb” (outch, it hurts :p) when it comes to route
filtering, advanced features are “left as an exercise for the end
user” using the API. I did not see an immediate need to re-invent BIRD
which covers this part of the ecosystem more than well.
You can find some good examples on how ExaBGP can be used on this site:
https://thepacketgeek.com/tag/exabgp/
Many people have released useful tools:
https://github.com/YoshiyukiYamauchi/mrtparse
https://github.com/dpiekacz/gixlg
https://github.com/abh/bgpapi
https://github.com/search?utf8=✓&q=exabgp returns quite a few more.
Obviously if you have any issues/questions, I am more than happy to help
( via the mailing list, G+, Gitter, IRC #exabgp on freenode )
Once the connected program receive an update, it can decide to
re-distribute it.
Have “fun”,
Thomas
http://exa.net.uk/about/contact-us
On 2 Jul 2015, at 18:14, Randy wrote:
I think you overestimated exabgp's dead simplicity.
After some more testing, I found moving the route higher in the config
file (before the neighbor definition rather than inside it), it
propagates. So order matters more than anything. You have to
define routes either BEFORE or WITHIN neighbors in each group scope.
I also do not believe exa supports any sort of routing policy. It's
a dumb tool for manually injecting routes and piping updates to
external apps.
~Randy
On 07/02/2015 9:44 am, Owen DeLong wrote:
Exactly… It’s not an issue, it’s expected behavior.
If you move the static up within the neighbor definition, it becomes
an Anchor Route and Exa knows you want it announced.
If you leave it in the static routes section, then you either need a
redistribution policy from static to bgp (not recommended) or you
need
some other sort of policy that tells exa that you want to announce
the
route.
Owen
On Jul 2, 2015, at 09:40 , Randy <[email protected]> wrote:
FYI, if the static is moved up within the neighbor definition, it
works. So this is an Exa related issue/feature and not a problem
with BIRD.
I'll move the noise to the Exa list if needed.
~Randy
On 07/02/2015 9:13 am, Randy wrote:
Really, it's got to be something dead stupid. Hoping to borrow 5
minutes of someone's time. Replies on or off list are fine.
I've reduced it to a simple config:
BIRD:
protocol bgp {
description "ExaBGP-local";
local as 12345;
allow local as 1;
neighbor 10.0.0.2 as 12345;
next hop keep;
start delay time 5;
import all;
export all;
}
EXABGP:
group gixlg {
hold-time 180;
local-as 12345;
router-id 10.0.0.2;
family {
ipv4 unicast;
}
neighbor 10.0.0.1 {
router-id 10.0.0.2;
local-address 10.0.0.2;
peer-as 12345;
description "Bird-local";
group-updates;
}
static {
route 1.2.3.4/32 next-hop 4.3.2.1;
}
}
Everything comes up. But bird has no routes.
bird> sh protocols
name proto table state since info
bgp1 BGP master up 12:06:00 Established
bird> show route all
bird>