BGP route-map filtering out valid prefix

bgp
vyos-1-2

#1

I am not positive that this is a bug, but this seems like a surprising behavior. The problem is with a route-map in place to allow a given prefix, that prefix is filtered out on export.

With the route map in place, no routes are advertised:

brooks@border# run show ip bgp neighbors 10.10.10.1 advertised-routes
[edit]

But if the route-map is deleted:

brooks@border# delete protocols bgp 397143 neighbor 10.10.10.1 address-family ipv4-unicast route-map
[edit]
brooks@border# commit
[edit]

Everything works as expected:

brooks@border# run show ip bgp neighbors 10.10.10.1 advertised-routes
BGP table version is 1, local router ID is 10.0.100.1, vrf id 0
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 23.157.160.0/24  0.0.0.0                  0    100  32768 i

Total number of prefixes 1

Here is the relevant configuration:

brooks@border# show protocols bgp 397143 neighbor 10.10.10.1
 address-family {
     ipv4-unicast {
         nexthop-self
         route-map {
             export vultr-export
         }
         soft-reconfiguration {
             inbound
         }
     }
     ipv6-unicast {
         nexthop-self
         route-map {
             export vultr-export
         }
         soft-reconfiguration {
             inbound
         }
     }
 }
 description Vultr
 remote-as 397143
brooks@border# show protocols bgp 397143 address-family
 ipv4-unicast {
     network 23.157.160.0/24 {
     }
 }
 ipv6-unicast {
     network 2602:fe2e::/36 {
     }
 }
brooks@border# show policy route-map vultr-export
 rule 10 {
     action permit
     match {
         ip {
             address {
                 prefix-list neptune-networks-prefixes4
             }
         }
         ipv6 {
             address {
                 prefix-list neptune-networks-prefixes6
             }
         }
     }
 }
brooks@border# show policy prefix-list neptune-networks-prefixes4
 rule 10 {
     action permit
     description NEPTUNE-NETWORKS-V4
     prefix 23.157.160.0/24
 }
brooks@border# show policy prefix-list6
 prefix-list6 neptune-networks-prefixes6 {
     rule 10 {
         action permit
         description NEPTUNE-NETWORKS-V6
         le 128
         prefix 2602:fe2e::/36
     }
 }
brooks@border# show protocols static route 23.157.160.0/24
 blackhole {
 }
brooks@border# show protocols static route6 2602:fe2e::/36
 blackhole {
 }

This is happening in 1.2.0-rc6.


#2

I’ve confirmed this is not a problem in 1.1.8. Will file a bug on Phabricator.


#3

Bug filed: https://phabricator.vyos.net/T988.