summaryrefslogtreecommitdiff
path: root/python/vyos/ifconfig/ethernet.py
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2020-03-25 09:57:21 +0100
committerGitHub <noreply@github.com>2020-03-25 09:57:21 +0100
commit6e7739e0b69e1d3371ebe36218604cbb1aca18b1 (patch)
treec745b79a378c75e928931073bfddbf8cc76ca730 /python/vyos/ifconfig/ethernet.py
parent7c4d21639d9594ba4a0d96a5d6d90f25189c2817 (diff)
parentbbea850ea5f8ff0402cd276ab63963ece7e0c763 (diff)
downloadvyos-1x-6e7739e0b69e1d3371ebe36218604cbb1aca18b1.tar.gz
vyos-1x-6e7739e0b69e1d3371ebe36218604cbb1aca18b1.zip
Merge pull request #265 from thomas-mangin/2057-dhcp-vlan
ifconfig: T2057: break down DHCP, add register, STP and VLAN as adapters
Diffstat (limited to 'python/vyos/ifconfig/ethernet.py')
-rw-r--r--python/vyos/ifconfig/ethernet.py28
1 files changed, 21 insertions, 7 deletions
diff --git a/python/vyos/ifconfig/ethernet.py b/python/vyos/ifconfig/ethernet.py
index dbd618d32..b3e652409 100644
--- a/python/vyos/ifconfig/ethernet.py
+++ b/python/vyos/ifconfig/ethernet.py
@@ -16,17 +16,35 @@
import os
import re
-from vyos.ifconfig.vlan import VLANIf
+from vyos.ifconfig.interface import Interface
+from vyos.ifconfig.vlan import VLAN
from vyos.validate import *
-class EthernetIf(VLANIf):
+@Interface.register
+@VLAN.enable
+class EthernetIf(Interface):
"""
Abstraction of a Linux Ethernet Interface
"""
- _command_set = {**VLANIf._command_set, **{
+ default = {
+ 'type': 'ethernet',
+ }
+ definition = {
+ **Interface.definition,
+ **{
+ 'section': 'ethernet',
+ 'prefixes': ['lan', 'eth', 'eno', 'ens', 'enp', 'enx'],
+ 'bondable': True,
+ 'broadcast': True,
+ 'bridgeable': True,
+ }
+ }
+
+
+ _command_set = {**Interface._command_set, **{
'gro': {
'validate': lambda v: assert_list(v, ['on', 'off']),
'shellcmd': '/sbin/ethtool -K {ifname} gro {value}',
@@ -49,10 +67,6 @@ class EthernetIf(VLANIf):
},
}}
- default = {
- 'type': 'ethernet',
- }
-
def _delete(self):
# Ethernet interfaces can not be removed
pass