Hi All, 
   
     I have a loopback IPv6 address on a server. IP addr = 2dd:1111:1111:1111:1111::1
    
   I use BGP to announce this to the upstream router. Client traffic comes in through an interface ens3 connected to the router with destination address as the loopback. Bird configuration: 

   protocol direct {
        description "Local anycast addresses";
        export none;
        interface "lo";
}

# The kernel protocol gives us access to the kernel routing table.
protocol kernel {
        #persist;               # Don't remove routes on shutdown
        scan time 20;           # Scan kernel routing table every 20 seconds
        export all;             # Default is export none
}

# The device protocol is needed in order to see what addresses are local
# to this server.
protocol device {
        scan time 10;           # Scan interfaces every 10 seconds
}

protocol bgp {
        description "Arya";
        import none;
        local as 65001;
        neighbor neighbourIPv6ADDR as 100;
        direct;                 # Neighbors are directly connected
                hold time 240;
        connect retry time 120;
        keepalive time 80;      # defaults to hold time / 3
#export filter packetdns;
                export all;
}

  
All this works great. Now, when client traffic comes in we get the following entries in the routing table: 

.
.
.
CLIENTIP::136 via 2dd:1111:1111:1111:1111::1 dev ens3  metric 0 
    cache 
CLIENTIP::5 via 2dd:1111:1111:1111:1111::1 dev ens3  metric 0 
    cache 
CLIENTIP::13 via 2dd:1111:1111:1111:1111::1 dev ens3  metric 0 
    cache 
CLIENTIP::15 via 2dd:1111:1111:1111:1111::1 dev ens3  metric 0 
    cache 
.
.
.

This table grows to  ip -6 r s |wc -l
8296

And changes constantly.

Now, the top output shows bird using a lot of CPU: 
2205 root      20   0    6924    780    560 R  26.2  0.0   0:06.14 bird6   

Since my configuration will never make use of these entries, is there a way to disable this scanning behaviour in bird? 

Thanks! 
--
Saksham Manchanda