summaryrefslogtreecommitdiff
path: root/kvmd
diff options
context:
space:
mode:
authorDevaev Maxim <[email protected]>2020-09-30 07:49:58 +0300
committerDevaev Maxim <[email protected]>2020-09-30 07:49:58 +0300
commit1b62570466804a2fe0a21bbdccd7a289c8974496 (patch)
tree2c9b820746ef24fc2552e909e17a3822466c9ad4 /kvmd
parent630593492abe6f7d6edf15ee05e62e7d0489e36d (diff)
optional host_mac and kvm_mac
Diffstat (limited to 'kvmd')
-rw-r--r--kvmd/apps/__init__.py4
-rw-r--r--kvmd/apps/otg/__init__.py8
2 files changed, 7 insertions, 5 deletions
diff --git a/kvmd/apps/__init__.py b/kvmd/apps/__init__.py
index 2473fa72..149782c4 100644
--- a/kvmd/apps/__init__.py
+++ b/kvmd/apps/__init__.py
@@ -404,8 +404,8 @@ def _get_config_scheme() -> Dict:
"ethernet": {
"enabled": Option(False, type=valid_bool),
- "host_mac": Option("", type=valid_mac, only_if="enabled"),
- "kvm_mac": Option("", type=valid_mac, only_if="enabled"),
+ "host_mac": Option("", type=(lambda arg: (valid_mac(arg) if arg else ""))),
+ "kvm_mac": Option("", type=(lambda arg: (valid_mac(arg) if arg else ""))),
},
"drives": {
diff --git a/kvmd/apps/otg/__init__.py b/kvmd/apps/otg/__init__.py
index 85db4b9d..6b98dc81 100644
--- a/kvmd/apps/otg/__init__.py
+++ b/kvmd/apps/otg/__init__.py
@@ -112,12 +112,14 @@ def _create_serial(gadget_path: str, config_path: str) -> None:
def _create_ethernet(gadget_path: str, config_path: str, host_mac: str, kvm_mac: str) -> None:
- if host_mac == kvm_mac:
+ 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")
_mkdir(func_path)
- _write(join(func_path, "host_addr"), host_mac)
- _write(join(func_path, "dev_addr"), kvm_mac)
+ 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"))