summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Mangin <thomas.mangin@exa.net.uk>2020-03-28 15:02:38 +0000
committerThomas Mangin <thomas.mangin@exa.net.uk>2020-03-28 15:02:38 +0000
commit6a13bd7e89566b76f6c7daf09160f697c2af4df1 (patch)
treeea540b08dc630bf2efb01c2b50b54a1deb69fb63
parent792c00a018d0b237996e60845edf8ad970c4afbb (diff)
downloadvyos-1x-6a13bd7e89566b76f6c7daf09160f697c2af4df1.tar.gz
vyos-1x-6a13bd7e89566b76f6c7daf09160f697c2af4df1.zip
ifconfig: T2057: correctly provide the reason why a MAC could not be set
-rw-r--r--python/vyos/validate.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/python/vyos/validate.py b/python/vyos/validate.py
index 48a18642b..0e6d34e7e 100644
--- a/python/vyos/validate.py
+++ b/python/vyos/validate.py
@@ -204,11 +204,19 @@ def assert_mtu(mtu, min=68, max=9000):
def assert_mac(m):
- octets = [int(i, 16) for i in m.split(':')]
+ split = m.split(':')
+ size = len(split)
# a mac address consits out of 6 octets
- if len(octets) != 6:
- raise ValueError(f'wrong number of MAC octets: {octets}')
+ if size != 6:
+ raise ValueError(f'wrong number of MAC octets ({size}): {m}')
+
+ octets = []
+ try:
+ for octet in split:
+ octets.append(int(octet, 16))
+ except ValueError:
+ raise ValueError(f'invalid hex number "{octet}" in : {m}')
# validate against the first mac address byte if it's a multicast
# address