Aaron Longchamps<p>Gateway stuff is done for now, so it's time to work on the DHCP range data.</p><p>A network can have 0..n DHCP ranges and each DHCP range should be editable with the CRUD operations.</p><p>C - create: add a new DHCP range, make sure it doesn't overlap with another DHCP range already present on this network. All IPs should be in range, too.<br>R - read: render DHCP range information and overall IPAM utilization of the network. A DHCP range covering 200 IPs on a /24 should, for example, show roughly 80% of the IPs are used. Vuetify has UI elements to render stuff like this.<br>U - update: change data about the range such as the start/end addresses, name, or description.<br>D - delete: remove a DHCP range <--> network association and the associated record(s) from the db.</p><p>Validations:<br>DHCP range doesn't overlap other IPs in use on the network, such as the gateway, static IP assignments on that network (which I haven't even gotten to), or other DHCP ranges.</p><p>There's going to be a LOT of testing to go into this and I think that's why I like this kind of stuff. It forces me to think of all the use cases, write tests, add code, and balance all of it together.</p><p><a href="https://infosec.exchange/tags/rackroot" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>rackroot</span></a> <a href="https://infosec.exchange/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a> <a href="https://infosec.exchange/tags/networking" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>networking</span></a> <a href="https://infosec.exchange/tags/fastapi" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>fastapi</span></a> <a href="https://infosec.exchange/tags/python" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>python</span></a> <a href="https://infosec.exchange/tags/webdev" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>webdev</span></a> <a href="https://infosec.exchange/tags/fullstackdevelopment" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>fullstackdevelopment</span></a> <a href="https://infosec.exchange/tags/fullstack" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>fullstack</span></a> <a href="https://infosec.exchange/tags/vuetify" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>vuetify</span></a> <a href="https://infosec.exchange/tags/databasedesign" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>databasedesign</span></a></p>