From 048ff4fab605a1c6ebf5124fe2adedb81788066e Mon Sep 17 00:00:00 2001 From: l0crian1 Date: Thu, 28 Aug 2025 22:05:54 -0400 Subject: container: T7186: Add macvlan network type for containers - Moved gen_mac function outside of 'for network' loop - Cached result of get_host_identity() to prevent multiple calls - Other minor improvements per Copilot suggestions --- python/vyos/utils/network.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'python') diff --git a/python/vyos/utils/network.py b/python/vyos/utils/network.py index 50f1771e2..e6b838cdc 100644 --- a/python/vyos/utils/network.py +++ b/python/vyos/utils/network.py @@ -68,7 +68,7 @@ def get_host_identity() -> str: host = cmd("hostname").strip().lower() return f"{uuid}:{host}" -def gen_mac(name: str, addr: str) -> str: +def gen_mac(name: str, addr: str, ident: str) -> str: """ Generate a deterministic locally-administered MAC address. @@ -88,7 +88,6 @@ def gen_mac(name: str, addr: str) -> str: Returns: str: Deterministic MAC address in standard "xx:xx:xx:xx:xx:xx" format. """ - ident = get_host_identity() h = hashlib.sha256(f"{ident}:{name}:{addr}".encode()).hexdigest() # 0x02 = locally-administered, unicast b = [0x02] + [int(h[i:i+2], 16) for i in range(0, 10, 2)] # 5 bytes = 40 bits -- cgit v1.2.3