Script to parse 'ip a' output
diff --git a/scripts/ifs_data.py b/scripts/ifs_data.py
new file mode 100644
index 0000000..1b6143f
--- /dev/null
+++ b/scripts/ifs_data.py
@@ -0,0 +1,81 @@
+import re
+import sys
+import subprocess
+import json
+
+
+def shell(command):
+    _ps = subprocess.Popen(
+        command.split(),
+        stdout=subprocess.PIPE
+    ).communicate()[0].decode()
+
+    return _ps
+
+
+def cut_option(_param, _options_list):
+    _option = "n/a"
+    _result_list = []
+    if _param in _options_list:
+        _index = _options_list.index(_param)
+        _option = _options_list[_index+1]
+        _l1 = _options_list[:_index]
+        _l2 = _options_list[_index+2:]
+        _result_list = _l1 + _l2
+    else:
+        _result_list = _options_list
+    return _option, _result_list
+
+
+def get_ifs_data():
+    _ifs_raw = shell('ip a')
+
+    if_start = re.compile("^[0-9]+: .*: \<.*\> .*$")
+    if_ipv4 = re.compile("^\s{4}inet\ .*$")
+
+    _ifs = {}
+    _if_name = None
+    for line in _ifs_raw.splitlines():
+        _if_data = {}
+        if if_start.match(line):
+            _tmp = line.split(':')
+            _if_name = _tmp[1].strip()
+            _if_options = _tmp[2].strip().split(' ')
+            _if_data['order'] = _tmp[0]
+            _if_data['mtu'], _if_options = cut_option("mtu", _if_options)
+            _if_data['qlen'], _if_options = cut_option("qlen", _if_options)
+            _if_data['state'], _if_options = cut_option("state", _if_options)
+            _if_data['other'] = _if_options
+            _if_data['ipv4'] = {}
+            _ifs[_if_name] = _if_data
+        elif if_ipv4.match(line):
+            if _if_name is None:
+                continue
+            else:
+                _tmp = line.strip().split(' ', 2)
+                _ip = _tmp[1]
+                _options = _tmp[2].split(' ')
+                _brd, _options = cut_option("brd", _options)
+                # TODO: Parse other options, mask, brd, etc...
+                _ifs[_if_name]['ipv4'][_ip] = {}
+                _ifs[_if_name]['ipv4'][_ip]['brd'] = _brd
+                _ifs[_if_name]['ipv4'][_ip]['other'] = _options
+
+    return _ifs
+
+
+ifs_data = get_ifs_data()
+
+# _ifs = sorted(ifs_data.keys())
+# _ifs.remove("lo")
+# for _idx in range(len(_ifs)):
+#     print("{}: {}, {}, {}".format(
+#         _ifs[_idx],
+#         " ".join(ifs_data[_ifs[_idx]]['ipv4'].keys()),
+#         ifs_data[_ifs[_idx]]['mtu'],
+#         ifs_data[_ifs[_idx]]['state']
+#     ))
+
+
+buff = json.dumps(ifs_data)
+sys.stdout.write(buff)