IPv4 route via IPv6 next hop: Netlink: Network unreachable
Hello, I'm running 2.0.7 on Linux 5.4.18-0-lts (Alpine) and I receive the route 193.228.143.0/24 from 2a0a:e5c0:1:9::2. However it is never set into the kernel, with the error message "Netlink: Network unreachable" in syslog. Has anyone seen this problem recently? I'm not sure if this is really a bird2 problem or not, to be honest: The kernel reports many messages like this in dmesg: [4541983.369058] netlink: 'bird': attribute type 5 has an invalid length. However, I am also puzzled that manually adding the route seems to fail: [14:44] router1.place6:/var/log# ip route add 193.228.143.0/24 via inet6 2a0a:e5c0:1:9::2 RTNETLINK answers: Invalid argument [14:45] router1.place6:/var/log# ip route add 193.228.143.0/24 nexthop via inet6 2a0a:e5c0:1:9::2 RTNETLINK answers: Invalid argument [14:45] router1.place6:/var/log# ip route add 193.228.143.0/24 nexthop via inet6 2a0a:e5c0:1:9::2 dev bond0.25 RTNETLINK answers: Invalid argument [14:45] router1.place6:/var/log# bird status: bird> show route all protocol bluecmd_v6 Table master4: 193.228.143.0/24 unicast [bluecmd_v6 14:31:15.880] ! (100) [AS206858i] via 2a0a:e5c0:1:9::2 on bond0.25 Type: BGP univ BGP.origin: IGP BGP.as_path: 206858 BGP.next_hop: 2a0a:e5c0:1:9::2 BGP.local_pref: 100 Table master6: 2a10:11c0:114::/48 unicast [bluecmd_v6 14:31:15.880] * (100) [AS206858?] via 2a0a:e5c0:1:9::2 on bond0.25 Type: BGP univ BGP.origin: Incomplete BGP.as_path: 206858 BGP.next_hop: 2a0a:e5c0:1:9::2 fe80::21c:73ff:fe2c:6eca BGP.local_pref: 100 bird> bird2 config: protocol bgp bluecmd_v6 { local as 209898; neighbor 2a0a:e5c0:1:9::2 as 206858; direct; ipv4 { extended next hop; import filter from_inside_customer; export filter only_default_route; }; ipv6 { import filter from_inside_customer; export filter only_default_route; }; default bgp_local_pref pref_normal; } syslog: Apr 1 14:31:15 router1 daemon.warn bird: Netlink: Network unreachable Apr 1 14:31:22 router1 daemon.warn bird: Netlink: Network unreachable Apr 1 14:31:42 router1 daemon.warn bird: Netlink: Network unreachable ... Bird / Kernel / etc.: [14:33] router1.place6:/var/log# bird --version BIRD version 2.0.7 [14:35] router1.place6:/var/log# uname -a Linux router1 5.4.18-0-lts #1-Alpine SMP Thu, 06 Feb 2020 09:27:36 UTC x86_64 GNU/Linux [14:36] router1.place6:/var/log# For reference is also attached the configuration of the opposite side (Arista 7050): router bgp 206858 vrf PUBLIC router-id 193.228.143.0 neighbor 2a0a:e5c0:1:9::5 remote-as 209898 neighbor 2a0a:e5c0:1:9::5 next-hop-self neighbor 2a0a:e5c0:1:9::5 maximum-routes 0 ! address-family ipv4 bgp next-hop address-family ipv6 neighbor 2a0a:e5c0:1:9::5 activate neighbor 2a0a:e5c0:1:9::5 next-hop address-family ipv6 originate network 193.228.143.0/24 ! address-family ipv6 neighbor 2a0a:e5c0:1:9::5 activate network 2a10:11c0:114::/48 linthal-core(vrf:PUBLIC)(config-router-bgp-vrf-PUBLIC)#show ipv6 bgp neighbors 2a0a:e5c0:1:9::5 advertised-routes detail BGP routing table information for VRF PUBLIC Router identifier 193.228.143.0, local AS number 206858 Update wait-install is disabled BGP routing table entry for 2a10:11c0:114::/48 Paths: 1 available 206858 2a0a:e5c0:1:9::2 from - (193.228.143.0) Origin INCOMPLETE, metric -, localpref -, weight -, valid, local, best Rx SAFI: Unicast BGP routing table entry for 193.228.143.0/24 Paths: 1 available 206858 - from - (193.228.143.0) Origin IGP, metric -, localpref -, weight -, valid, local, best Rx SAFI: Unicast Any pointer in the right direction would be appreciated! Cheers, Nico -- Modern, affordable, Swiss Virtual Machines. Visit www.datacenterlight.ch
Alpine sounds like containerized nastyness... Check: Can you set a static route manually? Nico Schottelius <nico.schottelius@ungleich.ch> schrieb am Mi., 1. Apr. 2020, 15:00:
Hello,
I'm running 2.0.7 on Linux 5.4.18-0-lts (Alpine) and I receive the route 193.228.143.0/24 from 2a0a:e5c0:1:9::2. However it is never set into the kernel, with the error message "Netlink: Network unreachable" in syslog.
Has anyone seen this problem recently? I'm not sure if this is really a bird2 problem or not, to be honest:
The kernel reports many messages like this in dmesg: [4541983.369058] netlink: 'bird': attribute type 5 has an invalid length.
However, I am also puzzled that manually adding the route seems to fail:
[14:44] router1.place6:/var/log# ip route add 193.228.143.0/24 via inet6 2a0a:e5c0:1:9::2 RTNETLINK answers: Invalid argument [14:45] router1.place6:/var/log# ip route add 193.228.143.0/24 nexthop via inet6 2a0a:e5c0:1:9::2 RTNETLINK answers: Invalid argument [14:45] router1.place6:/var/log# ip route add 193.228.143.0/24 nexthop via inet6 2a0a:e5c0:1:9::2 dev bond0.25 RTNETLINK answers: Invalid argument [14:45] router1.place6:/var/log#
bird status:
bird> show route all protocol bluecmd_v6 Table master4: 193.228.143.0/24 unicast [bluecmd_v6 14:31:15.880] ! (100) [AS206858i] via 2a0a:e5c0:1:9::2 on bond0.25 Type: BGP univ BGP.origin: IGP BGP.as_path: 206858 BGP.next_hop: 2a0a:e5c0:1:9::2 BGP.local_pref: 100
Table master6: 2a10:11c0:114::/48 unicast [bluecmd_v6 14:31:15.880] * (100) [AS206858?] via 2a0a:e5c0:1:9::2 on bond0.25 Type: BGP univ BGP.origin: Incomplete BGP.as_path: 206858 BGP.next_hop: 2a0a:e5c0:1:9::2 fe80::21c:73ff:fe2c:6eca BGP.local_pref: 100 bird>
bird2 config:
protocol bgp bluecmd_v6 { local as 209898; neighbor 2a0a:e5c0:1:9::2 as 206858; direct;
ipv4 { extended next hop;
import filter from_inside_customer; export filter only_default_route; };
ipv6 { import filter from_inside_customer; export filter only_default_route; };
default bgp_local_pref pref_normal; }
syslog:
Apr 1 14:31:15 router1 daemon.warn bird: Netlink: Network unreachable Apr 1 14:31:22 router1 daemon.warn bird: Netlink: Network unreachable Apr 1 14:31:42 router1 daemon.warn bird: Netlink: Network unreachable ...
Bird / Kernel / etc.:
[14:33] router1.place6:/var/log# bird --version BIRD version 2.0.7 [14:35] router1.place6:/var/log# uname -a Linux router1 5.4.18-0-lts #1-Alpine SMP Thu, 06 Feb 2020 09:27:36 UTC x86_64 GNU/Linux [14:36] router1.place6:/var/log#
For reference is also attached the configuration of the opposite side (Arista 7050):
router bgp 206858 vrf PUBLIC router-id 193.228.143.0 neighbor 2a0a:e5c0:1:9::5 remote-as 209898 neighbor 2a0a:e5c0:1:9::5 next-hop-self neighbor 2a0a:e5c0:1:9::5 maximum-routes 0 ! address-family ipv4 bgp next-hop address-family ipv6 neighbor 2a0a:e5c0:1:9::5 activate neighbor 2a0a:e5c0:1:9::5 next-hop address-family ipv6 originate network 193.228.143.0/24 ! address-family ipv6 neighbor 2a0a:e5c0:1:9::5 activate network 2a10:11c0:114::/48
linthal-core(vrf:PUBLIC)(config-router-bgp-vrf-PUBLIC)#show ipv6 bgp neighbors 2a0a:e5c0:1:9::5 advertised-routes detail
BGP routing table information for VRF PUBLIC Router identifier 193.228.143.0, local AS number 206858 Update wait-install is disabled BGP routing table entry for 2a10:11c0:114::/48 Paths: 1 available 206858 2a0a:e5c0:1:9::2 from - (193.228.143.0) Origin INCOMPLETE, metric -, localpref -, weight -, valid, local, best Rx SAFI: Unicast BGP routing table entry for 193.228.143.0/24 Paths: 1 available 206858 - from - (193.228.143.0) Origin IGP, metric -, localpref -, weight -, valid, local, best Rx SAFI: Unicast
Any pointer in the right direction would be appreciated!
Cheers,
Nico
-- Modern, affordable, Swiss Virtual Machines. Visit www.datacenterlight.ch
Hey Stefan, Stefan Jakob <tinysammy@gmail.com> writes:
Alpine sounds like containerized nastyness...
No containers here, only routers.
Check: Can you set a static route manually?
Seems not. So it's a combination of bird < 2.0.8 & something-to-be-figured-out-on-alpine. I'll keep you updated, thanks so far for the suggestions! Cheers, Nico -- Modern, affordable, Swiss Virtual Machines. Visit www.datacenterlight.ch
Hello. Check output of 'ip route get 2a0a:e5c0:1:9::2` first. On Wed, 1 Apr 2020 at 16:00, Nico Schottelius <nico.schottelius@ungleich.ch> wrote:
Hello,
I'm running 2.0.7 on Linux 5.4.18-0-lts (Alpine) and I receive the route 193.228.143.0/24 from 2a0a:e5c0:1:9::2. However it is never set into the kernel, with the error message "Netlink: Network unreachable" in syslog.
Has anyone seen this problem recently? I'm not sure if this is really a bird2 problem or not, to be honest:
The kernel reports many messages like this in dmesg: [4541983.369058] netlink: 'bird': attribute type 5 has an invalid length.
However, I am also puzzled that manually adding the route seems to fail:
[14:44] router1.place6:/var/log# ip route add 193.228.143.0/24 via inet6 2a0a:e5c0:1:9::2 RTNETLINK answers: Invalid argument [14:45] router1.place6:/var/log# ip route add 193.228.143.0/24 nexthop via inet6 2a0a:e5c0:1:9::2 RTNETLINK answers: Invalid argument [14:45] router1.place6:/var/log# ip route add 193.228.143.0/24 nexthop via inet6 2a0a:e5c0:1:9::2 dev bond0.25 RTNETLINK answers: Invalid argument [14:45] router1.place6:/var/log#
bird status:
bird> show route all protocol bluecmd_v6 Table master4: 193.228.143.0/24 unicast [bluecmd_v6 14:31:15.880] ! (100) [AS206858i] via 2a0a:e5c0:1:9::2 on bond0.25 Type: BGP univ BGP.origin: IGP BGP.as_path: 206858 BGP.next_hop: 2a0a:e5c0:1:9::2 BGP.local_pref: 100
Table master6: 2a10:11c0:114::/48 unicast [bluecmd_v6 14:31:15.880] * (100) [AS206858?] via 2a0a:e5c0:1:9::2 on bond0.25 Type: BGP univ BGP.origin: Incomplete BGP.as_path: 206858 BGP.next_hop: 2a0a:e5c0:1:9::2 fe80::21c:73ff:fe2c:6eca BGP.local_pref: 100 bird>
bird2 config:
protocol bgp bluecmd_v6 { local as 209898; neighbor 2a0a:e5c0:1:9::2 as 206858; direct;
ipv4 { extended next hop;
import filter from_inside_customer; export filter only_default_route; };
ipv6 { import filter from_inside_customer; export filter only_default_route; };
default bgp_local_pref pref_normal; }
syslog:
Apr 1 14:31:15 router1 daemon.warn bird: Netlink: Network unreachable Apr 1 14:31:22 router1 daemon.warn bird: Netlink: Network unreachable Apr 1 14:31:42 router1 daemon.warn bird: Netlink: Network unreachable ...
Bird / Kernel / etc.:
[14:33] router1.place6:/var/log# bird --version BIRD version 2.0.7 [14:35] router1.place6:/var/log# uname -a Linux router1 5.4.18-0-lts #1-Alpine SMP Thu, 06 Feb 2020 09:27:36 UTC x86_64 GNU/Linux [14:36] router1.place6:/var/log#
For reference is also attached the configuration of the opposite side (Arista 7050):
router bgp 206858 vrf PUBLIC router-id 193.228.143.0 neighbor 2a0a:e5c0:1:9::5 remote-as 209898 neighbor 2a0a:e5c0:1:9::5 next-hop-self neighbor 2a0a:e5c0:1:9::5 maximum-routes 0 ! address-family ipv4 bgp next-hop address-family ipv6 neighbor 2a0a:e5c0:1:9::5 activate neighbor 2a0a:e5c0:1:9::5 next-hop address-family ipv6 originate network 193.228.143.0/24 ! address-family ipv6 neighbor 2a0a:e5c0:1:9::5 activate network 2a10:11c0:114::/48
linthal-core(vrf:PUBLIC)(config-router-bgp-vrf-PUBLIC)#show ipv6 bgp neighbors 2a0a:e5c0:1:9::5 advertised-routes detail
BGP routing table information for VRF PUBLIC Router identifier 193.228.143.0, local AS number 206858 Update wait-install is disabled BGP routing table entry for 2a10:11c0:114::/48 Paths: 1 available 206858 2a0a:e5c0:1:9::2 from - (193.228.143.0) Origin INCOMPLETE, metric -, localpref -, weight -, valid, local, best Rx SAFI: Unicast BGP routing table entry for 193.228.143.0/24 Paths: 1 available 206858 - from - (193.228.143.0) Origin IGP, metric -, localpref -, weight -, valid, local, best Rx SAFI: Unicast
Any pointer in the right direction would be appreciated!
Cheers,
Nico
-- Modern, affordable, Swiss Virtual Machines. Visit www.datacenterlight.ch
-- Anton Danilov.
Hey Anton, Anton Danilov <littlesmilingcloud@gmail.com> writes:
Hello. Check output of 'ip route get 2a0a:e5c0:1:9::2` first.
that seems to look good: [22:07] router1.place6:~# ip route get 2a0a:e5c0:1:9::2 2a0a:e5c0:1:9::2 from :: dev bond0.25 proto kernel src 2a0a:e5c0:1:9::7 metric 256 pref medium -- Modern, affordable, Swiss Virtual Machines. Visit www.datacenterlight.ch
On Wed, Apr 01, 2020 at 02:56:54PM +0200, Nico Schottelius wrote:
Hello,
I'm running 2.0.7 on Linux 5.4.18-0-lts (Alpine) and I receive the route 193.228.143.0/24 from 2a0a:e5c0:1:9::2. However it is never set into the kernel, with the error message "Netlink: Network unreachable" in syslog.
Has anyone seen this problem recently? I'm not sure if this is really a bird2 problem or not, to be honest:
Hello BIRD 2.0.7 does not support properly putting IPv4 routes with IPv6 next hops to kernel, you can try git master branch (or apply commit 53401bef63013dfee01b65d071ffbd88e457539f to v2.0.7). Or wait for 2.0.8, which will be released hopefully this month.
The kernel reports many messages like this in dmesg: [4541983.369058] netlink: 'bird': attribute type 5 has an invalid length.
However, I am also puzzled that manually adding the route seems to fail:
Probably older iproute2 tools? -- Elen sila lumenn' omentielvo Ondrej 'Santiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
On Wed, Apr 1, 2020 at 2:56 PM Ondrej Zajicek <santiago@crfreenet.org> wrote:
On Wed, Apr 01, 2020 at 02:56:54PM +0200, Nico Schottelius wrote:
Hello,
I'm running 2.0.7 on Linux 5.4.18-0-lts (Alpine) and I receive the route 193.228.143.0/24 from 2a0a:e5c0:1:9::2. However it is never set into the kernel, with the error message "Netlink: Network unreachable" in syslog.
Has anyone seen this problem recently? I'm not sure if this is really a bird2 problem or not, to be honest:
Hello
BIRD 2.0.7 does not support properly putting IPv4 routes with IPv6 next hops to kernel, you can try git master branch (or apply commit 53401bef63013dfee01b65d071ffbd88e457539f to v2.0.7). Or wait for 2.0.8, which will be released hopefully this month.
The kernel reports many messages like this in dmesg: [4541983.369058] netlink: 'bird': attribute type 5 has an invalid length.
However, I am also puzzled that manually adding the route seems to fail:
Probably older iproute2 tools?
Yes, you may be getting the Busybox implementation of 'ip'. Try 'apk add --no-cache iproute2'. Best wishes, Neil
Hey Ondrej, Ondrej Zajicek <santiago@crfreenet.org> writes:
I'm running 2.0.7 on Linux 5.4.18-0-lts (Alpine) and I receive the route 193.228.143.0/24 from 2a0a:e5c0:1:9::2. However it is never set into the kernel, with the error message "Netlink: Network unreachable" in syslog.
Has anyone seen this problem recently? I'm not sure if this is really a bird2 problem or not, to be honest:
Hello
BIRD 2.0.7 does not support properly putting IPv4 routes with IPv6 next hops to kernel, you can try git master branch (or apply commit 53401bef63013dfee01b65d071ffbd88e457539f to v2.0.7). Or wait for 2.0.8, which will be released hopefully this month.
Thanks for the reminder - I somehow thought that one was already released. I'll wait for 2.0.8 and give you feedback then.
The kernel reports many messages like this in dmesg: [4541983.369058] netlink: 'bird': attribute type 5 has an invalid length.
However, I am also puzzled that manually adding the route seems to fail:
Probably older iproute2 tools?
It seems to be related to alpine Linux, however pretty recent diamond2:~# apk list -I | grep -e iproute -e linux-lts linux-lts-5.4.30-r0 x86_64 {linux-lts} (GPL-2.0) [installed] iproute2-doc-5.6.0-r0 x86_64 {iproute2} (GPL-2.0-or-later) [installed] iproute2-5.6.0-r0 x86_64 {iproute2} (GPL-2.0-or-later) [installed] diamond2:~# I'm currently in touch with the Alpine folks to debug this. Cheers, Nico -- Modern, affordable, Swiss Virtual Machines. Visit www.datacenterlight.ch
participants (5)
-
Anton Danilov -
Neil Jerram -
Nico Schottelius -
Ondrej Zajicek -
Stefan Jakob