--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/pvl/config/addr.py Sun Jul 12 00:51:08 2009 +0300
@@ -0,0 +1,60 @@
+"""
+ Used to define IP-address/subnet stuff
+"""
+
+import IPy
+
+class IP (IPy.IP, object) :
+ """
+ A literal IPv4 address
+ """
+
+ def __init__ (self, address) :
+ """
+ Parse the given literal IP address in "a.b.c.d" form
+ """
+
+ super(IP, self).__init__(address)
+
+ def is_v4 (self) :
+ """
+ Returns True if the address is an IPv4 address
+ """
+
+ return self.version() == 4
+
+ def is_v6 (self) :
+ """
+ Returns True if the address is an IPv6 address
+ """
+
+ return self.version() == 6
+
+class Network (IPy.IP, object) :
+ """
+ An IPv4 network (subnet)
+ """
+
+ def __init__ (self, prefix) :
+ """
+ Parse the given prefix in "a.b.c.d/l" form
+ """
+
+ super(Network, self).__init__(prefix)
+
+class MAC (object) :
+ """
+ A mac address
+ """
+
+ def __init__ (self, mac) :
+ """
+ Parse the given MAC address in "aa:bb:cc:dd:ee:ff" form
+ """
+
+ # XXX: validate
+ self.mac = mac
+
+ def __str__ (self) :
+ return self.mac
+