diff --git a/napalm_device_types/access_point.py b/napalm_device_types/access_point.py index 5dab406..1c6c066 100644 --- a/napalm_device_types/access_point.py +++ b/napalm_device_types/access_point.py @@ -69,12 +69,13 @@ class AccessPointDriver(DeviceTypeDriver): and not name.startswith(self._EXCLUDED_INTERFACE_PREFIXES) } - # get_wireless_clients, get_ssids, get_radio_status are intentionally NOT - # defined here. AccessPointDriver sits before mixin classes in the MRO of - # concrete drivers (e.g. OpenWrtDriver(AccessPointDriver, ..., WirelessMixin)). - # Any definition in AccessPointDriver — even `raise NotImplementedError` — - # would shadow the concrete mixin implementation. Leaving them absent forces - # Python to continue the MRO search and find the mixin version. + # AP-specific methods (get_wireless_clients, get_ssids, get_radio_status, + # get_interfaces, get_vlans, …) are intentionally NOT defined here. + # AccessPointDriver sits AFTER the mixin classes in the MRO of concrete + # drivers (e.g. OpenWrtDriver(InterfaceMixin, VlanMixin, …, AccessPointDriver)). + # NetworkDriver (a parent of AccessPointDriver) raises NotImplementedError for + # all standard NAPALM methods, so AccessPointDriver must come LAST to avoid + # shadowing the mixin implementations. def get_wireless_config(self) -> WirelessConfigDict: """