- Configure a working PPPoE interface with DHCPv6-PD
- Run set interfaces pppoe pppoe0 ipv6 address autoconf
- If rdisc6 times out, the commit fails, but the ipv6 address node remains in the config tree
- Run delete interfaces pppoe pppoe0 ipv6 address or delete interfaces pppoe pppoe0 ipv6
- Any subsequent commit crashes with:
Traceback (most recent call last):
File "/usr/libexec/vyos/services/vyos-configd", line 157, in run_script
script.apply(c)
File "/usr/libexec/vyos/conf_mode/interfaces_pppoe.py", line 132, in apply
p.update(pppoe)
File "/usr/lib/python3/dist-packages/vyos/ifconfig/pppoe.py", line 145, in update
if 'autoconf' in dict_search('ipv6.address', config):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^TypeError: argument of type 'NoneType' is not iterable
rc / proposal:
In /usr/lib/python3/dist-packages/vyos/ifconfig/pppoe.py line 145:
if 'autoconf' in dict_search('ipv6.address', config):dict_search('ipv6.address', config) returns None when the ipv6 address
node exists but is empty.
works fine with:
if dict_search('ipv6.address', config) and 'autoconf' in dict_search('ipv6.address', config):