summaryrefslogtreecommitdiffstats
path: root/network.py
diff options
context:
space:
mode:
authorDavid Cantrell <dcantrell@redhat.com>2009-04-22 00:22:50 -1000
committerDavid Cantrell <dcantrell@redhat.com>2009-05-04 15:14:05 -1000
commit2d0cec6dbd804b3f02a6dd7ab6b390955ea3f660 (patch)
tree37ae68fa41a3d20918c0ee63655c34eb331018fc /network.py
parente77eaf1276e015b3d7a0d15c52e9f20ba7a4deae (diff)
downloadanaconda-2d0cec6dbd804b3f02a6dd7ab6b390955ea3f660.tar.gz
anaconda-2d0cec6dbd804b3f02a6dd7ab6b390955ea3f660.tar.xz
anaconda-2d0cec6dbd804b3f02a6dd7ab6b390955ea3f660.zip
Collect network interfaces from NetworkManager (#493995)
Remove minihal.py and use NetworkManager to get a list of device names and their hardware addresses. Still have to talk to hal via D-Bus to build a description string, but the hal path is given to us by NetworkManager, so we are sure we are only building a list of interfaces that NetworkManager knows about and can communicate with. Also rewrite command-stubs/list-harddrives to not use minihal.
Diffstat (limited to 'network.py')
-rw-r--r--network.py40
1 files changed, 19 insertions, 21 deletions
diff --git a/network.py b/network.py
index e9ba2bc8c..3f4b0eec4 100644
--- a/network.py
+++ b/network.py
@@ -31,7 +31,6 @@ import socket
import struct
import os
import time
-import minihal
import rhpl
import dbus
from flags import flags
@@ -384,26 +383,25 @@ class Network:
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'):
- if device['net.arp_proto_hw_id'] == 1:
- 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']))
-
- if not ksdevice:
- continue
-
- if ksdevice == 'link' and isys.getLinkStatus(dev):
- self.ksdevice = dev
- elif ksdevice == dev:
- self.ksdevice = dev
- elif ksdevice.find(':') != -1:
- if ksdevice.lower() == device['net.address'].lower():
- self.ksdevice = dev
+ for dev in isys.getDeviceProperties().keys():
+ if not self.netdevices.has_key(dev):
+ self.netdevices[dev] = NetworkDevice(dev)
+
+ hwaddr = isys.getMacAddress(dev)
+
+ self.netdevices[dev].set(('HWADDR', hwaddr))
+ self.netdevices[dev].set(('DESC', isys.getNetDevDesc(dev)))
+
+ if not ksdevice:
+ continue
+
+ if ksdevice == 'link' and isys.getLinkStatus(dev):
+ self.ksdevice = dev
+ elif ksdevice == dev:
+ self.ksdevice = dev
+ elif ksdevice.find(':') != -1:
+ if ksdevice.upper() == hwaddr:
+ self.ksdevice = dev
return self.netdevices