diff options
author | Hariharasubramanian R <hramasub@in.ibm.com> | 2016-02-10 12:32:08 -0600 |
---|---|---|
committer | Hariharasubramanian R <hramasub@in.ibm.com> | 2016-02-10 12:35:41 -0600 |
commit | 3a224e707511ed63d1a2ada294c2a51489f2f968 (patch) | |
tree | c6da8a8650d788b19c7d829513b1c43c9afee8b2 /netman.py | |
parent | 3135f3a16d8a1e6185759a1033de26887fd425c5 (diff) | |
download | phosphor-networkd-3a224e707511ed63d1a2ada294c2a51489f2f968.tar.gz phosphor-networkd-3a224e707511ed63d1a2ada294c2a51489f2f968.zip |
Merging EnableDHCP method.
Diffstat (limited to 'netman.py')
-rwxr-xr-x | netman.py | 35 |
1 files changed, 27 insertions, 8 deletions
@@ -20,14 +20,16 @@ network_providers = { 'bus_name' : 'org.freedesktop.network1', 'ip_object_name' : '/org/freedesktop/network1/network/default', 'hw_object_name' : '/org/freedesktop/network1/link/_31', - 'interface_name' : 'org.freedesktop.network1.Network', + 'ip_if_name' : 'org.freedesktop.network1.Network', + 'hw_if_name' : 'org.freedesktop.network1.Link', 'method' : 'org.freedesktop.network1.Network.SetAddr' }, 'NetworkManager' : { 'bus_name' : 'org.freedesktop.NetworkManager', 'ip_object_name' : '/org/freedesktop/NetworkManager', 'hw_object_name' : '/org/freedesktop/NetworkManager', - 'interface_name' : 'org.freedesktop.NetworkManager', + 'ip_if_name' : 'org.freedesktop.NetworkManager', + 'hw_if_name' : 'org.freedesktop.NetworkManager', 'method' : 'org.freedesktop.NetworkManager' # FIXME: }, } @@ -58,7 +60,7 @@ class NetMan (dbus.service.Object): netprov = network_providers [self.provider] bus_name = netprov ['bus_name'] obj_path = netprov ['ip_object_name'] - intf_name = netprov ['interface_name'] + intf_name = netprov ['ip_if_name'] obj = self.bus.get_object(bus_name, obj_path) intf = dbus.Interface(obj, intf_name) @@ -73,14 +75,14 @@ class NetMan (dbus.service.Object): bus_name = netprov ['bus_name'] if (target == "ip"): - intf_name = 'org.freedesktop.network1.Network' + intf_name = netprov ['ip_if_name'] #'org.freedesktop.network1.Network' obj_path = netprov ['ip_object_name'] obj = self.bus.get_object(bus_name, obj_path) intf = dbus.Interface(obj, intf_name) return intf.GetAddress (device) if (target == "mac"): - intf_name = 'org.freedesktop.network1.Link' + intf_name = netprov ['hw_if_name'] #'org.freedesktop.network1.Link' obj_path = netprov ['hw_object_name'] obj = self.bus.get_object(bus_name, obj_path) intf = dbus.Interface(obj, intf_name) @@ -88,12 +90,30 @@ class NetMan (dbus.service.Object): print mac return mac - - @dbus.service.method(DBUS_NAME, "", "") def test(self): print("TEST") + @dbus.service.method(DBUS_NAME, "s", "x") + def EnableDHCP (self, device): + confFile = "/etc/systemd/network/10-bmc-" + device + ".network" + if os.path.exists(confFile): + return 0 + + print("Making .network file...") + networkconf = open (confFile, "w+") + networkconf.write ('[Match]'+ '\n') + networkconf.write ('Name=' + (device) + '\n') + networkconf.write ('[Network]' + '\n') + networkconf.write ('DHCP=yes') + networkconf.close () + + print("Restarting networkd service...") + call(["ip", "addr", "flush", device]) + call(["systemctl", "restart", "systemd-networkd.service"]) + return 0 + #return self._setAddr ("add", device, ipaddr, netmask, 2, 0, 253, gateway) + @dbus.service.method(DBUS_NAME, "ssss", "x") def AddAddress4 (self, device, ipaddr, netmask, gateway): prefixLen = getPrefixLen (netmask) @@ -149,4 +169,3 @@ def main(): if __name__ == '__main__': sys.exit(main()) - |