ExaBGP and BIRD clue in the house?

Randy amps at djlab.com
Thu Jul 2 17:14:38 UTC 2015


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 <amps at djlab.com> 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>



More information about the NANOG mailing list