I get it now.  There *is* a local route that would match that if-statement in the context of the export. I misunderstood this routing table entry as ip-route presented it (that won't happen again).  

$ ip route
...
blackhole 10.6.130.64/26 proto bird

If I read the routes using the old 'route' command, the existence of this route in the local table is clearer to me.

$ route 
...
10.6.130.64      0.0.0.0         255.255.255.192 U     0      0        0 *




On Thu, Aug 2, 2018 at 10:50 AM Mark Petrovic <mspetrovic@gmail.com> wrote:
Hi.  I am new to bird, and am studying an existing bird 1.6 configuration to understand how the system it supports works.  Nothing is broken on my system; I just want to understand how it works.

In the main bird.cfg within a bgp template, I see this 

export filter calico_pools;

that calico_pools filter calls this via a bird function

     if ( net = 10.6.130.64/26 ) then { accept; }

Now, I correctly see this route as advertised when viewed from a BGP peer.  What I don't understand are the semantics of this if-statement.  In an export statement, the docs say the relationship is from routing  table to protocol

export:  "This is similar to the import keyword, except that it works in the direction from the routing table to the protocol."

What confuses me is that there is *no* net = 10.6.130.64/26 in the local routing table, so where is the value of "net" coming from such that the if-net comparison can be made and the export makes sense works?  I know the statement somehow does the right thing; I just don't know how to read and explain it to others in the export context.

Can someone please help me understand how to read this?

Thanks.



--
Mark