TP-Link embeds system event log entries (link up/down, etc.) in
show running-config output. These change every event and cause false-
positive config-change detections. Strip lines matching #YYYY-MM-DD.
- Replace 'switchport general pvid {vlan}' (invalid) with 'switchport pvid {vlan}'
- For access mode: read current untagged VLAN memberships before entering
config mode, then issue 'no switchport general allowed vlan {old_vid}'
for each to avoid leaving the port with two untagged VLANs
- Add native_vlan support for trunk mode via 'switchport pvid {native_vlan}'
- Remove invalid 'switchport mode access/general' commands (not supported
on this switch family)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
get_poe_status()/set_poe() implement PoE port config via the JetStream
CLI's 'power inline' interface sub-commands. get_interfaces() now enriches
LagN entries and their member ports with trunk_group/lag_members/lag_mode
by parsing 'show link-aggregation summary'. New set_lag_members() adds/
removes members via channel-group/no channel-group.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- set_interface(): support enabled (shutdown/no shutdown) and description
- get_snmp_config(): detect "no community entry exists" as not-configured
instead of reporting running=True with no community
- _action_fix_snmp(): use config-mode prompt for in-config commands
(previously timed out waiting for the exec prompt) and return its result
SNMP health metrics using TP-Link enterprise MIB (OID 11863) for
uptime, per-unit CPU utilization, and per-unit memory utilization.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Implement `delete_vlan()`: removes VLAN from switch, automatically
moves untagged (PVID) ports to VLAN 1 before deletion to satisfy
TP-Link's constraint
- Implement `set_vlan()`: creates or updates a VLAN with optional name
- Implement `set_interface()`: configures trunk/access mode and VLAN
membership on a switch interface
- Add `_to_cli_interface()` helper to expand abbreviated port names
(e.g. Gi1/0/1 → gigabitEthernet 1/0/1)
- Import `InterfaceConfigDict` and `VlanConfigDict` from
`napalm_device_types.models`
- Bump `napalm_device_types` dependency to >=0.2.0
- Add TL-SG3210 to tested-device table in README
- Bump version to 0.1.2