Quagga as a route reflector: don't install routes in kernel/FIB


Hey!

I'd like to configure Quagga as a non-routing route reflector. It seems there is no equivalent of the "no-install" directive available in Juniper (https://www.juniper.net/documentation/en_US/junos/topics/reference/configuration-statement/no-instal...)

Currently, I am using this kind of configuration:

auto swp1.90  iface swp1.90      vrf public      address 198.51.100.226/25      up sysctl -qw net/ipv4/conf/$IFACE/forwarding=0
and:

router bgp 65000 vrf public   bgp router-id 198.51.100.226   bgp cluster-id 198.51.100.226   no bgp default ipv4-unicast   !   neighbor public-v4 peer-group   neighbor public-v4 remote-as internal   neighbor public-v4 ttl-security hops 1   neighbor public-v4 bfd   bgp listen range 198.51.100.128/25 peer-group public-v4   !   address-family ipv4 unicast    neighbor public-v4 activate    neighbor public-v4 route-reflector-client    neighbor public-v4 addpath-tx-all-paths   exit-address-family
!

And I make bgpd runs with "--no_kernel". Is there a better way? Routes in the kernel don't bother me, but I would like to avoid clutter the hardware with them.

2 replies

Hi Vincent,
You can use a route-map to filter routes between BGP and zebra, if the routes are not installed in zebra that will also keep them out of the kernel. In a nutshell you do

!
route-map DENY_ALL deny 10
!
router bgp 65000 vrf public
!
address-family ipv4 unicast
table-map DENY_ALL
!
cheers
Daniel

Daniel Walton wrote:

Hi Vincent,
You can use a route-map to filter routes between BGP and zebra, if the routes are not...

That works perfectly! Thanks!

For the record, "show bgp vrf public" gives the IPv6 routes and "show ip bgp vrf public" the IPv4 one.

Reply