diff --git a/input/grid5000/vlans.yaml b/input/grid5000/vlans.yaml
index 19a759d145d920d27808086c22e1c2a8af06d752..103ef104f1099732cd43358549622c662b6670bd 100644
--- a/input/grid5000/vlans.yaml
+++ b/input/grid5000/vlans.yaml
@@ -86,8 +86,10 @@ vlans:
       local nancy graphite eth0 0 0 4 0
       local nancy graphique eth0 0 0 8 0
       local nancy graoully eth0 0 0 9 0
-      local nancy graoully eth0 0 0 10 0
       local nancy grimoire eth0 0 0 10 0
+      local nancy grimoire eth1 0 0 10 10
+      local nancy grimoire eth2 0 0 10 20
+      local nancy grimoire eth3 0 0 10 30
       local nancy grisou eth0 0 0 11 0
       local nancy grisou eth1 0 0 11 60
       local nancy grisou eth2 0 0 11 120
@@ -124,17 +126,24 @@ vlans:
       global lyon orion eth0 0 0 6 95
       global lyon hercule eth1 0 0 6 99
       global lyon nova eth0 0 0 6 111
+      global nancy grimoire eth0 0 0 7 0
+      global nancy grimoire eth1 0 0 7 8
+      global nancy grimoire eth2 0 0 7 16
+      global nancy grimoire eth3 0 0 7 24
+      global nancy grisou eth0 0 0 7 32
+      global nancy grisou eth1 0 0 7 83
+      global nancy grisou eth2 0 0 7 134
+      global nancy grisou eth3 0 0 7 185
       global nancy grele eth0 0 0 8 0
-      global nancy griffon eth0 0 0 8 0
+      global nancy griffon eth0 0 0 8 14
       global nancy graphene eth0 0 0 8 92
       global nancy graphite eth0 0 0 8 236
       global nancy grcinq eth0 0 0 9 0
       global nancy grvingt eth0 0 0 9 48
       global nancy graphique eth0 0 0 9 142
       global nancy graoully eth0 0 0 9 148
-      global nancy grimoire eth0 0 0 9 165
-      global nancy grisou eth0 0 0 9 174
-      global nancy grimani eth0 0 0 9 225
+      global nancy grisou eth4 0 0 9 164
+      global nancy grimani eth0 0 0 9 215
       global rennes paravance eth0 0 0 12 1
       global rennes paravance eth1 0 0 12 73
       global rennes parasilo eth0 0 0 12 145
@@ -176,6 +185,9 @@ vlans:
       routed nancy graphique eth0 0 16 9 0
       routed nancy graoully eth0 0 16 10 0
       routed nancy grimoire eth0 0 16 11 0
+      routed nancy grimoire eth1 0 16 11 10
+      routed nancy grimoire eth2 0 16 11 20
+      routed nancy grimoire eth3 0 16 11 30
       routed nancy grisou eth0 0 16 12 0
       routed nancy grisou eth1 0 16 12 60
       routed nancy grisou eth2 0 16 12 120
diff --git a/lib/refrepo/input_loader.rb b/lib/refrepo/input_loader.rb
index 34ec3997661dfca8322bdb3aa91d5d396a9789f0..11d1296fa07d3942d434c1a49689c0cd311a4426 100644
--- a/lib/refrepo/input_loader.rb
+++ b/lib/refrepo/input_loader.rb
@@ -51,24 +51,8 @@ def load_yaml_file_hierarchy(directory = File.expand_path("../../input/grid5000/
   add_kavlan_ips(global_hash)
 
   return global_hash
-
 end
 
-# FIXME missing clusters / interfaces:
-# NO VLAN OFFSET: ["local", "nancy", "grimoire", "eth1"] / grimoire-8-eth1-kavlan-1.nancy.grid5000.fr
-# NO VLAN OFFSET: ["routed", "nancy", "grimoire", "eth1"] / grimoire-8-eth1-kavlan-4.nancy.grid5000.fr
-# NO VLAN OFFSET: ["global", "nancy", "grimoire", "eth1"] / grimoire-8-eth1-kavlan-11.nancy.grid5000.fr
-# NO VLAN OFFSET: ["local", "nancy", "grimoire", "eth2"] / grimoire-8-eth2-kavlan-1.nancy.grid5000.fr
-# NO VLAN OFFSET: ["routed", "nancy", "grimoire", "eth2"] / grimoire-8-eth2-kavlan-4.nancy.grid5000.fr
-# NO VLAN OFFSET: ["global", "nancy", "grimoire", "eth2"] / grimoire-8-eth2-kavlan-11.nancy.grid5000.fr
-# NO VLAN OFFSET: ["local", "nancy", "grimoire", "eth3"] / grimoire-8-eth3-kavlan-1.nancy.grid5000.fr
-# NO VLAN OFFSET: ["routed", "nancy", "grimoire", "eth3"] / grimoire-8-eth3-kavlan-4.nancy.grid5000.fr
-# NO VLAN OFFSET: ["global", "nancy", "grimoire", "eth3"] / grimoire-8-eth3-kavlan-11.nancy.grid5000.fr
-# NO VLAN OFFSET: ["global", "nancy", "grisou", "eth1"] / grisou-43-eth1-kavlan-11.nancy.grid5000.fr
-# NO VLAN OFFSET: ["global", "nancy", "grisou", "eth2"] / grisou-43-eth2-kavlan-11.nancy.grid5000.fr
-# NO VLAN OFFSET: ["global", "nancy", "grisou", "eth3"] / grisou-43-eth3-kavlan-11.nancy.grid5000.fr
-# NO VLAN OFFSET: ["global", "nancy", "grisou", "eth4"] / grisou-43-eth4-kavlan-11.nancy.grid5000.fr
-
 def sorted_vlan_offsets
   offsets = load_yaml_file_hierarchy['vlans']['offsets'].split("\n").
     map { |l| l = l.split(/\s+/) ; (4..7).each { |e| l[e] = l[e].to_i } ; l }
@@ -93,7 +77,8 @@ def add_kavlan_ips(h)
   vlan_base = h['vlans']['base']
   vlan_offset = h['vlans']['offsets'].split("\n").map { |l| l = l.split(/\s+/) ; [ l[0..3], l[4..-1].inject(0) { |a, b| (a << 8) + b.to_i } ] }.to_h
   h['sites'].each_pair do |site_uid, hs|
-    p site_uid
+    # forget about allocated ips for local vlans, since we are starting a new site
+    $allocated.delete_if { |k, v| v[3] == 'local' }
     hs['clusters'].each_pair do |cluster_uid, hc|
       hc['nodes'].each_pair do |node_uid, hn|
         # raise "Old kavlan data in input/ for #{node_uid}" if hn.has_key?('kavlan') # FIXME uncomment after input/ is cleaned up
@@ -106,7 +91,7 @@ def add_kavlan_ips(h)
             base = IPAddress::IPv4::new(v['address']).to_u32
             k = [type, site_uid, cluster_uid, iface]
             if not vlan_offset.has_key?(k)
-              puts "Missing VLAN offset for #{k}"
+              raise "Missing VLAN offset for #{k}"
               if GET_FROM_DNS
                 puts "Trying to get from DNS..."
                 next if $tried_resolv[k]
@@ -123,9 +108,10 @@ def add_kavlan_ips(h)
               end
               next
             end
-            ip = IPAddress::IPv4::parse_u32(base + vlan_offset[k] + node_id)
-            raise "IP already allocated: #{ip} (trying to add it to #{node_uid}-#{iface})" if $allocated[ip]
-            $allocated[ip] = true
+            ip = IPAddress::IPv4::parse_u32(base + vlan_offset[k] + node_id).to_s
+            a = [ site_uid, node_uid, iface, type, vlan ]
+            raise "IP already allocated: #{ip} (trying to add it to #{a} ; allocated to #{$allocated[ip]})" if $allocated[ip]
+            $allocated[ip] = a
             hn['kavlan'][iface]["kavlan-#{vlan}"] = ip
           end
         end