summaryrefslogtreecommitdiffstats
path: root/netman.py
diff options
context:
space:
mode:
authorAdriana Kobylak <anoo@us.ibm.com>2016-02-03 16:46:58 -0600
committerAdriana Kobylak <anoo@us.ibm.com>2016-02-03 17:10:26 -0600
commit88c733b8803a7f3d86da6964b9c73efd557807bb (patch)
treed46f9e83cbbca3d765ca504468dc4451c93e7f0c /netman.py
parent6b3d6af5b9c38d734f20e859394db275e141328e (diff)
downloadphosphor-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-xnetman.py38
1 files changed, 22 insertions, 16 deletions
diff --git a/netman.py b/netman.py
index 8f0fb80..3978cef 100755
--- a/netman.py
+++ b/netman.py
@@ -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())
+
OpenPOWER on IntegriCloud