A couple of additional thoughts - (apologies if they have already come up (i have not been listening properly) ability to import/export data i.e. CSV files possible check for existing netname and/or descr field in assignment ( to prevent exceeding assignment window) delete upon return of assignment - with a check of size etc ability to aggregate two adjacent blocks into one (e.g. an additional assignment is made to an existing user) kevin bates
Our internal solution does: . . stuff deleted . . .
So; A summary so far:
1) We need to check for properly formulated dotted quad format IPs:
n.n.n.n/m where n >= 0; n <= 255; m >= 1; m <= 32;
2) We need to check for overlaps so that two subnets cannot overlap any space.
We need to check for: (where a is frist IP in range, z is last IP in range)
0 : No overlap
a1---z1 a2---z2
a1---z1 a2---z2
1 : Range 1 totally inside range 2
a1---z1 a2--------------z2
2 : Range 2 totally inside range 1
a1--------------z1 a2---z2
3 : Partial overlap
a1-----z1 a2-----z2
a1-----z1 a2-----z2
4 : Perfect overlap, range 1 == range 2
a1-----z1 a2-----z2
5 : Edge overlap = someone screwed up, editing by hand
a1---z1 a2---z2
a1---z1 a2---z2
ie. 10.15.20.0 -- 10.15.21.0
10.15.21.0 -- 10.15.21.255
(oops).
3) We need some kind of data structure to be defined, so that the hostmaster can access the IP space in a sensible way.
I reckon this should include:
o A way of seeing the IP space - what is free, what is used. o A way of dividing the IP space into sections for assigning to different areas, such as colo, dialup etc. o A sensible method of assigning free space (ie not always the next free block - think of migration).
4) We need to think about IPv6
I hope people will comment on this summary and pummel beat it into shape.
Nothing worthwhile ever happened by people being polite.
Thank you very much Michael for your comments.
Guy
-- Guy Vegoda \ guy@vegoda.org *Please do not send html* NIC: GUY-RIPE \ guy@cryptography.org.uk *attachments* Unix, Linux Hobbyist \ +44(0)20 7961 8318 (work) www.thenakedfrenchman.com \ +44(0)958 469 532 (cell)