Hi again, I have now also played around with bird 2.0 a bit, but got the same result: IPv4 works, but IPv6 says "Cannot assign requested address". I have attached my stripped-down configuration, which (as far as I can tell) is entirely symmetric for IPv4 and IPv6. I am starting bird as
sudo ./bird -c bird.conf -d
The log looks like:
2018-12-30 14:45:22.302 <TRACE> ffrl_a_ak_v4: Channel ipv4 connected to table ffrl_v4 2018-12-30 14:45:22.302 <TRACE> ffrl_a_ak_v4: Initializing 2018-12-30 14:45:22.302 <TRACE> ffrl_a_ak_v6: Channel ipv6 connected to table ffrl_v6 2018-12-30 14:45:22.302 <TRACE> ffrl_a_ak_v6: Initializing 2018-12-30 14:45:22.302 <WARN> Missing broadcast address for interface saarBR 2018-12-30 14:45:22.302 <TRACE> ffrl_a_ak_v4: Starting 2018-12-30 14:45:22.302 <TRACE> ffrl_a_ak_v4: State changed to start 2018-12-30 14:45:22.302 <TRACE> ffrl_a_ak_v6: Starting 2018-12-30 14:45:22.302 <TRACE> ffrl_a_ak_v6: State changed to start 2018-12-30 14:45:22.302 <INFO> Started 2018-12-30 14:45:22.307 <TRACE> ffrl_a_ak_v6: Started 2018-12-30 14:45:22.307 <TRACE> ffrl_a_ak_v6: Connect delayed by 5 seconds 2018-12-30 14:45:22.307 <TRACE> ffrl_a_ak_v4: Started 2018-12-30 14:45:22.307 <TRACE> ffrl_a_ak_v4: Connect delayed by 5 seconds 2018-12-30 14:45:26.312 <TRACE> ffrl_a_ak_v6: Connecting to 2a03:2260:0:194::1 from local address 2a03:2260:0:194::2 2018-12-30 14:45:26.312 <ERR> ffrl_a_ak_v6: Socket error: bind: Cannot assign requested address 2018-12-30 14:45:26.312 <TRACE> ffrl_a_ak_v6: Connection closed 2018-12-30 14:45:26.526 <TRACE> ffrl_a_ak_v6: Connect delayed by 5 seconds 2018-12-30 14:45:26.526 <TRACE> ffrl_a_ak_v4: Connecting to 100.64.3.20 from local address 100.64.3.21 2018-12-30 14:45:26.544 <TRACE> ffrl_a_ak_v4: Connected 2018-12-30 14:45:26.544 <TRACE> ffrl_a_ak_v4: Sending OPEN(ver=4,as=64899,hold=240,id=52a5a2ef) 2018-12-30 14:45:26.562 <TRACE> ffrl_a_ak_v4: Got OPEN(as=23456,hold=240,id=185.66.192.3) 2018-12-30 14:45:26.562 <TRACE> ffrl_a_ak_v4: Sending KEEPALIVE 2018-12-30 14:45:26.580 <TRACE> ffrl_a_ak_v4: Got KEEPALIVE 2018-12-30 14:45:26.580 <TRACE> ffrl_a_ak_v4: BGP session established
Some snapshots from strace:
socket(AF_INET6, SOCK_STREAM, IPPROTO_TCP) = 7 fcntl(7, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 setsockopt(7, SOL_IPV6, IPV6_V6ONLY, [1], 4) = 0 setsockopt(7, SOL_IPV6, IPV6_UNICAST_HOPS, [255], 4) = 0 setsockopt(7, SOL_IPV6, IPV6_TCLASS, [192], 4) = 0 setsockopt(7, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 bind(7, {sa_family=AF_INET6, sin6_port=htons(179), inet_pton(AF_INET6, "::", &sin6_addr), sin6_flowinfo=htonl(0), sin6_scope_id=0}, 32) = 0 listen(7, 8) = 0
socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) = 8 fcntl(8, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 setsockopt(8, SOL_IP, IP_TTL, [255], 4) = 0 setsockopt(8, SOL_IP, IP_TOS, [192], 4) = 0 setsockopt(8, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 bind(8, {sa_family=AF_INET, sin_port=htons(179), sin_addr=inet_addr("0.0.0.0")}, 32) = 0 listen(8, 8) = 0
socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) = 9 fcntl(9, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 setsockopt(9, SOL_SOCKET, SO_BINDTODEVICE, "tun-up-a_ak\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 40) = 0 setsockopt(9, SOL_SOCKET, SO_DONTROUTE, [1], 4) = 0 setsockopt(9, SOL_IP, IP_TTL, [1], 4) = 0 setsockopt(9, SOL_IP, IP_TOS, [192], 4) = 0 bind(9, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("100.64.3.21")}, 32) = 0
socket(AF_INET6, SOCK_STREAM, IPPROTO_TCP) = 10 fcntl(10, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 setsockopt(10, SOL_SOCKET, SO_BINDTODEVICE, "tun-up-a_ak\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 40) = 0 setsockopt(10, SOL_SOCKET, SO_DONTROUTE, [1], 4) = 0 setsockopt(10, SOL_IPV6, IPV6_V6ONLY, [1], 4) = 0 setsockopt(10, SOL_IPV6, IPV6_UNICAST_HOPS, [1], 4) = 0 setsockopt(10, SOL_IPV6, IPV6_TCLASS, [192], 4) = 0 bind(10, {sa_family=AF_INET6, sin6_port=htons(0), inet_pton(AF_INET6, "2a03:2260:0:194::2", &sin6_addr), sin6_flowinfo=htonl(0), sin6_scope_id=0}, 32) = -1 EADDRNOTAVAIL (Cannot assign requested address)
This, too, looks entirely symmetric between IPv4 and IPv6. Is it possible that this is a kernel bug? Kind regards, Ralf