summaryrefslogtreecommitdiff
path: root/kvmd/apps
diff options
context:
space:
mode:
Diffstat (limited to 'kvmd/apps')
-rw-r--r--kvmd/apps/__init__.py2
-rw-r--r--kvmd/apps/otg/__init__.py6
2 files changed, 5 insertions, 3 deletions
diff --git a/kvmd/apps/__init__.py b/kvmd/apps/__init__.py
index 149782c4..038441f2 100644
--- a/kvmd/apps/__init__.py
+++ b/kvmd/apps/__init__.py
@@ -94,6 +94,7 @@ from ..validators.kvm import valid_ugpio_view_table
from ..validators.hw import valid_gpio_pin
from ..validators.hw import valid_otg_gadget
from ..validators.hw import valid_otg_id
+from ..validators.hw import valid_otg_ethernet
# =====
@@ -404,6 +405,7 @@ def _get_config_scheme() -> Dict:
"ethernet": {
"enabled": Option(False, type=valid_bool),
+ "driver": Option("ecm", type=valid_otg_ethernet),
"host_mac": Option("", type=(lambda arg: (valid_mac(arg) if arg else ""))),
"kvm_mac": Option("", type=(lambda arg: (valid_mac(arg) if arg else ""))),
},
diff --git a/kvmd/apps/otg/__init__.py b/kvmd/apps/otg/__init__.py
index 6b98dc81..d727e938 100644
--- a/kvmd/apps/otg/__init__.py
+++ b/kvmd/apps/otg/__init__.py
@@ -111,16 +111,16 @@ def _create_serial(gadget_path: str, config_path: str) -> None:
_symlink(func_path, join(config_path, "acm.usb0"))
-def _create_ethernet(gadget_path: str, config_path: str, host_mac: str, kvm_mac: str) -> None:
+def _create_ethernet(gadget_path: str, config_path: str, driver: str, host_mac: str, kvm_mac: str) -> None:
if host_mac and kvm_mac and host_mac == kvm_mac:
raise RuntimeError("Ethernet host_mac should not be equal to kvm_mac")
- func_path = join(gadget_path, "functions/ecm.usb0")
+ func_path = join(gadget_path, f"functions/{driver}.usb0")
_mkdir(func_path)
if host_mac:
_write(join(func_path, "host_addr"), host_mac)
if kvm_mac:
_write(join(func_path, "dev_addr"), kvm_mac)
- _symlink(func_path, join(config_path, "ecm.usb0"))
+ _symlink(func_path, join(config_path, f"{driver}.usb0"))
def _create_hid(gadget_path: str, config_path: str, instance: int, hid: Hid) -> None: