From 71da71cd71158a247005c30d16cabec312a611ee Mon Sep 17 00:00:00 2001 From: Thomas Mangin Date: Sun, 22 Mar 2020 21:01:54 +0000 Subject: geneve: T2057: use self.default as template for get_config --- python/vyos/ifconfig/geneve.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'python/vyos') diff --git a/python/vyos/ifconfig/geneve.py b/python/vyos/ifconfig/geneve.py index c6834fcd7..a3b3a4c4a 100644 --- a/python/vyos/ifconfig/geneve.py +++ b/python/vyos/ifconfig/geneve.py @@ -13,6 +13,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with this library. If not, see . +from copy import deepcopy from vyos.ifconfig.interface import Interface @@ -30,18 +31,19 @@ class GeneveIf(Interface): default = { 'type': 'geneve', + 'vni': 0, + 'remote': '', } def _create(self): - cmd = 'ip link add name {} type geneve id {} remote {}' \ - .format(self.config['ifname'], config['vni'], config['remote']) + cmd = 'ip link add name {ifname} type geneve id {vni} remote {remote}'.format(**self.config) self._cmd(cmd) # interface is always A/D down. It needs to be enabled explicitly self.set_state('down') - @staticmethod - def get_config(): + @classmethod + def get_config(cls): """ GENEVE interfaces require a configuration when they are added using iproute2. This static method will provide the configuration dictionary @@ -50,8 +52,4 @@ class GeneveIf(Interface): Example: >> dict = GeneveIf().get_config() """ - config = { - 'vni': 0, - 'remote': '' - } - return config + return deepcopy(cls.default) -- cgit v1.2.3