Fix metadata for route, arp and overlay
[groupbasedpolicy.git] / renderers / vpp / src / main / java / org / opendaylight / groupbasedpolicy / renderer / vpp / policy / ForwardingManager.java
index b8f404c7328d45f521fdfc4c58ad91d75e3851ab..b0ba5b0dd87baeb700d2bfc7fba99ef5412d7a28 100644 (file)
@@ -211,12 +211,6 @@ public final class ForwardingManager {
     public void createForwardingForEndpoint(RendererEndpointKey rEpKey, PolicyContext policyCtx) {
         AddressEndpointWithLocation rEp = policyCtx.getAddrEpByKey().get(KeyFactory.addressEndpointKey(rEpKey));
 
-        ExternalLocationCase rEpLoc = resolveAndValidateLocation(rEp);
-        if (Strings.isNullOrEmpty(rEpLoc.getExternalNodeConnector())) {
-            // TODO add it to the status for renderer manager
-            LOG.info("Renderer endpoint does not have external-node-connector therefore it is ignored {}", rEp);
-            return;
-        }
         if (ConfigUtil.getInstance().isLispOverlayEnabled()) {
             lispStateManager.configureEndPoint(rEp);
             if (ConfigUtil.getInstance().isL3FlatEnabled()) {
@@ -224,6 +218,14 @@ public final class ForwardingManager {
                 loopbackManager.createSimpleLoopbackIfNeeded(rEp);
             }
         }
+
+        ExternalLocationCase rEpLoc = resolveAndValidateLocation(rEp);
+        if (rEpLoc == null || Strings.isNullOrEmpty(rEpLoc.getExternalNodeConnector())) {
+            // TODO add it to the status for renderer manager
+            LOG.info("Renderer endpoint does not have external-node-connector therefore it is ignored {}", rEp);
+            return;
+        }
+
         if (Strings.isNullOrEmpty(rEpLoc.getExternalNode())) {
             java.util.Optional<String> optL2FloodDomain = resolveL2FloodDomain(rEp, policyCtx);
             if (!optL2FloodDomain.isPresent()) {