From c48116a95ba66c398033be4ccdc52793ed920675 Mon Sep 17 00:00:00 2001
From: Christian Poessinger <christian@poessinger.com>
Date: Tue, 27 Jul 2021 21:40:02 +0200
Subject: Revert "ifconfig: drop unused classes for pppoe and vti"

This reverts commit e4d697b1d3aad0cb8e81f4c36bcaa4c089195f43.

We need those classes for the operational level "show interfaces" command.
---
 python/vyos/ifconfig/__init__.py |  2 ++
 python/vyos/ifconfig/pppoe.py    | 39 +++++++++++++++++++++++++++++++++++++++
 python/vyos/ifconfig/vti.py      | 27 +++++++++++++++++++++++++++
 3 files changed, 68 insertions(+)
 create mode 100644 python/vyos/ifconfig/pppoe.py
 create mode 100644 python/vyos/ifconfig/vti.py

(limited to 'python')

diff --git a/python/vyos/ifconfig/__init__.py b/python/vyos/ifconfig/__init__.py
index cbde93c97..d4d8c02a9 100644
--- a/python/vyos/ifconfig/__init__.py
+++ b/python/vyos/ifconfig/__init__.py
@@ -30,6 +30,8 @@ from vyos.ifconfig.vxlan import VXLANIf
 from vyos.ifconfig.wireguard import WireGuardIf
 from vyos.ifconfig.vtun import VTunIf
 from vyos.ifconfig.tunnel import TunnelIf
+from vyos.ifconfig.vti import VTIIf
+from vyos.ifconfig.pppoe import PPPoEIf
 from vyos.ifconfig.wireless import WiFiIf
 from vyos.ifconfig.l2tpv3 import L2TPv3If
 from vyos.ifconfig.macsec import MACsecIf
diff --git a/python/vyos/ifconfig/pppoe.py b/python/vyos/ifconfig/pppoe.py
new file mode 100644
index 000000000..6f14c0fd4
--- /dev/null
+++ b/python/vyos/ifconfig/pppoe.py
@@ -0,0 +1,39 @@
+# Copyright 2020 VyOS maintainers and contributors <maintainers@vyos.io>
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# 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 vyos.ifconfig.interface import Interface
+
+
+@Interface.register
+class PPPoEIf(Interface):
+    iftype = 'pppoe'
+    definition = {
+        **Interface.definition,
+        **{
+            'section': 'pppoe',
+            'prefixes': ['pppoe', ],
+        },
+    }
+
+    # stub this interface is created in the configure script
+
+    def _create(self):
+        # we can not create this interface as it is managed outside
+        pass
+
+    def _delete(self):
+        # we can not create this interface as it is managed outside
+        pass
diff --git a/python/vyos/ifconfig/vti.py b/python/vyos/ifconfig/vti.py
new file mode 100644
index 000000000..f575323af
--- /dev/null
+++ b/python/vyos/ifconfig/vti.py
@@ -0,0 +1,27 @@
+# Copyright 2020 VyOS maintainers and contributors <maintainers@vyos.io>
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# 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 vyos.ifconfig.interface import Interface
+
+@Interface.register
+class VTIIf(Interface):
+    iftype = 'vti'
+    definition = {
+        **Interface.definition,
+        **{
+            'section': 'vti',
+            'prefixes': ['vti', ],
+        },
+    }
-- 
cgit v1.2.3