summaryrefslogtreecommitdiff
path: root/haircontrol/data.py
diff options
context:
space:
mode:
Diffstat (limited to 'haircontrol/data.py')
-rw-r--r--haircontrol/data.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/haircontrol/data.py b/haircontrol/data.py
new file mode 100644
index 0000000..599d322
--- /dev/null
+++ b/haircontrol/data.py
@@ -0,0 +1,27 @@
+class Equipment:
+ def __init__(self, name=None, mgmtip=None):
+ self.name = name
+ self.mgmtip = mgmtip
+ self.ifaces = {}
+
+ def __repr__(self):
+ return repr( (self.name, self.mgmtip, self.ifaces.values()) )
+
+ def add_seen_mac(self, ifname, mac):
+ iface = self.ifaces.get(ifname)
+ if not iface:
+ iface = Interface()
+ iface.name = ifname
+ self.ifaces[ifname] = iface
+ iface.mac_seen.append(mac)
+
+class Interface:
+ def __init__(self, name=None, mac=None):
+ self.name = name
+ self.mac = mac
+ self.mac_seen = []
+ self.remote = []
+
+ def __repr__(self):
+ return repr( (self.mac, self.name) )
+