diff --git a/napalm_tplink_jetstream/tplink_jetstream.py b/napalm_tplink_jetstream/tplink_jetstream.py index 39264a4..f5cb12b 100644 --- a/napalm_tplink_jetstream/tplink_jetstream.py +++ b/napalm_tplink_jetstream/tplink_jetstream.py @@ -522,6 +522,19 @@ class TPLinkJetstreamDriver(ConfigLifecycleMixin, SwitchDriver): return interfaces_ip + @staticmethod + def _strip_event_log(config: str) -> str: + """Remove timestamped event-log lines from config output. + + TP-Link Jetstream embeds system event log entries in ``show running-config`` + output as lines like ``#2026-06-29 14:58:50,[Link]/5/Gi1/0/4 changed state``. + These lines are volatile and cause false-positive config-change events in + the config-backup feature. Strip them to keep the diff meaningful. + """ + import re + + return re.sub(r"^#\d{4}-\d{2}-\d{2} .*\n?", "", config, flags=re.MULTILINE) + def get_config( self, retrieve: str = "all", @@ -537,10 +550,10 @@ class TPLinkJetstreamDriver(ConfigLifecycleMixin, SwitchDriver): configs = {"running": "", "startup": "", "candidate": ""} if retrieve in ("all", "running"): - configs["running"] = self._send_command("show running-config") + configs["running"] = self._strip_event_log(self._send_command("show running-config")) if retrieve in ("all", "startup"): - configs["startup"] = self._send_command("show startup-config") + configs["startup"] = self._strip_event_log(self._send_command("show startup-config")) if sanitized: configs = napalm_helpers.sanitize_configs(configs, C.CISCO_SANITIZE_FILTERS)