diff options
| author | Daniil Baturin <daniil@vyos.io> | 2026-03-24 17:33:31 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-24 17:33:31 +0000 |
| commit | fbae51d4683e97fd9f32b5f1d71b903e728cdca3 (patch) | |
| tree | 4cff6255dd07cfd4561b37dc8b37728a13f13c16 | |
| parent | a9a75eb7dce077bceee1ae13dc943b05d8759925 (diff) | |
| parent | 5c800be95921e2d22ea0e43b931dea1abd3616a0 (diff) | |
| download | vyos-1x-fbae51d4683e97fd9f32b5f1d71b903e728cdca3.tar.gz vyos-1x-fbae51d4683e97fd9f32b5f1d71b903e728cdca3.zip | |
Merge pull request #5071 from AlectoTheFirst/fix/pppoe-dhcpv6-noipv6
T8405: fix noipv6 emitted when dhcpv6-options configured without ipv6 node
| -rw-r--r-- | data/templates/pppoe/peer.j2 | 2 | ||||
| -rwxr-xr-x | src/conf_mode/interfaces_pppoe.py | 15 |
2 files changed, 13 insertions, 4 deletions
diff --git a/data/templates/pppoe/peer.j2 b/data/templates/pppoe/peer.j2 index efe47f369..1cbfaa670 100644 --- a/data/templates/pppoe/peer.j2 +++ b/data/templates/pppoe/peer.j2 @@ -59,7 +59,7 @@ mru {{ mru }} {{ "usepeerdns" if no_peer_dns is not vyos_defined }} -{% if ipv6 is vyos_defined %} ++{% if ipv6 is vyos_defined or dhcpv6_options.pd is vyos_defined or (address is vyos_defined and 'dhcpv6' in address) %} +ipv6 {{ 'ipv6cp-use-ipaddr' if ipv6.address.autoconf is vyos_defined }} {% else %} noipv6 diff --git a/src/conf_mode/interfaces_pppoe.py b/src/conf_mode/interfaces_pppoe.py index 976702aba..7b93c364d 100755 --- a/src/conf_mode/interfaces_pppoe.py +++ b/src/conf_mode/interfaces_pppoe.py @@ -49,9 +49,18 @@ def get_config(config=None): # We should only terminate the PPPoE session if critical parameters change. # All parameters that can be changed on-the-fly (like interface description) # should not lead to a reconnect! - for options in ['access-concentrator', 'connect-on-demand', 'service-name', - 'source-interface', 'vrf', 'no-default-route', - 'authentication', 'host_uniq']: + for options in [ + 'access-concentrator', + 'connect-on-demand', + 'service-name', + 'source-interface', + 'vrf', + 'no-default-route', + 'authentication', + 'host-uniq', + 'dhcpv6-options', + 'ipv6', + ]: if is_node_changed(conf, base + [ifname, options]): pppoe.update({'shutdown_required': {}}) # bail out early - no need to further process other nodes |
