From b8899246cda23a999f35e1c102b30c841623e0ca Mon Sep 17 00:00:00 2001
From: Christian Poessinger <christian@poessinger.com>
Date: Fri, 30 Dec 2022 09:44:38 +0100
Subject: geneve: T4366: use is_node_changed() over error prone
 leaf_node_changed()

We only need to use leaf_node_changed() if we are interested in the detailed
change to a CLI node (what was the previous content). If we are only interested
in if a node changed "at all" is_node_changed() should be used.
---
 src/conf_mode/interfaces-geneve.py | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

(limited to 'src')

diff --git a/src/conf_mode/interfaces-geneve.py b/src/conf_mode/interfaces-geneve.py
index 08cc3a48d..f6694ddde 100755
--- a/src/conf_mode/interfaces-geneve.py
+++ b/src/conf_mode/interfaces-geneve.py
@@ -14,14 +14,11 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-import os
-
 from sys import exit
 from netifaces import interfaces
 
 from vyos.config import Config
 from vyos.configdict import get_interface_dict
-from vyos.configdict import leaf_node_changed
 from vyos.configdict import is_node_changed
 from vyos.configverify import verify_address
 from vyos.configverify import verify_mtu_ipv6
@@ -49,13 +46,10 @@ def get_config(config=None):
     # GENEVE interfaces are picky and require recreation if certain parameters
     # change. But a GENEVE interface should - of course - not be re-created if
     # it's description or IP address is adjusted. Feels somehow logic doesn't it?
-    for cli_option in ['remote', 'vni']:
-        if leaf_node_changed(conf, base + [ifname, cli_option]):
+    for cli_option in ['remote', 'vni', 'parameters']:
+        if is_node_changed(conf, base + [ifname, cli_option]):
             geneve.update({'rebuild_required': {}})
 
-    if is_node_changed(conf, base + [ifname, 'parameters']):
-        geneve.update({'rebuild_required': {}})
-
     return geneve
 
 def verify(geneve):
-- 
cgit v1.2.3