summaryrefslogtreecommitdiff
path: root/ironic_python_agent/netutils.py
diff options
context:
space:
mode:
authorMoshe Levi <moshele@mellanox.com>2018-03-05 10:24:36 +0200
committerMoshe Levi <moshele@mellanox.com>2018-03-11 12:50:08 +0200
commit7631902ec76140aa00b2cbdee10d4a7a0d77d8cf (patch)
tree2d1015f98152de0c705ef0c58555145b8a6cba94 /ironic_python_agent/netutils.py
parentcfbc3a5527a8c4f12997796fc8f1c2426200339f (diff)
downloadironic-python-agent-7631902ec76140aa00b2cbdee10d4a7a0d77d8cf.tar.gz
mlnx hardware_manager: get mac address using netifaces
Change-Id: I62e4ca6afb0f8a256ddf9bbc48225fbb96f9e817
Diffstat (limited to 'ironic_python_agent/netutils.py')
-rw-r--r--ironic_python_agent/netutils.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/ironic_python_agent/netutils.py b/ironic_python_agent/netutils.py
index 5d38548d..9af4e04b 100644
--- a/ironic_python_agent/netutils.py
+++ b/ironic_python_agent/netutils.py
@@ -212,6 +212,15 @@ def get_ipv4_addr(interface_id):
return None
+def get_mac_addr(interface_id):
+ try:
+ addrs = netifaces.ifaddresses(interface_id)
+ return addrs[netifaces.AF_LINK][0]['addr']
+ except (ValueError, IndexError, KeyError):
+ # No mac address found
+ return None
+
+
def interface_has_carrier(interface_name):
path = '/sys/class/net/{}/carrier'.format(interface_name)
try: