summaryrefslogtreecommitdiffstats
path: root/loader2/loader.c
diff options
context:
space:
mode:
Diffstat (limited to 'loader2/loader.c')
-rw-r--r--loader2/loader.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/loader2/loader.c b/loader2/loader.c
index 9ad654872..2b20ac774 100644
--- a/loader2/loader.c
+++ b/loader2/loader.c
@@ -1149,7 +1149,9 @@ static char *doLoaderMain(char * location,
strcpy(netDev.dev.device, devName);
/* fall through to ip config */
- case STEP_IP:
+ case STEP_IP: {
+ int query = !strncmp(loaderData->ip, "query", 5);
+
if (!needsNetwork) {
step = STEP_METHOD; /* only hit going back */
break;
@@ -1157,12 +1159,12 @@ static char *doLoaderMain(char * location,
logMessage(INFO, "going to do getNetConfig");
- if (FL_NOIPV4(flags) || (!FL_IP_PARAM(flags) && !FL_KICKSTART(flags)))
+ if (query || FL_NOIPV4(flags) || (!FL_IP_PARAM(flags) && !FL_KICKSTART(flags)))
loaderData->ipinfo_set = 0;
else
loaderData->ipinfo_set = 1;
- if (FL_NOIPV6(flags) || (!FL_IPV6_PARAM(flags) && !FL_KICKSTART(flags)))
+ if (query || FL_NOIPV6(flags) || (!FL_IPV6_PARAM(flags) && !FL_KICKSTART(flags)))
loaderData->ipv6info_set = 0;
else
loaderData->ipv6info_set = 1;
@@ -1173,7 +1175,7 @@ static char *doLoaderMain(char * location,
}
setupNetworkDeviceConfig(&netDev, loaderData);
- rc = readNetConfig(devName, &netDev, loaderData->netCls, methodNum);
+ rc = readNetConfig(devName, &netDev, loaderData->netCls, methodNum, query);
if ((rc == LOADER_NOOP) && (netDev.preset == 0)) {
loaderData->ipinfo_set = 0;
loaderData->ipv6info_set = 0;
@@ -1189,6 +1191,7 @@ static char *doLoaderMain(char * location,
writeNetInfo("/tmp/netinfo", &netDev);
step = STEP_URL;
dir = 1;
+ }
case STEP_URL:
logMessage(INFO, "starting to STEP_URL");