From 76dc892491948adae5e5e62cf94448967e8d865b Mon Sep 17 00:00:00 2001 From: Ashlee Young Date: Sun, 6 Dec 2015 07:15:03 -0800 Subject: Fixes bad POM file with ONOS commit 8c68536972f63069c263635c9d9f4f31d7f3e9a2 Change-Id: I7adb5a2d3738d53dbc41db7577768b0e7ced5450 Signed-off-by: Ashlee Young --- .../onosproject/sfc/manager/impl/SfcManager.java | 159 ++++++++++++++------- 1 file changed, 110 insertions(+), 49 deletions(-) (limited to 'framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/impl/SfcManager.java') diff --git a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/impl/SfcManager.java b/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/impl/SfcManager.java index 12d27c87..4df07929 100644 --- a/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/impl/SfcManager.java +++ b/framework/src/onos/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/impl/SfcManager.java @@ -20,9 +20,26 @@ import static org.slf4j.LoggerFactory.getLogger; import org.apache.felix.scr.annotations.Activate; import org.apache.felix.scr.annotations.Component; import org.apache.felix.scr.annotations.Deactivate; +import org.apache.felix.scr.annotations.Reference; +import org.apache.felix.scr.annotations.ReferenceCardinality; import org.apache.felix.scr.annotations.Service; +import org.onlab.util.KryoNamespace; +import org.onosproject.core.ApplicationId; +import org.onosproject.core.CoreService; import org.onosproject.sfc.manager.SfcService; +import org.onosproject.vtnrsc.PortPair; +import org.onosproject.vtnrsc.PortPairId; +import org.onosproject.vtnrsc.PortPairGroup; +import org.onosproject.vtnrsc.PortPairGroupId; +import org.onosproject.vtnrsc.FlowClassifier; +import org.onosproject.vtnrsc.FlowClassifierId; import org.onosproject.vtnrsc.PortChain; +import org.onosproject.vtnrsc.PortChainId; +import org.onosproject.vtnrsc.TenantId; +import org.onosproject.vtnrsc.event.VtnRscEvent; +import org.onosproject.vtnrsc.event.VtnRscListener; +import org.onosproject.vtnrsc.service.VtnRscService; + import org.slf4j.Logger; /** @@ -33,93 +50,137 @@ import org.slf4j.Logger; public class SfcManager implements SfcService { private final Logger log = getLogger(getClass()); + private static final String APP_ID = "org.onosproject.app.vtn"; + + @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + protected VtnRscService vtnRscService; + + @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY) + protected CoreService coreService; + + protected ApplicationId appId; + + private final VtnRscListener vtnRscListener = new InnerVtnRscListener(); @Activate public void activate() { + appId = coreService.registerApplication(APP_ID); + + vtnRscService.addListener(vtnRscListener); + + KryoNamespace.Builder serializer = KryoNamespace.newBuilder() + .register(TenantId.class) + .register(PortPairId.class) + .register(PortPairGroupId.class) + .register(FlowClassifierId.class) + .register(PortChainId.class); + log.info("Started"); } @Deactivate public void deactivate() { + vtnRscService.removeListener(vtnRscListener); + log.info("Stopped"); } + /* + * Handle events. + */ + private class InnerVtnRscListener implements VtnRscListener { + @Override + public void event(VtnRscEvent event) { + + if (VtnRscEvent.Type.PORT_PAIR_PUT == event.type()) { + PortPair portPair = (PortPair) event.subject(); + onPortPairCreated(portPair); + } else if (VtnRscEvent.Type.PORT_PAIR_DELETE == event.type()) { + PortPair portPair = (PortPair) event.subject(); + onPortPairDeleted(portPair); + } else if (VtnRscEvent.Type.PORT_PAIR_UPDATE == event.type()) { + PortPair portPair = (PortPair) event.subject(); + onPortPairDeleted(portPair); + onPortPairCreated(portPair); + } else if (VtnRscEvent.Type.PORT_PAIR_GROUP_PUT == event.type()) { + PortPairGroup portPairGroup = (PortPairGroup) event.subject(); + onPortPairGroupCreated(portPairGroup); + } else if (VtnRscEvent.Type.PORT_PAIR_GROUP_DELETE == event.type()) { + PortPairGroup portPairGroup = (PortPairGroup) event.subject(); + onPortPairGroupDeleted(portPairGroup); + } else if (VtnRscEvent.Type.PORT_PAIR_GROUP_UPDATE == event.type()) { + PortPairGroup portPairGroup = (PortPairGroup) event.subject(); + onPortPairGroupDeleted(portPairGroup); + onPortPairGroupCreated(portPairGroup); + } else if (VtnRscEvent.Type.FLOW_CLASSIFIER_PUT == event.type()) { + FlowClassifier flowClassifier = (FlowClassifier) event.subject(); + onFlowClassifierCreated(flowClassifier); + } else if (VtnRscEvent.Type.FLOW_CLASSIFIER_DELETE == event.type()) { + FlowClassifier flowClassifier = (FlowClassifier) event.subject(); + onFlowClassifierDeleted(flowClassifier); + } else if (VtnRscEvent.Type.FLOW_CLASSIFIER_UPDATE == event.type()) { + FlowClassifier flowClassifier = (FlowClassifier) event.subject(); + onFlowClassifierDeleted(flowClassifier); + onFlowClassifierCreated(flowClassifier); + } else if (VtnRscEvent.Type.PORT_CHAIN_PUT == event.type()) { + PortChain portChain = (PortChain) event.subject(); + onPortChainCreated(portChain); + } else if (VtnRscEvent.Type.PORT_CHAIN_DELETE == event.type()) { + PortChain portChain = (PortChain) event.subject(); + onPortChainDeleted(portChain); + } else if (VtnRscEvent.Type.PORT_CHAIN_UPDATE == event.type()) { + PortChain portChain = (PortChain) event.subject(); + onPortChainDeleted(portChain); + onPortChainCreated(portChain); + } + } + } + @Override - public void onPortPairCreated() { + public void onPortPairCreated(PortPair portPair) { log.debug("onPortPairCreated"); - // TODO: Process port-pair on creation. - // TODO: Parameter also needs to be modified. + // TODO: Modify forwarding rule on port-pair creation. } @Override - public void onPortPairDeleted() { + public void onPortPairDeleted(PortPair portPair) { log.debug("onPortPairDeleted"); - // TODO: Process port-pair on deletion. - // TODO: Parameter also needs to be modified. + // TODO: Modify forwarding rule on port-pair deletion. } @Override - public void onPortPairGroupCreated() { + public void onPortPairGroupCreated(PortPairGroup portPairGroup) { log.debug("onPortPairGroupCreated"); - // TODO: Process port-pair-group on creation. - // TODO: Parameter also needs to be modified. + // TODO: Modify forwarding rule on port-pair-group creation. } @Override - public void onPortPairGroupDeleted() { + public void onPortPairGroupDeleted(PortPairGroup portPairGroup) { log.debug("onPortPairGroupDeleted"); - // TODO: Process port-pair-group on deletion. - // TODO: Parameter also needs to be modified. + // TODO: Modify forwarding rule on port-pair-group deletion. } @Override - public void onFlowClassifierCreated() { + public void onFlowClassifierCreated(FlowClassifier flowClassifier) { log.debug("onFlowClassifierCreated"); - // TODO: Process flow-classifier on creation. - // TODO: Parameter also needs to be modified. + // TODO: Modify forwarding rule on flow-classifier creation. } @Override - public void onFlowClassifierDeleted() { + public void onFlowClassifierDeleted(FlowClassifier flowClassifier) { log.debug("onFlowClassifierDeleted"); - // TODO: Process flow-classifier on deletion. - // TODO: Parameter also needs to be modified. + // TODO: Modify forwarding rule on flow-classifier deletion. } @Override - public void onPortChainCreated() { - log.debug("onPortChainCreated"); - // TODO: Process port-chain on creation. - // TODO: Parameter also needs to be modified. - + public void onPortChainCreated(PortChain portChain) { + log.debug("onPortChainCreated"); + //TODO: Apply forwarding rule on port-chain creation. } @Override - public void onPortChainDeleted() { + public void onPortChainDeleted(PortChain portChain) { log.debug("onPortChainDeleted"); - // TODO: Process port-chain on deletion. - // TODO: Parameter also needs to be modified. - } - - /** - * Install SF Forwarding rule into OVS. - * - * @param portChain - * port chain - */ - public void installForwardingRule(PortChain portChain) { - log.debug("installForwardingRule"); - // TODO: Installation of SF Forwarding rule into OVS. - } - - /** - * Uninstall SF Forwarding rule from OVS. - * - * @param portChain - * port chain - */ - public void unInstallForwardingRule(PortChain portChain) { - log.debug("unInstallForwardingRule"); - // TODO: Uninstallation of SF Forwarding rule from OVS. + //TODO: Apply forwarding rule on port-chain deletion. } -} \ No newline at end of file +} -- cgit 1.2.3-korg