testimage: respect target/server IPs when using slirp

We can't hardcode these IPs when using slirp.

The target IP will need a port to be specified as this controls what port
the SSH connection uses, and when slirp is used it can't bind to port
22. The qemu runner (OEQemuTarget) assumes that the first port forward
is the SSH forward, but this may be wrong or a different target may be
used.

The server IP depends on how the virtual networking is configured.
runqemu defaults to 10.0.2.x for the guests so that is a wise default,
but that may be configured differently.

(From OE-Core rev: 81b304e2558730de285f2773371340fc636a8ed1)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2023-09-13 18:32:41 +01:00
committed by Richard Purdie
parent a736cd179d
commit a96f735ff9

View File

@@ -370,9 +370,12 @@ def testimage_main(d):
export_proxies(d)
if slirp:
target_ip = "127.0.0.1"
# from qemu target to host with default DHCP server
server_ip = "10.0.2.2"
# Default to 127.0.0.1 and let the runner identify the port forwarding
# (as OEQemuTarget does), but allow overriding.
target_ip = d.getVar("TEST_TARGET_IP") or "127.0.0.1"
# Default to 10.0.2.2 as this is the IP that the guest has with the
# default qemu slirp networking configuration, but allow overriding.
server_ip = d.getVar("TEST_SERVER_IP") or "10.0.2.2"
else:
target_ip = d.getVar("TEST_TARGET_IP")
server_ip = d.getVar("TEST_SERVER_IP")