summaryrefslogtreecommitdiffstats
path: root/network.py
diff options
context:
space:
mode:
authorDavid Cantrell <dcantrell@redhat.com>2008-10-02 02:26:31 -1000
committerDavid Cantrell <dcantrell@redhat.com>2008-10-02 02:26:31 -1000
commit47138291a6ee6e38aed60bee72c477df683f3c86 (patch)
treee2e81afa78cade0f295eb75c36dd29ceb2deba2e /network.py
parent3f7a9d9b41ee4c363d00467b21dedba1d97832be (diff)
downloadanaconda-47138291a6ee6e38aed60bee72c477df683f3c86.tar.gz
anaconda-47138291a6ee6e38aed60bee72c477df683f3c86.tar.xz
anaconda-47138291a6ee6e38aed60bee72c477df683f3c86.zip
Automatically select NIC based on ksdevice= boot parameter.
If you boot with boot.iso and pass ksdevice=DEVICE or ksdevice=MACADDR, use that to automatically select the NIC to use when we ask the user to bring up the network for installation.
Diffstat (limited to 'network.py')
-rw-r--r--network.py26
1 files changed, 21 insertions, 5 deletions
diff --git a/network.py b/network.py
index af314aba5..cdaa9938c 100644
--- a/network.py
+++ b/network.py
@@ -226,6 +226,7 @@ class NetworkDevice(SimpleConfigFile):
class Network:
def __init__(self):
self.netdevices = {}
+ self.ksdevice = None
self.domains = []
self.hostname = socket.gethostname()
self.overrideDHCPhostname = False
@@ -337,6 +338,10 @@ class Network:
return self.netdevices[device]
def available(self):
+ ksdevice = None
+ if flags.cmdline.has_key('ksdevice'):
+ ksdevice = flags.cmdline['ksdevice']
+
# XXX: this should use NetworkManager
for device in minihal.get_devices_by_type("net"):
if device.has_key('net.arp_proto_hw_id'):
@@ -344,15 +349,26 @@ class Network:
dev = device['device']
if not self.netdevices.has_key(dev):
self.netdevices[dev] = NetworkDevice(dev);
- self.netdevices[dev].set(('hwaddr', device['net.address']))
- self.netdevices[dev].set(('desc', device['description']))
+ self.netdevices[dev].set(('HWADDR', device['net.address']))
+ self.netdevices[dev].set(('DESC', device['description']))
- ksdevice = None
- if flags.cmdline.has_key("ksdevice"):
- ksdevice = flags.cmdline["ksdevice"]
+ if ksdevice == dev:
+ self.ksdevice = dev
+ elif ksdevice.find(':') != -1:
+ if ksdevice.lower() == device['net.address'].lower():
+ self.ksdevice = dev
return self.netdevices
+ def getKSDevice(self):
+ if self.ksdevice is None:
+ return None
+
+ try:
+ return self.netdevices[self.ksdevice]
+ except:
+ return None
+
def setHostname(self, hn):
self.hostname = hn