Skip to content

wire: SSH read side for get_lldp_neighbors(_detail) via parser: sections (#333, #334) - #390

Draft
AdamRickards wants to merge 1 commit into
mainfrom
review/333-334-lldp-ssh
Draft

AdamRickards wants to merge 1 commit into
mainfrom
review/333-334-lldp-ssh

Conversation

@AdamRickards

Copy link
Copy Markdown
Owner

Draft for sidecar live proof; do not merge.

Wires the SSH read side of get_lldp_neighbors / get_lldp_neighbors_detail (#333, #334) to show lldp remote-data through the existing parser: sections (_parse_sections in ssh_driver.py, dispatched since the first commit, not referenced by any wire YAML on main).

11 of 14 detail attributes get an SSH source: local_port (section key), port_id, chassis_id, sys_name, sys_description, port_description (wire/ssh/lldp.yaml); pvid (new wire/ssh/lldp-ext-dot1.yaml); mau_type, aggregation_port_id, autoneg_supported, autoneg_enabled (new wire/ssh/lldp-ext-dot3.yaml). Overlays are split per base wire file because load_wire() merges an overlay per source: feature.

Deliberately not wired (noted in wire + schema comments): sys_capabilities, sys_enabled_capabilities, aggregation_enabled.

Offline (tested): pytest, ci_offline, floors board check pass; offline_gold_matrix shows no new mismatch (2 known on main).

Live (untested, pending): sidecar get_lldp_neighbors.read and get_lldp_neighbors_detail.read mops/snmp/ssh on this head vs main: row counts and per-attribute SSH vs SNMP values.

Wire + schema YAML (comment) only; no Engine files.

Related #333 #334

…ons (#333, #334)

Wires "show lldp remote-data" to the existing SSH sections parser
(_parse_sections in ssh_driver.py), which no wire YAML referenced
before. Default section header/key extraction is used unchanged.

11 of 14 get_lldp_neighbors_detail attributes get an SSH source:
local_port (section key), port_id, chassis_id, sys_name,
sys_description, port_description (wire/ssh/lldp.yaml), pvid
(new wire/ssh/lldp-ext-dot1.yaml), mau_type, aggregation_port_id,
autoneg_supported, autoneg_enabled (new wire/ssh/lldp-ext-dot3.yaml).
Overlays are split per base wire file because load_wire() merges an
overlay by the attribute's source: feature.

port_id/chassis_id use regex + case: lower; mau_type strips the
annotation with regex; autoneg supported/enabled are two regexes on one
CLI field. Declarative YAML only (existing regex:/case: hints).

Deliberately not wired, noted in wire and schema comments:
sys_capabilities, sys_enabled_capabilities (no field in this command's
output) and aggregation_enabled (only one text phrase observed; the
value_map would be guessed).

Wire + schema YAML (comment) only; no Engine files.
Live sidecar proof: untested (pending). Draft; do not merge.

Related #333 #334
@AdamRickards

Copy link
Copy Markdown
Owner Author

Sidecar live proof + claims review for head 1a77042: #333 (comment) (same on #334: #334 (comment))

Verdict: partial. SSH goes from 0 to 7 rows on both methods; 9 of 11 wired attributes match SNMP 7/7, and port_id and pvid match 6/7. The 3 attributes left unwired are sys_capabilities, sys_enabled_capabilities and aggregation_enabled.

Draft; do not merge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant