Configuration on Quagga routers
Quagga1# show running-config
hostname Quagga1
log file /var/log/quagga/quagga.log
hostname bgpd
log stdout
password zebra
enable password zebra
interface eth0
ipv6 nd suppress-ra
interface lo
router bgp 100
bgp router-id 10.10.12.1
bgp log-neighbor-changes
redistribute static metric route-map bh-trigger
neighbor 10.10.12.2 remote-as 100
neighbor 10.10.12.3 remote-as 100
neighbor 10.10.13.2 remote-as 200
ip route 192.0.2.6/32 Null0 255
route-map bh-trigger permit 10
match community 100:666
set community 100:666 no-export
set ip next-hop 192.0.2.6
set local-preference 200
set origin igp
route-map bh-trigger deny 20
ip forwarding
line vty
end
Quagga3(config-router)# do show run
hostname Quagga3
hostname bgpd
log stdout
password zebra
interface eth0
ipv6 nd suppress-ra
interface lo
router bgp 200
bgp router-id 10.10.13.2
neighbor 10.10.13.1 remote-as 100
ip forwarding
line vty
end
Quagga4# show runnin-config
hostname Quagga4
hostname bgpd
log stdout
password zebra
interface eth0
ipv6 nd suppress-ra
interface lo
router bgp 300
bgp router-id 10.10.24.2
network 172.20.17.0/24
neighbor 10.10.24.1 remote-as 100
ip route 192.0.2.6/32 Null0 255
ip forwarding
line vty
end
The magic is done when creeting the route-map which works in conjunction with the definition from fastNetMon (community) which injects command to the exaBGP defined pipe.
Also for further reading you can access the following link.
https://packetlife.net/blog/2009/jul/6/remotely-triggered-black-hole-rtbh-routing/