diff options
| -rw-r--r-- | python/vyos/xml/load.py | 10 | 
1 files changed, 8 insertions, 2 deletions
| diff --git a/python/vyos/xml/load.py b/python/vyos/xml/load.py index 37479c6e1..0578bef80 100644 --- a/python/vyos/xml/load.py +++ b/python/vyos/xml/load.py @@ -125,14 +125,20 @@ def _format_nodes(inside, conf, xml):              for node in nodes:                  name = node.pop('@name')                  into = inside + [name] -                r[name] = _format_node(into, node, xml) +                if name in r: +                    r[name].update(_format_node(into, node, xml)) +                else: +                    r[name] = _format_node(into, node, xml)                  r[name][kw.node] = nodename                  xml[kw.tags].append(' '.join(into))          else:              node = nodes              name = node.pop('@name')              into = inside + [name] -            r[name] = _format_node(inside + [name], node, xml) +            if name in r: +                r[name].update(_format_node(inside + [name], node, xml)) +            else: +                r[name] = _format_node(inside + [name], node, xml)              r[name][kw.node] = nodename              xml[kw.tags].append(' '.join(into))      return r | 
