From ee69ec8da9477a798a3ec27b59c95be7444b9df9 Mon Sep 17 00:00:00 2001 From: Christian Manivong Date: Thu, 25 Jun 2026 13:48:25 +0200 Subject: [PATCH] fix: mixin classes must precede AccessPointDriver in OpenWrtDriver MRO MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit NetworkDriver (parent of AccessPointDriver) raises NotImplementedError for all standard NAPALM methods. With AccessPointDriver listed first, get_interfaces() and get_vlans() from the mixins were shadowed and always raised NotImplementedError (empty message) — causing all AP polls to report 0 interfaces and 0 VLANs. Fix: reorder inheritance so mixins come before AccessPointDriver. The standard NAPALM method stubs in NetworkDriver are now shadowed by the mixin implementations. Co-Authored-By: Claude Sonnet 4.6 --- napalm_openwrt/openwrt.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/napalm_openwrt/openwrt.py b/napalm_openwrt/openwrt.py index 33a75d5..9c1fcc2 100644 --- a/napalm_openwrt/openwrt.py +++ b/napalm_openwrt/openwrt.py @@ -44,15 +44,15 @@ from napalm_openwrt.routing_mixin import OpenWrtRoutingMixin class OpenWrtDriver( - AccessPointDriver, OpenWrtInterfaceMixin, + OpenWrtVLANMixin, OpenWrtWirelessMixin, OpenWrtLLDPMixin, - OpenWrtVLANMixin, OpenWrtConfigMixin, OpenWrtSystemMixin, OpenWrtPackageMixin, OpenWrtRoutingMixin, + AccessPointDriver, ): """NAPALM driver for OpenWrt routers and access-points."""