diff mbox series

testimage: respect target/server IPs when using slirp

Message ID 20230913173241.1253965-1-ross.burton@arm.com
State Accepted, archived
Commit 81b304e2558730de285f2773371340fc636a8ed1
Headers show
Series testimage: respect target/server IPs when using slirp | expand

Commit Message

Ross Burton Sept. 13, 2023, 5:32 p.m. UTC
From: Ross Burton <ross.burton@arm.com>

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.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/classes-recipe/testimage.bbclass | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/meta/classes-recipe/testimage.bbclass b/meta/classes-recipe/testimage.bbclass
index 73409967887..8a944f58098 100644
--- a/meta/classes-recipe/testimage.bbclass
+++ b/meta/classes-recipe/testimage.bbclass
@@ -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")