From 3830c5e16af93cb83a5e74f7c09b91576c7c04a8 Mon Sep 17 00:00:00 2001 From: Ram Muthiah Date: Tue, 4 Aug 2026 14:13:28 -0700 Subject: [PATCH] feat(cvd): Inject netsim_args as environment variables into netsimd - Extract NETSIM_NO_WEB_SERVER and NETSIM_GRPC_PORT from passthrough netsim_args and inject them directly as environment variables into netsimd. - Combine all remaining netsim_args into a single space-separated string and inject as the NETSIM_ARGS environment variable. TAG=agy CONV=7e6b7c86-e570-4900-a8f4-683776c7dc60 Assisted-by: Jetski:GeminiNext --- .../commands/run_cvd/launch/netsim_server.cpp | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/base/cvd/cuttlefish/host/commands/run_cvd/launch/netsim_server.cpp b/base/cvd/cuttlefish/host/commands/run_cvd/launch/netsim_server.cpp index ca999c02315..8c322976b8e 100644 --- a/base/cvd/cuttlefish/host/commands/run_cvd/launch/netsim_server.cpp +++ b/base/cvd/cuttlefish/host/commands/run_cvd/launch/netsim_server.cpp @@ -138,9 +138,27 @@ class NetsimServer : public CommandSource { config_.netsim_connector_instance_num() + 1); } - // Add parameters from passthrough option --netsim-args. - for (auto const& arg : config_.netsim_args()) { - netsimd.AddParameter(arg); + // Add parameters from passthrough option --netsim-args as environment + // variables. + std::vector remaining_args; + for (const std::string& arg : config_.netsim_args()) { + if (android::base::StartsWith(arg, "NETSIM_NO_WEB_SERVER") || + android::base::StartsWith(arg, "NETSIM_GRPC_PORT")) { + const std::string::size_type equals_pos = arg.find('='); + if (equals_pos != std::string::npos) { + const std::string env_key = arg.substr(0, equals_pos); + const std::string env_val = arg.substr(equals_pos + 1); + netsimd.AddEnvironmentVariable(env_key, env_val); + } else { + netsimd.AddEnvironmentVariable(arg, "1"); + } + } else { + remaining_args.push_back(arg); + } + } + if (!remaining_args.empty()) { + netsimd.AddEnvironmentVariable("NETSIM_ARGS", + android::base::Join(remaining_args, " ")); } // Add command for forwarding the HCI port to a vsock server.