blob: 908b00b3d7c732487ea0855a511973a978e59c39 [file] [log] [blame]
#!/usr/bin/env python3
# Copyright 2019 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
from __future__ import print_function
import sys
import dbus
import flimflam
if len(sys.argv) < 2:
print('Usage: %s <device | interface>' % (sys.argv[0]))
sys.exit(1)
(_, name) = sys.argv
flim = flimflam.FlimFlam(dbus.SystemBus())
device = flim.FindElementByNameSubstring('Device', name)
if device is None:
device = flim.FindElementByPropertySubstring('Device', 'Interface', name)
if device is None:
print('No such device or interface %s' % name)
sys.exit(1)
properties = device.GetProperties()
for path in properties['IPConfigs']:
ipconfig = flim.GetObjectInterface('IPConfig', path)
ipconfig_properties = ipconfig.GetProperties()
print('[ %s ]' % (ipconfig.object_path))
for key in ipconfig_properties.keys():
print(' %s = %s' %
(key, flimflam.convert_dbus_value(ipconfig_properties[key], 8)))
print('')