Hi, I did a quick look at the archives and didn't see exactly what I was trying discussed. I have some border machines running bird connected to junpiers that are bgp peering with our ISPS. I have the junipers set up such that they generate a default route and send it to the border machines. I want the border machines to put it in the system routing table and then pass that on to the inside systems. Everyone is speaking bgp, one AS for the outside and one for the inside. I am running 1.4.5 (centos 7 release) here are the parts of the config that are involved: filter load_default { if net = [0.0.0.0/0] then accept; else reject; } template bgp toedge { description "bgp to edge/ISP as"; local as 65401; direct; export filter outside_only; import filter load_default; allow local as; bfd on; source address 172.18.2.10; } protocol bgp edgeA from toedge { neighbor 172.18.2.1 as 65401; debug all; } protocol bgp edgeB from toedge { neighbor 172.18.2.2 as 65401; } here's the debug output: 2016-12-30 11:28:53 <INFO> Started 2016-12-30 11:28:53 <TRACE> edgeA: Started 2016-12-30 11:28:53 <TRACE> edgeA: Connect delayed by 5 seconds 2016-12-30 11:28:57 <TRACE> edgeA: Connecting to 172.18.2.1 from local address 172.18.2.10 2016-12-30 11:28:57 <TRACE> edgeA: Connected 2016-12-30 11:28:57 <TRACE> edgeA: Sending OPEN(ver=4,as=65401,hold=240,id=01020304) 2016-12-30 11:28:57 <TRACE> edgeA: Got OPEN(as=65401,hold=90,id=ac120001) 2016-12-30 11:28:57 <TRACE> edgeA: Sending KEEPALIVE 2016-12-30 11:28:57 <TRACE> edgeA: Got KEEPALIVE 2016-12-30 11:28:57 <TRACE> edgeA: BGP session established 2016-12-30 11:28:57 <TRACE> edgeA: Connected to table master 2016-12-30 11:28:57 <TRACE> edgeA: State changed to feed 2016-12-30 11:28:57 <TRACE> edgeA < added 198.48.100.20/32 dev lo 2016-12-30 11:28:57 <TRACE> edgeA < added 198.48.100.21/32 dev lo 2016-12-30 11:28:57 <TRACE> edgeA < added 8.25.217.22/32 dev lo 2016-12-30 11:28:57 <TRACE> edgeA: State changed to up 2016-12-30 11:28:57 <TRACE> edgeA: Sending UPDATE 2016-12-30 11:28:57 <TRACE> edgeA: Sending End-of-RIB 2016-12-30 11:28:57 <TRACE> edgeA < filtered out 10.200.32.0/28 via 10.200.0.3 on eth4 2016-12-30 11:28:57 <TRACE> edgeA < filtered out 10.200.0.1/32 via 10.200.0.3 on eth4 2016-12-30 11:28:57 <TRACE> edgeA < filtered out 10.200.16.1/32 via 10.200.0.3 on eth4 2016-12-30 11:28:57 <TRACE> edgeA: Got KEEPALIVE 2016-12-30 11:28:57 <TRACE> edgeA: Got UPDATE 2016-12-30 11:28:57 <TRACE> edgeA: Got End-of-RIB 2016-12-30 11:28:57 <TRACE> edgeA: Got UPDATE 2016-12-30 11:28:57 <TRACE> edgeA > filtered out 0.0.0.0/0 via 172.18.2.1 on eth1 2016-12-30 11:28:58 <TRACE> edgeA < filtered out 10.200.16.1/32 via 10.200.16.3 on eth5 As you can see (second line from the bottom of the debug), it got the default advertisement from the peer and bird says it filtered it out (the other filters are correct.) I set allow-local-as for the peer and have a filter that is supposed to match and accept exactly the route that says was filtered. what am I doing wrong? BTW, I am also having trouble with setting localpref in a filter. here's the config pieces: function is_primary() { return net = [198.48.100.10/32, 198.48.100.20/32]; } function is_secondary() { return net = [8.25.217.10/32, 8.25.217.21/32]; } function is_tertiary() { return net ~ [198.48.100.0/24+, 8.25.217.0/24+]; } filter outside_only { if is_primary() then bgp_local_pref=100; else if is_secondary() then bgp_local_pref=80; else if is_tertiary() then bgp_local_pref=60; if net_outside() then accept; else reject; } They all end up on the junipers with locappref of 60. How do I do this right? thanks in advance, jerry