diff options
author | Adriana Kobylak <anoo@us.ibm.com> | 2016-02-03 16:46:58 -0600 |
---|---|---|
committer | Adriana Kobylak <anoo@us.ibm.com> | 2016-02-03 17:10:26 -0600 |
commit | 88c733b8803a7f3d86da6964b9c73efd557807bb (patch) | |
tree | d46f9e83cbbca3d765ca504468dc4451c93e7f0c /netman.py | |
parent | 6b3d6af5b9c38d734f20e859394db275e141328e (diff) | |
download | phosphor-networkd-88c733b8803a7f3d86da6964b9c73efd557807bb.tar.gz phosphor-networkd-88c733b8803a7f3d86da6964b9c73efd557807bb.zip |
Add function to set MAC address
Add function SetHwAddress to set the MAC address via the fw_setenv command
Diffstat (limited to 'netman.py')
-rwxr-xr-x | netman.py | 38 |
1 files changed, 22 insertions, 16 deletions
@@ -16,25 +16,25 @@ DBUS_NAME = 'org.openbmc.NetworkManager' OBJ_NAME = '/org/openbmc/NetworkManager/Interface' network_providers = { - 'networkd' : { - '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', - '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', - 'method' : 'org.freedesktop.NetworkManager' # FIXME: - }, + 'networkd' : { + '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', + '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', + 'method' : 'org.freedesktop.NetworkManager' # FIXME: + }, } def getPrefixLen(mask): - prefixLen = sum([bin(int(x)).count('1') for x in mask.split('.')]) - return prefixLen + prefixLen = sum([bin(int(x)).count('1') for x in mask.split('.')]) + return prefixLen class IfAddr (): def __init__ (self, family, scope, flags, prefixlen, addr, gw): @@ -132,6 +132,11 @@ class NetMan (dbus.service.Object): def GetHwAddress (self, device): return self._getAddr ("mac", device) + @dbus.service.method(DBUS_NAME, "s", "i") + def SetHwAddress (self, mac): + rc = subprocess.call(["fw_setenv", "ethaddr", mac]) + return rc + def main(): dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) bus = dbus.SystemBus() @@ -144,3 +149,4 @@ def main(): if __name__ == '__main__': sys.exit(main()) + |