diff --git a/osm_openvim/host_thread.py b/osm_openvim/host_thread.py
index 80d9986..bf7a6da 100644
--- a/osm_openvim/host_thread.py
+++ b/osm_openvim/host_thread.py
@@ -813,7 +813,7 @@
         self.db_lock.acquire()
         result, content = self.db.get_table(
             FROM='ports',
-            WHERE={'p.type': 'instance:ovs', 'p.net_id': net_uuid}
+            WHERE={'type': 'instance:ovs', 'net_id': net_uuid}
         )
         self.db_lock.release()
 
@@ -1215,6 +1215,11 @@
             (_, stdout, _) = self.ssh_conn.exec_command(command)
             content = stdout.read()
 
+            command = 'sudo ip netns exec ' + net_namespace + ' ip link set dev lo up'
+            self.logger.debug("command: " + command)
+            (_, stdout, _) = self.ssh_conn.exec_command(command)
+            content = stdout.read()
+
             command = 'sudo  ip netns exec ' + net_namespace + ' ' + ' ifconfig  ' + namespace_interface \
                       + ' ' + ip_listen_address + ' netmask ' + netmask
             self.logger.debug("command: " + command)
diff --git a/osm_openvim/vim_db.py b/osm_openvim/vim_db.py
index b034342..5d7fb16 100644
--- a/osm_openvim/vim_db.py
+++ b/osm_openvim/vim_db.py
@@ -37,7 +37,7 @@
 import auxiliary_functions as af
 import json
 import logging
-from netaddr import IPNetwork, IPSet, IPRange, all_matching_cidrs
+from netaddr import IPNetwork, IPAddress
 
 HTTP_Bad_Request = 400
 HTTP_Unauthorized = 401 
@@ -1538,15 +1538,15 @@
         :param ip_used_list: contain all used ips to avoid ip collisions
         :return:
         """
-
         ip_tools = IPNetwork(cidr)
         cidr_len = ip_tools.prefixlen
         ips = IPNetwork(first_ip + '/' + str(cidr_len))
-        ip_used_list.append(str(ips[0])) # first ip
-        ip_used_list.append(str(ips[1])) # gw ip
-        ip_used_list.append(str(ips[-1])) # broadcast ip
+
+        ip_used_list.append(str(ips[1]))  # gw ip
+        ip_used_list.append(str(ips[-1]))  # broadcast ip
+
         for vm_ip in ips:
-            if str(vm_ip) not in ip_used_list:
+            if str(vm_ip) not in ip_used_list and IPAddress(first_ip) <= IPAddress(vm_ip) <= IPAddress(last_ip):
                 return vm_ip
 
         return None
