10 Commits

Author SHA1 Message Date
Sam Lewis
9b98e260d1 added more images 2026-03-09 10:47:17 -07:00
sam
71eba349b8 Add IOS-XR interface naming support to cisco-parse.py
- Add TenGigE, HundredGigE, FortyGigE, GigE, Bundle-Ether
  to the short-name expansion map
- Add cross-platform matching fallback: when remPortId expands
  to an IOS-XE name but the target is IOS-XR (or vice versa),
  try the alternate naming convention
- Handles NCS 5500 where ifDescr uses TenGigE0/0/0/5 format
  vs IOS-XE TenGigabitEthernet1/1/3

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 11:06:23 -07:00
sam
c64a80810f Add LLDP neighbor device polling (Cisco C3850 support)
Follow the LLDP breadcrumb back to the connected router/switch:
- New cisco-parse.py: standalone parser for Cisco SNMP walk data
  with interface matching, subinterface/SVI discovery, BDI/BVI
  correlation, and optics extraction
- New /api/neighbor-walk and /api/neighbor-data endpoints
- "Poll Neighbor" button in LLDP topology cards
- Connected Neighbor Devices card showing interface status,
  counters, SVIs, and subinterface mappings
- Platform-aware: handles IOS-XE (SVIs) and IOS-XR (subinterfaces)
- Tested against lab C3850-04 (172.16.50.4) — 4,288 OIDs in 1.1s

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 10:48:44 -07:00
sam
bcb179e7e4 Fix TruthValue handling for different firmware versions
Some Accedian firmware reports SNMP TruthValue fields as '1'/'2'
(INTEGER) while others use 'true'/'false' (textual). Add isTrue()
helper that accepts both formats and replace all 15+ boolean checks
across the viewer (present, diagCapable, active, enabled, filter
enable flags, etc).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 08:30:36 -07:00
Sam Lewis
4daf26b778 Added walks folder 2026-03-06 08:22:22 -07:00
Sam Lewis
09a2db7373 added images 2026-03-06 08:02:33 -07:00
sam
df8c74627b Dynamic port rendering for multi-port NID devices
Replace hardcoded 4-port loops in renderPanel(), renderSfp(), and
renderLldp() with dynamic iteration over connectors data. Devices
like the AMO-10000-LT-S with more than 4 ports now render all
ports automatically. Management port detected by connector name.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 19:45:34 -07:00
sam
d6bf394297 Add optional policy MIB toggle and pre-walk ping check
- Add SNMP_WALK_POLICIES env var and UI checkbox to skip ACD-POLICY-MIB
  (~73% of all OIDs), cutting walk time from ~25s to ~11s
- Add /api/ping endpoint with reachability check before walk starts
- Show "NID Management is UP" (green) or "NID is DOWN" (red) status
- Block walk if target is unreachable

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 10:02:52 -07:00
sam
2b10edbb7b Add live SNMP walk server, UI controls, and viewer enhancements
- Add nid-server.py: Python web server (stdlib) with live walk API,
  SSE progress streaming, and clear/archive endpoints
- Add snmp-walk.sh: CLI wrapper for walk pipeline with .env config
- Add walk control card to viewer UI with IP input, mode selector,
  walk/clear buttons, and real-time progress bar
- Make cards collapsible, add management IP to header
- Add dynamic port type rendering (SFP vs RJ45 from connector table)
- Add SFF-8024 connector type labels for SFP detail cards
- Fix ifOperStatus numeric vs text comparisons for live walk data
- Add alarm config-only fallback when device lacks status table
- Use snmpbulkwalk for faster walks with parallel subtree execution
- Add .env/.env.example for secrets and config, gitignore walks/

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 15:20:27 -07:00
sam
dfdbd85bf7 Initial commit: SNMP NID Viewer toolkit
SNMP walk parser (snmp-parse.py) with MIB resolution, structured LLDP
neighbor extraction, IP address parsing, and comprehensive table
reconstruction for Accedian AMN-1000-GT-S NIDs.

HTML viewer generator (build_nid_viewer.py) with dark-themed dashboard
including LLDP topology diagram, SFP optics, traffic stats, alarms,
port config, coverage matrix, and policy/filter/regulator sections.

Includes 15 Accedian MIB files and sample walk data from 10.13.60.102.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 10:11:23 -07:00