Hello.

My config:

log syslog { debug, trace, info, remote, warning, error, auth, fatal, bug };
log "/var/log/bird.log" all;
log stderr all;

function pref_from()
prefix set pref;
{
        pref = [ 5.5.5.0/24 ];
        if net ~ pref then return true;
        return false;
}

filter ibgp_policy {
        if ( dest = RTD_UNREACHABLE && pref_from() && net = 5.5.5.10/32 )
then {
                bgp_next_hop = 6.6.6.6;
                bgp_origin = 0;
                bgp_community = -empty-;
                bgp_community.add((666,1));
                accept;
                print "Alias accepted: ",net;
        }
        reject;
}
protocol kernel {
        import none;
        export none;
}
protocol device {
        import none;
        export none;
}
protocol bgp {
        description "ex";
        multihop 2;
        import none;
        export where proto = "alias";
        export filter ibgp_policy;
        default bgp_med 0;
        default bgp_local_pref 100;
        local as 666;
        neighbor 7.7.7.7 as 666;
}
protocol static alias {
        route 5.5.5.10/32 unreachable;
}

bird> show route all
5.5.5.10/32  unreachable [alias 05:57] * (200)
        Type: static unicast univ

I removed the route

log syslog { debug, trace, info, remote, warning, error, auth, fatal, bug };
log "/var/log/bird.log" all;
log stderr all;

function pref_from()
prefix set pref;
{
        pref = [ 5.5.5.0/24 ];
        if net ~ pref then return true;
        return false;
}

filter ibgp_policy {
        reject;
}
protocol kernel {
        import none;
        export none;
}
protocol device {
        import none;
        export none;
}
protocol bgp {
        description "ex";
        multihop 2;
        import none;
        export where proto = "alias";
        export filter ibgp_policy;
        default bgp_med 0;
        default bgp_local_pref 100;
        local as 666;
        neighbor 7.7.7.7 as 666;
}
protocol static alias {
}


BIRD 1.3.11 ready.
bird> configure
Reading configuration from /etc/bird.conf
Reconfigured
bird> show route all
bird>

But route is still in router;

show route receive-protocol bgp 5.5.5.10
inet.0: 5589 destinations, 5595 routes (5588 active, 0 holddown, 1 hidden)
  Prefix                  Nexthop              MED     Lclpref    AS path
* 5.5.5.10/32        6.6.6.6                 100        I

fbr.inet.0: 125 destinations, 130 routes (124 active, 0 holddown, 1 hidden)

inet6.0: 32 destinations, 36 routes (31 active, 0 holddown, 1 hidden)


The route will be deleted from router if we restart bind. But restart also
means short-time break for all other connections (for other IPs)

Is there a way to delete route from router without restarting bird?

Reply via email to