summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2019-12-12 19:51:36 +0100
committerChristian Poessinger <christian@poessinger.com>2019-12-12 19:51:36 +0100
commite23bd0aa33d44cb65fe7951404b385546fab92a5 (patch)
treee4b5f571f924e0c9f8f6e077e3e6e887ad99d8eb
parenta676c91105e3df96bc0e709b397f2ac6ceb2070f (diff)
downloadvyos-1x-e23bd0aa33d44cb65fe7951404b385546fab92a5.tar.gz
vyos-1x-e23bd0aa33d44cb65fe7951404b385546fab92a5.zip
ethernet: T1637: do not delete VIFs on every commit
A delta-check problem caused the deletion of each and every VLAN interface when anything under an interface has been changed. This also cause PPPoE session interruptions.
-rw-r--r--python/vyos/configdict.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/python/vyos/configdict.py b/python/vyos/configdict.py
index e8e52b33d..7f5ae3db9 100644
--- a/python/vyos/configdict.py
+++ b/python/vyos/configdict.py
@@ -179,16 +179,18 @@ def vlan_to_dict(conf):
vlan['egress_qos'] = conf.return_value('egress-qos')
# egress changes QoS require VLAN interface recreation
- if vlan['egress_qos'] != conf.return_effective_value('egress-qos'):
- vlan['egress_qos_changed'] = True
+ if conf.return_effective_value('egress-qos'):
+ if vlan['egress_qos'] != conf.return_effective_value('egress-qos'):
+ vlan['egress_qos_changed'] = True
# VLAN ingress QoS
if conf.exists('ingress-qos'):
vlan['ingress_qos'] = conf.return_value('ingress-qos')
# ingress changes QoS require VLAN interface recreation
- if vlan['ingress_qos'] != conf.return_effective_value('ingress-qos'):
- vlan['ingress_qos_changed'] = True
+ if conf.return_effective_value('ingress-qos'):
+ if vlan['ingress_qos'] != conf.return_effective_value('ingress-qos'):
+ vlan['ingress_qos_changed'] = True
# ethertype is mandatory on vif-s nodes and only exists here!
# check if this is a vif-s node at all: