Part of the forward-compatible Device interfaces refactor.
Design: https://gist.github.com/elitegreg/e1d27c97034656a980fa8d7628ae16c5
Depends on #3660 (SDK readers).
Scope
Update the fixture generator and add two new fixtures that exercise the SDK fallback and forward-compat-skip paths.
Tasks
Tests
Part of the forward-compatible Device interfaces refactor.
Design: https://gist.github.com/elitegreg/e1d27c97034656a980fa8d7628ae16c5
Depends on #3660 (SDK readers).
Scope
Update the fixture generator and add two new fixtures that exercise the SDK fallback and forward-compat-skip paths.
Tasks
sdk/serviceability/testdata/fixtures/generate-fixtures/src/main.rs:generate_deviceto populatenew_interfaceswith two new-format entries (one Loopback Vpnv4 with aFlexAlgoNodeSegment, one Physical withuser_tunnel_endpoint=true). Leave legacyinterfaces: Vec::new()since the serializer rebuilds it.meta.fieldsin the JSON sidecar to reflect the new on-disk shape.device_legacy.bin/device_legacy.json: hand-serialized device with only the legacy vec populated and no trailing bytes. Exercises the SDK legacy-fallback path.device_future_version.bin/device_future_version.json: likedevice.binbut with one new-vec element doctored toversion=5andsize += Nplus N trailing junk bytes after the known fields. Exercises the SDK skip-to-end path.make generate-fixtures.Tests
device_legacy.bin(fallback path) anddevice_future_version.bin(skip path).