/* * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ package org.opendaylight.groupbasedpolicy.renderer.ofoverlay.mapper.policyenforcer; import org.opendaylight.groupbasedpolicy.dto.EgKey; import org.opendaylight.groupbasedpolicy.renderer.ofoverlay.OfContext; import org.opendaylight.groupbasedpolicy.renderer.ofoverlay.flow.OrdinalFactory; import org.opendaylight.groupbasedpolicy.renderer.ofoverlay.flow.OrdinalFactory.EndpointFwdCtxOrdinals; import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.endpoint.rev140421.endpoints.Endpoint; import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.ofoverlay.rev140528.OfOverlayContext; import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.NodeId; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class NetworkElements { private static final Logger LOG = LoggerFactory.getLogger(NetworkElements.class); private final Endpoint srcEp; private final Endpoint dstEp; private final EgKey srcEpg; private final EgKey dstEpg; private NodeId srcNodeId; private NodeId dstNodeId; private final NodeId localNodeId; private EndpointFwdCtxOrdinals srcEpOrdinals; private EndpointFwdCtxOrdinals dstEpOrdinals; public NetworkElements(Endpoint srcEp, Endpoint dstEp, EgKey srcEpg, EgKey dstEpg, NodeId nodeId, OfContext ctx) throws Exception { this.srcEp = srcEp; this.dstEp = dstEp; this.srcEpg = srcEpg; this.dstEpg = dstEpg; this.localNodeId = nodeId; this.srcEpOrdinals = OrdinalFactory.getEndpointFwdCtxOrdinals(ctx, srcEp); if (this.srcEpOrdinals == null) { LOG.debug("getEndpointFwdCtxOrdinals is null for EP {}", srcEp); return; } this.dstEpOrdinals = OrdinalFactory.getEndpointFwdCtxOrdinals(ctx, dstEp); if (this.dstEpOrdinals == null) { LOG.debug("getEndpointFwdCtxOrdinals is null for EP {}", dstEp); return; } if (dstEp.getAugmentation(OfOverlayContext.class) != null) { this.dstNodeId = dstEp.getAugmentation(OfOverlayContext.class).getNodeId(); } if (srcEp.getAugmentation(OfOverlayContext.class) != null) { this.srcNodeId = srcEp.getAugmentation(OfOverlayContext.class).getNodeId(); } } public Endpoint getSrcEp() { return srcEp; } public Endpoint getDstEp() { return dstEp; } public EgKey getSrcEpg() { return srcEpg; } public EgKey getDstEpg() { return dstEpg; } public NodeId getSrcNodeId() { return srcNodeId; } public NodeId getDstNodeId() { return dstNodeId; } public NodeId getLocalNodeId() { return localNodeId; } public EndpointFwdCtxOrdinals getSrcEpOrdinals() { return srcEpOrdinals; } public EndpointFwdCtxOrdinals getDstEpOrdinals() { return dstEpOrdinals; } }