summaryrefslogtreecommitdiff
path: root/src/conf_mode/interface-vxlan.py
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2019-09-21 09:49:41 +0200
committerChristian Poessinger <christian@poessinger.com>2019-09-21 09:50:31 +0200
commitdb43a81c06d1fc8c06c4e5bae753a8854bf00d2c (patch)
tree005ae787b3cbb10a385f3678025c3e44ebd5f064 /src/conf_mode/interface-vxlan.py
parent62c3e0b5f2de7a1bb14b384bfb1d32687e08c4f8 (diff)
downloadvyos-1x-db43a81c06d1fc8c06c4e5bae753a8854bf00d2c.tar.gz
vyos-1x-db43a81c06d1fc8c06c4e5bae753a8854bf00d2c.zip
vxlan: T1636: simplyfy code (don't delete intf addresses)
We do not need to delete addresses manually as the VXLAN interface is always deleted which drops all assigned addresses from the Kernel.
Diffstat (limited to 'src/conf_mode/interface-vxlan.py')
-rwxr-xr-xsrc/conf_mode/interface-vxlan.py16
1 files changed, 3 insertions, 13 deletions
diff --git a/src/conf_mode/interface-vxlan.py b/src/conf_mode/interface-vxlan.py
index 59022238e..e97b4bf99 100755
--- a/src/conf_mode/interface-vxlan.py
+++ b/src/conf_mode/interface-vxlan.py
@@ -28,7 +28,6 @@ from netifaces import interfaces
default_config_data = {
'address': [],
- 'address_remove': [],
'deleted': False,
'description': '',
'disable': False,
@@ -43,7 +42,6 @@ default_config_data = {
# the IANA's selection of a standard destination port
}
-
def get_config():
vxlan = deepcopy(default_config_data)
conf = Config()
@@ -66,12 +64,6 @@ def get_config():
if conf.exists('address'):
vxlan['address'] = conf.return_values('address')
- # Determine interface addresses (currently effective) - to determine which
- # address is no longer valid and needs to be removed from the interface
- eff_addr = conf.return_effective_values('address')
- act_addr = conf.return_values('address')
- vxlan['address_remove'] = list_diff(eff_addr, act_addr)
-
# retrieve interface description
if conf.exists('description'):
vxlan['description'] = conf.return_value('description')
@@ -180,11 +172,9 @@ def apply(vxlan):
# Enable proxy-arp on this interface
v.proxy_arp = vxlan['ip_proxy_arp']
- # Configure interface address(es)
- # - not longer required addresses get removed first
- # - newly addresses will be added second
- for addr in vxlan['address_remove']:
- v.del_addr(addr)
+ # Configure interface address(es) - no need to implicitly delete the
+ # old addresses as they have already been removed by deleting the
+ # interface above
for addr in vxlan['address']:
v.add_addr(addr)