diff options
author | Thomas Mangin <thomas.mangin@exa.net.uk> | 2020-03-22 21:01:54 +0000 |
---|---|---|
committer | Thomas Mangin <thomas.mangin@exa.net.uk> | 2020-03-22 21:08:38 +0000 |
commit | 71da71cd71158a247005c30d16cabec312a611ee (patch) | |
tree | 1daaf26120f089a0369d6bd9f9aa907de11f8a68 /python/vyos/ifconfig | |
parent | ac7593ffaff1d7e4529dbe98210bbdc071500310 (diff) | |
download | vyos-1x-71da71cd71158a247005c30d16cabec312a611ee.tar.gz vyos-1x-71da71cd71158a247005c30d16cabec312a611ee.zip |
geneve: T2057: use self.default as template for get_config
Diffstat (limited to 'python/vyos/ifconfig')
-rw-r--r-- | python/vyos/ifconfig/geneve.py | 16 |
1 files changed, 7 insertions, 9 deletions
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 <http://www.gnu.org/licenses/>. +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) |