Skip to content

M2.14 GOOSE: preserve verified SCL VLAN and timing in Browser details - #596

Closed
masarray wants to merge 7 commits into
fix/m214-browser-files-bundle-grid-20261016from
fix/m214-browser-goose-scl-network-fidelity-20261016
Closed

masarray wants to merge 7 commits into
fix/m214-browser-files-bundle-grid-20261016from
fix/m214-browser-goose-scl-network-fidelity-20261016

Conversation

@masarray

Copy link
Copy Markdown
Owner

Verified missing projection

The existing exact-bound SclGooseStream contains configured VLAN ID, VLAN priority, minimum and maximum retransmission time. Browser GoCB projected AppID/MAC, but unconditionally displayed VLAN as Not read without a subscriber frame and omitted SCL min/max. This obscured valid configuration metadata on the selected IED.

Narrow consumer patch

  • Extend the existing IedBrowserGooseExpectedIdentity with optional metadata from the already exact-matched and conflict-checked SCL GSE stream.
  • Reuse one pure SclNetworkProperties projection for VLAN ID/priority and min/max time. Zero is a valid configured scalar; absence stays absent.
  • The existing passive Ethernet subscriber remains the sole live frame authority, and its exact matched frame overrides configured VLAN fields when received. Configuration values are explicitly marked as SCL, not current MMS state or received frame evidence.
  • No changes to GoEna, write/GI/arming/subscriber starts, protocol client, ARIEC pin or main.
  • Add exact positive/negative regression for SCL network property projection and non-fabrication.

Stacked on #595. CI exact SHA and BCUGE field acceptance required; remain draft.

Copy link
Copy Markdown
Owner Author

Reconciliation D4 — full semantic SCL GoCB metadata parity (2026-10-26)

Disposition: A — historically superseded, safely close unmerged after comparing all three PR files and current test assertions.

Canonical replacement: integrated protected draft RC at 817c3910e8223fa2ac531a4426ada5d2d4bbbe50 (#727 / #729). Original head 5bf72735c85857d6fc5b6559d1f64845af720615 is exact ancestor, old→RC ahead 1281 / behind 0, merge-base equals old head. Do not merge obsolete diff or assume ancestry alone proves parity.

Unique source/test proof:

  • Models/IedBrowserGooseInspection.cs: historical blob f3178dd6446514a7f0a0a97ecf94a376bb04b747 → RC 2466778726d589b3e67617ad25874779f7f259a7. Original SclNetworkProperties full method remains byte-for-byte identical: up to 4 verified optional values (VLAN ID/priority and minimum/maximum timing), invariant string formatting; no fabricated live GoEna, capture or q. RC adds received-PDU TTL/identity safety, separate from metadata.
  • MainWindow.IedBrowser.cs: historic 3cfff7f850c1aed1ae3c7c6d078aaf41755439cd → RC 21a0551413a5437a562c463f011204868aab7b3e. Original exact loop foreach ... SclNetworkProperties(identity) and provenance labels Source SCL GSEControl vs Source SCL GSE address remain unchanged, as do explicit Not read VLAN statuses. New RC TTL admission reduces stale-wire claims.
  • tests/ARSAS.Tests/IedBrowserGooseInspectionTests.cs: original feccae4fdca4c93523db053f69fbf8817cce438b → RC 70148c3f8b515d0dd5ef7cf0f7e63a067d1cb9d2; every original test method and assert line remains intact including all 4 SCL metadata values, empty optional address, exact one-publisher/GOOSE identity and entire ordered-member fail-closed cases. RC adds TTL/provenance regression coverage.

Safety: This is historical PR closure only, no main/stable/engine changes, no field GOOSE publisher acceptance. Exact-head #753 Windows app regression, pinned engine and SCL package now CI success; physical GOOSE wire/same-host Npcap qualification remains separate. Original historic source retained.

Follow-up: #753 GOOSE unbound vector current-tree corrective PR stays DRAFT and #606 stays OPEN; do not confuse SCL static VLAN/timing metadata with verified received GOOSE frames, connected GoEna, physical interop, or release authorization.

@masarray masarray closed this Oct 26, 2026
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