[185625] in North American Network Operators' Group

home help back first fref pref prev next nref lref last post

RE: CIDR Utilization

daemon@ATHENA.MIT.EDU (Jeremiah Millay)
Sat Oct 31 17:57:41 2015

X-Original-To: nanog@nanog.org
From: Jeremiah Millay <jmillay@vermontel.com>
To: John Steve Nash <john.steve.nash@gmail.com>, "nanog@nanog.org"
 <nanog@nanog.org>
Date: Sat, 31 Oct 2015 19:51:10 +0000
In-Reply-To: <CA+OqHhABBFK6YQ9nQCRfOvP58maV5Kx4wj3oYPpFWrDyJDcapg@mail.gmail.com>
Errors-To: nanog-bounces@nanog.org

John,=0A=
Without going through the hassle of installing a full-blown IPAM solution y=
ou could use Python's netaddr library to accomplish what you are asking:=0A=
=0A=
=0A=
>>> from netaddr import *=0A=
>>> cidr =3D IPSet(['192.168.0.0/24'])=0A=
>>> used =3D IPSet(['192.168.0.1','192.168.0.8/29','192.168.0.64/26'])=0A=
>>> cidr ^ used=0A=
IPSet(['192.168.0.0/32', '192.168.0.2/31', '192.168.0.4/30', '192.168.0.16/=
28', '192.168.0.32/27', '192.168.0.128/25'])=0A=
=0A=
=0A=
=0A=
=0A=
Jeremiah Millay=0A=
Senior Network Engineer=0A=
Vermont Telephone Co., Inc.=0A=
354 River Street=0A=
Springfield, VT 05156=0A=
=0A=
=0A=
=0A=

home help back first fref pref prev next nref lref last post