import sys
import dbus
-if (len(sys.argv) < 2):
- print "Usage: %s <address> [netmask]" % (sys.argv[0])
+if (len(sys.argv) < 3):
+ print "Usage: %s <address> <netmask | prefix length> <gateway> [version]" % (sys.argv[0])
sys.exit(1)
bus = dbus.SystemBus()
-manager = dbus.Interface(bus.get_object('org.moblin.connman', "/"),
- 'org.moblin.connman.Manager')
+manager = dbus.Interface(bus.get_object('net.connman', "/"),
+ 'net.connman.Manager')
properties = manager.GetProperties()
for path in properties["Services"]:
- service = dbus.Interface(bus.get_object('org.moblin.connman', path),
- 'org.moblin.connman.Service')
+ service = dbus.Interface(bus.get_object('net.connman', path),
+ 'net.connman.Service')
properties = service.GetProperties()
- if properties["State"] != "ready":
- continue
- print "Setting address %s for %s" % (sys.argv[1], path)
- if len(sys.argv) > 2:
- service.SetProperty("IPv4.Configuration",
- { "Method": "manual", "Address": sys.argv[1],
- "Netmask": sys.argv[2] })
+ if (len(sys.argv) == 5 and sys.argv[4] == "ipv6"):
+ ipv = 6
else:
+ ipv = 4
+
+ print "Setting IPv%d address %s for %s" % (ipv, sys.argv[1], path)
+
+ if (ipv == 4):
service.SetProperty("IPv4.Configuration",
- { "Method": "manual", "Address": sys.argv[1] })
+ { "Method": "manual",
+ "Address": sys.argv[1],
+ "Netmask": sys.argv[2],
+ "Gateway": sys.argv[3]})
+ else:
+ service.SetProperty("IPv6.Configuration",
+ { "Method": "manual",
+ "Address": sys.argv[1],
+ "PrefixLength": sys.argv[2],
+ "Gateway": sys.argv[3]})
print