Feature
- The DUT destination port is now optional with a session-random default. Leave
--dut-port(or the GUI's Destination port field, which showsrandom) unset and a single random ephemeral port (IANA dynamic range) is chosen and reused for the whole session; set it and every port-specific test targets exactly that port.config.DUTConfig.target_portis nowint | None;random_ephemeral_port()added.- The session-scoped
dut_configfixture resolves an unset--dut-portexactly once. - The CLI echoes the chosen port at startup; the GUI logs it on the first run that picks it.
src/runner.pypasses--dut-portonly when set.
Builds on v0.2.0 (--dut-source-port, and the Custom Packet panel layout fix for maximized windows).
Full changelog: v0.2.0...v0.3.0