diff --git a/nix/pkgs/subnetplan/render.rb b/nix/pkgs/subnetplan/render.rb index 47211c8..5ef9772 100644 --- a/nix/pkgs/subnetplan/render.rb +++ b/nix/pkgs/subnetplan/render.rb @@ -60,7 +60,11 @@ exit 1 if collisions > 0 GROUP_PREFIX = 19 groups = {} nets.each do |net| - group = net.addr.supernet(GROUP_PREFIX).to_s + if net.addr.prefix > GROUP_PREFIX + group = net.addr.supernet(GROUP_PREFIX).to_s + else + group = net.addr.to_s + end (groups[group] ||= []) << net end