mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-10-13 05:55:35 +03:00
Two real iol-xe containers (Cisco CML iol-runner images, real IOS-XE on the telnet console) against an isolated instance, the real uBridge with the swappable bridge TAP leg: * kernel link reports kernel_datapath; anchors exist from node start and the per-link bridge enslaves exactly the two of them; * real ICMP crosses the [unix <-> tap] port-bridge relay; delay 100 lands as netem on both anchors with the measured RTT growing >= 150 ms and returning < 50 ms when cleared; * suspend admin-downs the anchor and kills the traffic; resume restores; AF_PACKET capture writes a real pcap; * link delete/re-create swaps the port leg out and back in with the ping returning; node stop leaves no gx devices and a start recreates the whole wiring from the NIO; project delete cleans everything; * the relay control on a relay-configured instance keeps the link off the kernel and still pings (anchors may exist idle — the same semantics as QEMU's and Dynamips' anchors: the server flag decides attachment, not anchor birth). Harness: create_iol_router (the appliance's template properties), docker_images, iol_anchor_name, stage_iol_base_config (the shipped iol-xe-base.txt copied into the isolated instance's configs dir — the GNS3_IOL_STARTUP_CONFIG lookup path), boot_wait(straight_prompt=True) for images that boot from NVRAM straight into the CLI with no 'Press RETURN' sentinel, and GNS3_E2E_DEBUG=1 to run the isolated instance with debug logging (the uBridge command stream lands in server.log — how the ensure-anchor EBUSY was pinned down).