Fe80...%eth0 does not appear to be a valid address


#1

Hi, when configuring a DHCPv6 server on 1.2.0-rc2, I get the following error:

[ service dhcpv6-server ]
Traceback (most recent call last):
  File "/usr/libexec/vyos/conf_mode/dhcpv6_server.py", line 446, in <module>
    verify(c)
  File "/usr/libexec/vyos/conf_mode/dhcpv6_server.py", line 386, in verify
    if vyos.validate.is_subnet_connected(subnet['network']):
  File "/usr/lib/python3/dist-packages/vyos/validate.py", line 97, in is_subnet_connected
    if ipaddress.ip_address(ip['addr']) in ipaddress.ip_network(subnet):
  File "/usr/lib/python3.4/ipaddress.py", line 54, in ip_address
    address)
ValueError: 'fe80::21e:67ff:fee6:d6ae%eth0' does not appear to be an IPv4 or IPv6 address

Any thoughts?


#3

Please share your configuration. Looks line you are using link local addresses


#4

I’m seeing the same in 1.2.0-rc3. I’m not using link local addresses for DHCPv6.

It looks like the vyos.validate.is_subnet_connected function is picking up the link local addresses from the interfaces. Adding a line to the function to strip %interface off link local addresses seems to fix this for me, although I don’t know what affect this might have in other places.