Hello,
every year or then bird is putting me into the Invalid NEXT_HOP message. TL;DR: Why does bird on router1+router2 refuse the route 2a0a:e5c0:0:12:b01a:5ae3:1bd4:1e00/122 via 2a0a:e5c0::225:90ff:fe1e:3e62 even though router1+router2 know how to reach 2a0a:e5c0::/64 via fe80::20d:b9ff:fe57:2f91 by means of ospf? In detail: router1, router2 are peered to apu-router1,apu-router2 via OSPF + BGP. apu-router1,apu-router2 are peered to a set of kubernetes hosts. The goal is to have router1 + router2 import the routes sent by the kubernetes hosts: router1 router2---------| | \ | | | \ | | | \ | | apu-router1 apu-router2 | . | . | |-------------------------- . . [ kubernetes cluster via apu-routers ] The problem: router1+router reject the routes with: Dec 14 20:33:51 router1 daemon.err bird: apu_router1_place5_ungleich_ch_v6: Invalid NEXT_HOP attribute The setup: router1, router2, apu-router1, apu-router2 = ASN209898 kubernetes hosts = ASN65533 kubernetes peers with apu-routers only. The routes: Kubernetes announces parts of 2a0a:e5c0:0:12::/64 and 2a0a:e5c0:0:13::/64, for instance the route 2a0a:e5c0:0:12:b01a:5ae3:1bd4:1e00/122. Kubernetes nodes live in 2a0a:e5c0::/64. apu-routers have a leg in 2a0a:e5c0::/64, via eth1.2. They reach the cluster directly. They have the routes. routers1+2 receive the route for 2a0a:e5c0::/64 via ospf: bird> show route 2a0a:e5c0::/64 Table master6: 2a0a:e5c0::/64 unicast [ospf6 17:08:18.515] * I (150/20) [0.0.0.47] via fe80::20d:b9ff:fe57:2f91 on bond0.8 Thus routers *can* reach the kubernetes cluster. The apu-routers: - They import the route [0] - They export the route to the routers [1] The routers: - print 4x the Invalid NEXT_HOP attribute, once per exported kubernetes network - They ignore the 4 routes [2] Question: why does bird on the routers not accept the routes? Or is there a different problem I am not seeing? Aside from that, shouldn't bird on the apu-routers set itself as nexthop for the kubernetes routes? Any help appreciated. Best regards, Nico [0] [20:29] apu-router2.place5:~# birdc show route 2a0a:e5c0:0:12:b01a:5ae3:1bd4:1e00/122 BIRD 2.0.8 ready. Table master6: 2a0a:e5c0:0:12:b01a:5ae3:1bd4:1e00/122 unicast [k8s_p5_1_4 19:16:10.910 from 2a0a:e5c0::225:90ff:fe1e:3e74] * (100) [AS65533i] via 2a0a:e5c0::225:90ff:fe1e:3e62 on eth1.2 unicast [k8s_p5_1_3 19:16:10.910 from 2a0a:e5c0::225:90ff:fe1a:d680] (100) [AS65533i] via 2a0a:e5c0::225:90ff:fe1e:3e62 on eth1.2 unicast [k8s_p5_1_5 19:16:10.909] (100) [AS65533i] via 2a0a:e5c0::225:90ff:fe1e:3e62 on eth1.2 unicast [k8s_p5_1_1 19:16:10.910 from 2a0a:e5c0::225:90ff:fe1a:d682] (100) [AS65533i] via 2a0a:e5c0::225:90ff:fe1e:3e62 on eth1.2 unicast [k8s_p5_1_2 19:16:10.910 from 2a0a:e5c0::225:90ff:fe1e:3e64] (100) [AS65533i] via 2a0a:e5c0::225:90ff:fe1e:3e62 on eth1.2 unicast [k8s_p5_1_6 19:16:10.910 from 2a0a:e5c0::225:90ff:fe1e:62d6] (100) [AS65533i] via 2a0a:e5c0::225:90ff:fe1e:3e62 on eth1.2 [20:42] apu-router2.place5:~# [1] [20:43] apu-router2.place5:~# birdc show protocol all router1_place5_ungleich_ch_v6 BIRD 2.0.8 ready. Name Proto Table State Since Info router1_place5_ungleich_ch_v6 BGP --- up 20:29:06.203 Established BGP state: Established Neighbor address: 2a0a:e5c0:1:8::3 Neighbor AS: 209898 Local AS: 209898 Neighbor ID: 147.78.195.249 Local capabilities Multiprotocol AF announced: ipv6 Route refresh Graceful restart 4-octet AS numbers Enhanced refresh Long-lived graceful restart Neighbor capabilities Multiprotocol AF announced: ipv6 Route refresh Graceful restart 4-octet AS numbers Enhanced refresh Long-lived graceful restart Session: internal AS4 Source address: 2a0a:e5c0:1:8::47 Hold timer: 175.206/240 Keepalive timer: 53.629/80 Channel ipv6 State: UP Table: master6 Preference: 100 Input filter: REJECT Output filter: ungleich_networks_no_igp Routes: 0 imported, 6 exported, 0 preferred Route change stats: received rejected filtered ignored accepted Import updates: 98 0 98 0 0 Import withdraws: 3 0 --- 3 0 Export updates: 35 0 29 --- 6 Export withdraws: 0 --- --- --- 0 BGP Next hop: 2a0a:e5c0:1:8::47 fe80::20d:b9ff:fe49:a705 [2] bird> show protocol all apu_router2_place5_ungleich_ch_v6 Name Proto Table State Since Info apu_router2_place5_ungleich_ch_v6 BGP --- up 20:29:06.189 Established BGP state: Established Neighbor address: 2a0a:e5c0:1:8::47 Neighbor AS: 209898 Local AS: 209898 Neighbor ID: 0.0.0.47 Local capabilities Multiprotocol AF announced: ipv6 Route refresh Graceful restart 4-octet AS numbers Enhanced refresh Long-lived graceful restart Neighbor capabilities Multiprotocol AF announced: ipv6 Route refresh Graceful restart 4-octet AS numbers Enhanced refresh Long-lived graceful restart Session: internal AS4 Source address: 2a0a:e5c0:1:8::1 Hold timer: 157.409/240 Keepalive timer: 45.770/80 Channel ipv6 State: UP Table: master6 Preference: 100 Input filter: ungleich_networks Output filter: ungleich_networks_no_igp Routes: 2 imported, 101 exported, 1 preferred Route change stats: received rejected filtered ignored accepted Import updates: 2 0 0 0 2 Import withdraws: 4 0 --- 4 0 Export updates: 140674 8 140565 --- 101 Export withdraws: 334 --- --- --- 0 BGP Next hop: 2a0a:e5c0:1:8::1 fe80::a236:9fff:fe08:a780 -- Sustainable and modern Infrastructures by ungleich.ch