diff options
| -rw-r--r-- | python/vyos/configdict.py | 4 | ||||
| -rwxr-xr-x | src/conf_mode/interfaces-bridge.py | 6 | ||||
| -rwxr-xr-x | src/conf_mode/interfaces-wireguard.py | 2 | ||||
| -rwxr-xr-x | src/conf_mode/policy-local-route.py | 2 | 
4 files changed, 7 insertions, 7 deletions
| diff --git a/python/vyos/configdict.py b/python/vyos/configdict.py index e5e758a8b..4f9d3739d 100644 --- a/python/vyos/configdict.py +++ b/python/vyos/configdict.py @@ -126,14 +126,14 @@ def leaf_node_changed(conf, path):      return None -def node_changed(conf, path): +def node_changed(conf, path, key_mangling=None):      """      Check if a leaf node was altered. If it has been altered - values has been      changed, or it was added/removed, we will return the old value. If nothing      has been changed, None is returned      """      from vyos.configdiff import get_config_diff, Diff -    D = get_config_diff(conf, key_mangling=('-', '_')) +    D = get_config_diff(conf, key_mangling)      D.set_level(conf.get_level())      # get_child_nodes() will return dict_keys(), mangle this into a list with PEP448      keys = D.get_child_nodes_diff(path, expand_nodes=Diff.DELETE)['delete'].keys() diff --git a/src/conf_mode/interfaces-bridge.py b/src/conf_mode/interfaces-bridge.py index ca2718423..fd4ffed9a 100755 --- a/src/conf_mode/interfaces-bridge.py +++ b/src/conf_mode/interfaces-bridge.py @@ -54,7 +54,7 @@ def get_config(config=None):      bridge = get_interface_dict(conf, base)      # determine which members have been removed -    tmp = node_changed(conf, ['member', 'interface']) +    tmp = node_changed(conf, ['member', 'interface'], key_mangling=('-', '_'))      if tmp:          if 'member' in bridge:              bridge['member'].update({'interface_remove': tmp }) @@ -107,7 +107,7 @@ def verify(bridge):      verify_dhcpv6(bridge)      verify_vrf(bridge) -     +      ifname = bridge['ifname']      if dict_search('member.interface', bridge): @@ -142,7 +142,7 @@ def verify(bridge):                  for option in ['allowed_vlan', 'native_vlan']:                      if option in interface_config:                          raise ConfigError('Can not use VLAN options on non VLAN aware bridge') -     +      if 'enable_vlan' in bridge:          if dict_search('vif.1', bridge):              raise ConfigError(f'VLAN 1 sub interface cannot be set for VLAN aware bridge {ifname}, and VLAN 1 is always the parent interface') diff --git a/src/conf_mode/interfaces-wireguard.py b/src/conf_mode/interfaces-wireguard.py index 7cfc76aa0..3e6320f02 100755 --- a/src/conf_mode/interfaces-wireguard.py +++ b/src/conf_mode/interfaces-wireguard.py @@ -58,7 +58,7 @@ def get_config(config=None):      # Determine which Wireguard peer has been removed.      # Peers can only be removed with their public key!      dict = {} -    tmp = node_changed(conf, ['peer']) +    tmp = node_changed(conf, ['peer'], key_mangling=('-', '_'))      for peer in (tmp or []):          pubkey = leaf_node_changed(conf, ['peer', peer, 'pubkey'])          if pubkey: diff --git a/src/conf_mode/policy-local-route.py b/src/conf_mode/policy-local-route.py index c4024dce4..013f22665 100755 --- a/src/conf_mode/policy-local-route.py +++ b/src/conf_mode/policy-local-route.py @@ -40,7 +40,7 @@ def get_config(config=None):      # delete policy local-route      dict = {} -    tmp = node_changed(conf, ['policy', 'local-route', 'rule']) +    tmp = node_changed(conf, ['policy', 'local-route', 'rule'], key_mangling=('-', '_'))      if tmp:          for rule in (tmp or []):              src = leaf_node_changed(conf, ['policy', 'local-route', 'rule', rule, 'source']) | 
