diff options
author | David Cantrell <dcantrell@redhat.com> | 2009-04-22 00:22:50 -1000 |
---|---|---|
committer | David Cantrell <dcantrell@redhat.com> | 2009-05-04 15:14:05 -1000 |
commit | 2d0cec6dbd804b3f02a6dd7ab6b390955ea3f660 (patch) | |
tree | 37ae68fa41a3d20918c0ee63655c34eb331018fc /network.py | |
parent | e77eaf1276e015b3d7a0d15c52e9f20ba7a4deae (diff) | |
download | anaconda-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.py | 40 |
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 |