Hello,

I'm having trouble understanding why certain routes aren't making it through to an iBGP session on BIRD 2.0.7.

My network layout looks something like below. I have three BIRD instances running, Router 1 is connected to Upstream 1, Router 2 is connected to Upstream 2, and Router 1 and Router 2 are connected to each other via iBGP. This all works great.

Upstream 1         Upstream 2
    ▲                  ▲
    |                  |
   eBGP               eBGP
    |                  |
 Router 1 ◀--iBGP--▶ Router 2
    |
   iBGP
    |
    ▼
 Router 3


The problem comes with Router 3 not receiving routes from Router 2.

The iBGP export filter on router1 looks like this:

    export filter {
      if is_v4_bogon() then reject;
      if is_v4_default() then reject;
      if is_v4_peering_net() then reject;
      if is_v4_own_net() then accept;
      if source = RTS_BGP then accept;
      reject;
    };


And if I test each of these functions out manually I can see the prefix should be allowed through:

bird> show route filter { if is_v4_bogon() then reject; } 174.202.0.0/16
bird> show route filter { if is_v4_default() then reject; } 174.202.0.0/16
bird> show route filter { if is_v4_peering_net() then reject; } 174.202.0.0/16
bird> show route filter { if is_v4_own_net() then accept; } 174.202.0.0/16
bird> show route filter { if source = RTS_BGP then accept; } 174.202.0.0/16
Table master4:
174.202.0.0/16       unicast [cologuard4 21:17:56.850 from 169.254.3.3] * (100) [AS22394?]
        dev bdr-cologuard


Unfortunately if I look at the session from Router 1 to Router 3 (core_nyiix_14), it is not let through:

bird> show route export core_nyiix_14 174.202.0.0/16
bird>

I've added all of the relevant configuration in this Gist.

Any help would be much appreciated.