mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-11-03 14:01:15 +02:00
test(e2e): assert the §E.2 idle-silence window in every kernel scenario
The L2-anchor spec's behavioral guarantee — an idle link stays silent for 5 s once the enslavement burst settles — only ran in the Dynamips and Docker suites. It now also runs in QEMU, IOU, the IOL container, the switch fast path and the switch cascade, which covers every host-device creation path: * tap create (Dynamips/QEMU/IOU anchors), docker create_veth (Docker host ends; the cascade's race-loser end is hardened after create by the server), bridge add_nio_tap (the IOL container anchor, the fifth creator), and the brctl switch bridges, whose multicast snooping is off precisely so the bridge role can reach silence; * each scenario silences its guests first (IOS interfaces shut through the console; Docker guests' links down) and re-verifies the ping after; * the cascade measures 8 devices at once (four absorbed router anchors, both cascade ends, both switch bridges). IOL 158 s, cascade 293 s, ESW fast path 378 s, QEMU 428 s, IOU 308 s — all green.
This commit is contained in:
11 files changed
+166
-16
No files matched your search
@@ -224,8 +224,16 @@ is hardened like the rest — best-effort, before the NIO is handed back.
|
||||
assertion is what exercises the fifth creator end-to-end (the same
|
||||
uBridge creation path cloud's transient TAPs take);
|
||||
- an idle link stays silent for 5 s after the settle window
|
||||
(`assert_idle_silence`, §E.2) — measured with the guest interfaces shut
|
||||
(silencing IOS's own CDP/keepalives) over the anchors and the bridge;
|
||||
(`assert_idle_silence`, §E.2) — measured with the guests silenced (the
|
||||
IOS consoles' interfaces shut, the Docker guests' links down, all four
|
||||
cascade routers shut) over the anchors, the per-link bridge and the
|
||||
switch bridges, in every kernel scenario: Dynamips, Docker, QEMU, IOU,
|
||||
the IOL container, the switch fast path and the switch cascade. That
|
||||
covers each creation
|
||||
path — `tap create`, `docker create_veth` (plus the server-side
|
||||
harden-after-create on the cascade's race-loser end), `bridge
|
||||
add_nio_tap` and the `brctl` switch bridges (whose multicast snooping
|
||||
is off precisely so the bridge role can reach silence);
|
||||
- a silent-failure guard found while validating this spec: after attach, every
|
||||
bridge port reports `brport/state == 3` (forwarding) (`assert_forwarding`).
|
||||
A bridge device left DOWN keeps its ports `DISABLED` (`state == 0`) and
|
||||
|
||||
Reference in new issue
Block a user