diff --git a/napalm_procurve/api_client.py b/napalm_procurve/api_client.py index 015f380..63211f6 100644 --- a/napalm_procurve/api_client.py +++ b/napalm_procurve/api_client.py @@ -13,6 +13,7 @@ from typing import Any, Dict, Optional, Tuple import requests import urllib3 +from napalm.base import helpers as napalm_helpers from napalm.base.exceptions import ConnectionException, ConnectAuthError logger = logging.getLogger("napalm_procurve.api") @@ -366,9 +367,14 @@ class ProcurveApiClient: mac_data = self.get("mac-table") table = [] for entry in mac_data.get("mac_table_entry_element", []): + raw_mac = entry.get("mac_address", "") + try: + mac = napalm_helpers.mac(raw_mac) + except Exception: + mac = raw_mac table.append( { - "mac": entry.get("mac_address", ""), + "mac": mac, "interface": entry.get("port_id", ""), "vlan": int(entry.get("vlan_id", 0)), "static": entry.get("mac_addr_type", "").lower() == "static",