Hello.

I need to announce one autonomous system from under another so that the
path "world -> AS65007 -> AS65065" must be visible from the outside world.
I successfully do it on version 1.6.6 (config-file and 'show route' from
live system with changed ip-addresses in attach).

Exactly the same method does not work on version 2.0.12 - for unknown
reason I get ALL imported from second AS static routes in the unreachable
state (bird-2.0.12-config with 'show route' at the end of file).

Has something changed in the work process of the bird, or am I doing
something wrong?

bird 1.6.6 on debian 10 / kernel 4.19.181
bird 2.0.12 on debian 11 / kernel 5.10.179

Peering interfaces on both systems are created as follows:

auto enp129s0.699
iface enp129s0.699 inet static
    address 10.99.11.1/30
    vlan-raw-device enp129s0

auto enp129s0.699:0
iface enp129s0.699:0 inet static
    address 10.99.11.2/30
    vlan-raw-device enp129s0
table peertable;

protocol static static2 {
        preference 250;
        table peertable;
        route 10.88.192.0/22 reject;
        route 10.88.192.0/28 via 192.168.200.100;
        route 10.88.192.32/27 via 192.168.200.100;
        route 10.88.192.64/26 via 192.168.200.100;
        route 10.88.192.128/26 via 192.168.200.100;
        route 10.88.192.192/26 via 192.168.200.100;
        route 10.88.193.0/26 via 192.168.200.100;
        route 10.88.193.64/26 via 192.168.200.100;
        route 10.88.193.128/26 via 192.168.200.100;
        route 10.88.193.192/26 via 192.168.200.100;
        route 10.88.194.0/26 via 192.168.200.100;
        route 10.88.194.64/26 via 192.168.200.100;
        route 10.88.194.128/26 via 192.168.200.100;
        route 10.88.194.192/26 via 192.168.200.100;
        route 10.88.195.0/26 via 192.168.200.100;
        route 10.88.195.64/27 via 192.168.200.100;
        route 10.88.195.96/27 via 192.168.200.100;
        route 10.88.195.160/27 via 192.168.200.100;
        route 10.88.195.144/28 via 192.168.200.100;
        route 10.88.195.192/26 via 192.168.200.100;
}

protocol bgp TestMain {
        table master;
        router id 10.99.11.1;
        local as 65007;
        neighbor 10.99.11.2 as 65065;
        source address 10.99.11.1;
        multihop 2;
        next hop self;
        next hop keep;
        passive on;
        import filter {
                if net ~ [ 10.88.192.0/22+ ] then {
                        bgp_local_pref = 220;
                        accept;
                }
                else reject;
        };
        export none;
}

protocol bgp TestPeer {
        table peertable;
        router id 10.88.192.1;
        local as 65065;
        neighbor 10.99.11.1 as 65007;
        source address 10.99.11.2;
        multihop 2;
        next hop keep;
        import filter {
                reject;
        };
        export all;
}

bird> show route protocol TestMain
10.88.192.32/27  via 192.168.200.100 on enp129s0.601 [TestMain 2023-05-20 
17:17:47 from 10.99.11.2] * (100/0) [AS65065i]
10.88.195.96/27  via 192.168.200.100 on enp129s0.601 [TestMain 2023-05-20 
17:17:47 from 10.99.11.2] * (100/0) [AS65065i]
10.88.195.160/27 via 192.168.200.100 on enp129s0.601 [TestMain 2023-05-20 
17:17:47 from 10.99.11.2] * (100/0) [AS65065i]
10.88.193.64/26  via 192.168.200.100 on enp129s0.601 [TestMain 2023-05-20 
17:17:47 from 10.99.11.2] * (100/0) [AS65065i]
10.88.193.0/26   via 192.168.200.100 on enp129s0.601 [TestMain 2023-05-20 
17:17:47 from 10.99.11.2] * (100/0) [AS65065i]
10.88.193.192/26 via 192.168.200.100 on enp129s0.601 [TestMain 2023-05-20 
17:17:47 from 10.99.11.2] * (100/0) [AS65065i]
10.88.193.128/26 via 192.168.200.100 on enp129s0.601 [TestMain 2023-05-20 
17:17:47 from 10.99.11.2] * (100/0) [AS65065i]
10.88.192.64/26  via 192.168.200.100 on enp129s0.601 [TestMain 2023-05-20 
17:17:47 from 10.99.11.2] * (100/0) [AS65065i]
10.88.192.0/22   unreachable [TestMain 2023-05-20 17:17:47 from 10.99.11.2] * 
(100/-) [AS65065i]
10.88.192.0/28   via 192.168.200.100 on enp129s0.601 [TestMain 2023-05-20 
17:17:47 from 10.99.11.2] * (100/0) [AS65065i]
10.88.192.192/26 via 192.168.200.100 on enp129s0.601 [TestMain 2023-05-20 
17:17:47 from 10.99.11.2] * (100/0) [AS65065i]
10.88.192.128/26 via 192.168.200.100 on enp129s0.601 [TestMain 2023-05-20 
17:17:47 from 10.99.11.2] * (100/0) [AS65065i]
10.88.195.64/27  via 192.168.200.100 on enp129s0.601 [TestMain 2023-05-20 
17:17:47 from 10.99.11.2] * (100/0) [AS65065i]
10.88.195.0/26   via 192.168.200.100 on enp129s0.601 [TestMain 2023-05-20 
17:17:47 from 10.99.11.2] * (100/0) [AS65065i]
10.88.195.192/26 via 192.168.200.100 on enp129s0.601 [TestMain 2023-05-20 
17:17:47 from 10.99.11.2] * (100/0) [AS65065i]
10.88.194.64/26  via 192.168.200.100 on enp129s0.601 [TestMain 2023-05-20 
17:17:47 from 10.99.11.2] * (100/0) [AS65065i]
10.88.194.0/26   via 192.168.200.100 on enp129s0.601 [TestMain 2023-05-20 
17:17:47 from 10.99.11.2] * (100/0) [AS65065i]
10.88.194.192/26 via 192.168.200.100 on enp129s0.601 [TestMain 2023-05-20 
17:17:47 from 10.99.11.2] * (100/0) [AS65065i]
10.88.194.128/26 via 192.168.200.100 on enp129s0.601 [TestMain 2023-05-20 
17:17:47 from 10.99.11.2] * (100/0) [AS65065i]
10.88.195.144/28 via 192.168.200.100 on enp129s0.601 [TestMain 2023-05-20 
17:17:47 from 10.99.11.2] * (100/0) [AS65065i]
ipv4 table peertable;

protocol static static2 {
        ipv4 {
                preference 250;
                table peertable;
        };
        route 10.88.192.0/22 unreachable;
        route 10.88.192.0/28 via 192.168.200.100;
        route 10.88.192.32/27 via 192.168.200.100;
        route 10.88.192.64/26 via 192.168.200.100;
        route 10.88.192.128/26 via 192.168.200.100;
        route 10.88.192.192/26 via 192.168.200.100;
        route 10.88.193.0/26 via 192.168.200.100;
        route 10.88.193.64/26 via 192.168.200.100;
        route 10.88.193.128/26 via 192.168.200.100;
        route 10.88.193.192/26 via 192.168.200.100;
        route 10.88.194.0/26 via 192.168.200.100;
        route 10.88.194.64/26 via 192.168.200.100;
        route 10.88.194.128/26 via 192.168.200.100;
        route 10.88.194.192/26 via 192.168.200.100;
}


protocol bgp TestMain {
        router id 10.99.11.1;
        local 10.99.11.1 as 65007;
        neighbor 10.99.11.2 as 65065;
        multihop 2;
        passive on;
        ipv4 {
                next hop keep on;
                import all;
                export none;
        };
}

protocol bgp TestPeer {
        router id 10.99.11.2;
        local 10.99.11.2 as 65065;
        neighbor 10.99.11.1 as 65007;
        multihop 2;
        ipv4 {
                next hop keep on;
                table peertable;
                import none;
                export all;
        };
}

bird> show route protocol TestMain
Table master4:
10.88.193.0/26       unreachable [TestMain 22:23:04.456 from 10.99.11.2] * 
(100) [AS65065i]
10.88.192.0/28       unreachable [TestMain 22:23:04.456 from 10.99.11.2] * 
(100) [AS65065i]
10.88.194.0/26       unreachable [TestMain 22:23:04.456 from 10.99.11.2] * 
(100) [AS65065i]
10.88.192.0/22       unreachable [TestMain 22:23:04.456 from 10.99.11.2] * 
(100) [AS65065i]
10.88.192.192/26     unreachable [TestMain 22:23:04.456 from 10.99.11.2] * 
(100) [AS65065i]
10.88.194.192/26     unreachable [TestMain 22:23:04.456 from 10.99.11.2] * 
(100) [AS65065i]
10.88.193.192/26     unreachable [TestMain 22:23:04.456 from 10.99.11.2] * 
(100) [AS65065i]
10.88.192.32/27      unreachable [TestMain 22:23:04.456 from 10.99.11.2] * 
(100) [AS65065i]
10.88.192.128/26     unreachable [TestMain 22:23:04.456 from 10.99.11.2] * 
(100) [AS65065i]
10.88.194.128/26     unreachable [TestMain 22:23:04.456 from 10.99.11.2] * 
(100) [AS65065i]
10.88.193.128/26     unreachable [TestMain 22:23:04.456 from 10.99.11.2] * 
(100) [AS65065i]
10.88.193.64/26      unreachable [TestMain 22:23:04.456 from 10.99.11.2] * 
(100) [AS65065i]
10.88.192.64/26      unreachable [TestMain 22:23:04.456 from 10.99.11.2] * 
(100) [AS65065i]
10.88.194.64/26      unreachable [TestMain 22:23:04.456 from 10.99.11.2] * 
(100) [AS65065i]

Reply via email to