+ } else if (port.getDeviceId() != null) {\r
+ LOG.debug("Resolving host-id for unbound router port {}", port.getUuid());\r
+ ReadOnlyTransaction readTx = dataBroker.newReadOnlyTransaction();\r
+ Optional<Ports> optPorts = DataStoreHelper.readFromDs(LogicalDatastoreType.CONFIGURATION,\r
+ InstanceIdentifier.builder(Neutron.class).child(Ports.class).build(), readTx);\r
+ readTx.close();\r
+ if (optPorts.isPresent() && optPorts.get().getPort() != null) {\r
+ java.util.Optional<Port> optPortOnTheSameNode = optPorts.get()\r
+ .getPort()\r
+ .stream()\r
+ .filter(p -> !p.getUuid().equals(port.getUuid()))\r
+ .filter(p -> p.getAugmentation(PortBindingExtension.class) != null)\r
+ .filter(p -> p.getDeviceOwner().contains(DHCP_OWNER))\r
+ .findFirst();\r
+ if (optPortOnTheSameNode.isPresent()) {\r
+ PortBindingExtension binding =\r
+ optPortOnTheSameNode.get().getAugmentation(PortBindingExtension.class);\r
+ if (binding != null && binding.getHostId() != null) {\r
+ vppEpBuilder.setVppNodeId(new NodeId(binding.getHostId()));\r
+ } else {\r
+ LOG.warn("Cannot resolve location of router-port {}", port.getUuid());\r
+ return null;\r
+ }\r
+ }\r
+ }\r