node-uplink links answers each link's mac, master and parent (issue 1965) #669

Merged
mesh-tools merged 1 commits from fix/1965-links-mac into main 2026-11-12 16:35:37 +00:00
Member

Issue 1965, subtask S1 (the quick fix, playbook 08): a hosting provider's MAC report could not be traced because node-uplink.links named no MAC, bridge or parent for any link.

Builds design 48 §10 and design 08's code:, with the lead's answers L1-L6 (issue 1965 note 11). Both holders' copies of cmd/uplink-tools (systemd-networkd, networkmanager) gain mac, master and parent from the ip -j address show call they already make; a parent in another network namespace is answered as {index, namespace}. module.json and seat.json are untouched.

Acceptance 1965/AC1-AC7 (issue 1965 note 12); AC7 is proven live on novox after the delivery.

Quick fix (this): three fields, one repository. Thorough fix: a link-changed event, a stream with retention and links taking since; waits research 080.

Tests: TestTheLinksCarryTheirDefaultRouteAndTheirNames extended in both copies (fails without the change); the copies test holds. Unit tests 10 of 500 per module, 0 of 50 integration.

Reviewed-by: mesh-code-reviewer@shanks at 700b37890b

Issue 1965, subtask S1 (the quick fix, playbook 08): a hosting provider's MAC report could not be traced because `node-uplink.links` named no MAC, bridge or parent for any link. Builds design 48 §10 and design 08's `code:`, with the lead's answers L1-L6 (issue 1965 note 11). Both holders' copies of `cmd/uplink-tools` (systemd-networkd, networkmanager) gain `mac`, `master` and `parent` from the `ip -j address show` call they already make; a parent in another network namespace is answered as `{index, namespace}`. module.json and seat.json are untouched. Acceptance 1965/AC1-AC7 (issue 1965 note 12); AC7 is proven live on novox after the delivery. Quick fix (this): three fields, one repository. Thorough fix: a link-changed event, a stream with retention and `links` taking `since`; waits research 080. Tests: `TestTheLinksCarryTheirDefaultRouteAndTheirNames` extended in both copies (fails without the change); the copies test holds. Unit tests 10 of 500 per module, 0 of 50 integration. Reviewed-by: mesh-code-reviewer@shanks at 700b37890bfda5be810501a78c6e1d54beed99b9
mesh-tools added 1 commit 2026-11-12 16:34:44 +00:00
node-uplink links answers each link's mac, master and parent (S1a links-mac, issue 1965)
mesh/delivery merged: source.main moved to novox/mesh-catalog@0ec8347786f4
mesh/check checking 700b37890bfd on 0ec8347786f4
700b37890b
Both holders' uplink-tools copies read address, master, link and
link_index/link_netnsid from the existing ip -j address show call. Fields
are left out where a link has none (L3); a parent in another namespace is
{index, namespace} (L2); the form lives in uplink.go only (L4); only the
tool description changes, not seat.json (L5); bridge fdb MACs are not
answered (L6); names mac, master, parent (L1).

Builds: design 48 10, design 08 code:, issue 1965 note 11 L1-L6
Author
Member

Delivery novox/mesh-catalog@700b37890bfd — merged since 2026-11-12T16:35:40Z

Source — source.main moved to novox/mesh-catalog@0ec8347786. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.

Transitions

  • 2026-11-12 16:34 (new) → proposed (announced): novox/mesh-catalog#669's head announced
  • 2026-11-12 16:34 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
  • 2026-11-12 16:35 ready → merged (merged): on the trunk its modules follow: merged there

The commit's note under refs/notes/mesh-plan keeps every transition of this change up to its merge: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-catalog@700b37890bfd` — **merged** since 2026-11-12T16:35:40Z **Source** — source.main moved to novox/mesh-catalog@0ec8347786f4. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Transitions** - 2026-11-12 16:34 (new) → proposed (announced): novox/mesh-catalog#669's head announced - 2026-11-12 16:34 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false) - 2026-11-12 16:35 ready → merged (merged): on the trunk its modules follow: merged there The commit's note under `refs/notes/mesh-plan` keeps every transition of this change up to its merge: `git log --notes=mesh-plan`.
mesh-tools merged commit 0ec8347786 into main 2026-11-12 16:35:37 +00:00
mesh-tools deleted branch fix/1965-links-mac 2026-11-12 16:35:37 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-catalog#669