summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog11
-rw-r--r--loader2/net.c27
-rw-r--r--loader2/net.h1
3 files changed, 28 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index 5ef8a0c27..8c6dd3904 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2006-06-30 David Cantrell <dcantrell@redhat.com>
+
+ * loader2/net.c (setupInterface): Removed and moved those two lines to
+ the calling function (configureNetwork).
+
+ * loader2/net.c (readNetConfig): Spelling error fix. Calculate IPv4
+ broadcast if user did a static IP config, close any possibly open
+ dhcp_nic handle if doing a static IP config.
+
+ * loader2/net.h: Removed setupInterface prototype.
+
2006-06-30 Jeremy Katz <katzj@redhat.com>
* partitions.py (Partitions.sanityCheckAllRequests): Don't allow
diff --git a/loader2/net.c b/loader2/net.c
index 6b7596459..3c41a52b3 100644
--- a/loader2/net.c
+++ b/loader2/net.c
@@ -524,7 +524,7 @@ int readNetConfig(char * device, struct networkDeviceConfig * cfg,
struct networkDeviceConfig newCfg;
struct intfconfig_s c;
int i;
- struct in_addr addr;
+ struct in_addr addr, nm;
struct in6_addr addr6;
char dhcpChoice;
char *dret = NULL;
@@ -561,7 +561,7 @@ int readNetConfig(char * device, struct networkDeviceConfig * cfg,
newCfg.essid = strdup(cfg->essid);
newCfg.wepkey = strdup(cfg->wepkey);
} else {
- logMessage(INFO, "%s is not a wireless adaptor", device);
+ logMessage(INFO, "%s is not a wireless adapter", device);
}
text = newtTextboxReflowed(-1, -1,
@@ -763,13 +763,24 @@ int readNetConfig(char * device, struct networkDeviceConfig * cfg,
newtPopWindow();
+ /* calculate broadcast address for IPv4 */
+ addr = ip_in_addr(&cfg->dev.ip);
+ nm = ip_in_addr(&cfg->dev.netmask);
+ cfg->dev.broadcast = ip_addr_v4(ntohl((addr.s_addr & nm.s_addr) | ~nm.s_addr));
+
+ /* make sure we don't have a dhcp_nic handle for static */
+ if ((cfg->isDynamic == 0) && (cfg->dev.dhcp_nic != NULL)) {
+ dhcp_nic_free(cfg->dev.dhcp_nic);
+ cfg->dev.dhcp_nic = NULL;
+ }
+
if (!FL_TESTING(flags)) {
configureNetwork(cfg);
findHostAndDomain(cfg);
writeResolvConf(cfg);
}
- return 0;
+ return LOADER_OK;
}
static int setupWireless(struct networkDeviceConfig *dev) {
@@ -796,11 +807,6 @@ static int setupWireless(struct networkDeviceConfig *dev) {
return 0;
}
-char *setupInterface(struct networkDeviceConfig *dev) {
- setupWireless(dev);
- return pumpSetupInterface(&dev->dev);
-}
-
void netlogger(void *arg, int priority, char *fmt, va_list va) {
int p;
char *buf = NULL;
@@ -850,9 +856,10 @@ char *doDhcp(struct networkDeviceConfig *dev) {
int configureNetwork(struct networkDeviceConfig * dev) {
char *rc;
- rc = setupInterface(dev);
+ setupWireless(dev);
+ rc = pumpSetupInterface(&dev->dev);
if (rc)
- logMessage(INFO, "result of setupInterface is %s", rc);
+ logMessage(INFO, "result of pumpSetupInterface is %s", rc);
/* we need to wait for a link after setting up the interface as some
* switches decide to reconfigure themselves after that (#115825)
diff --git a/loader2/net.h b/loader2/net.h
index 6d60e655d..eba629910 100644
--- a/loader2/net.h
+++ b/loader2/net.h
@@ -47,7 +47,6 @@ void setKickstartNetwork(struct loaderData_s * loaderData, int argc,
int kickstartNetworkUp(struct loaderData_s * loaderData,
struct networkDeviceConfig *netCfgPtr);
-char * setupInterface(struct networkDeviceConfig *dev);
char *doDhcp(struct networkDeviceConfig *dev);
void netlogger(void *arg, int priority, char *fmt, va_list va);