+/*
+ * 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.controller.protocol_plugins.stub.internal;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.ArrayList;
-import java.util.Dictionary;
import java.util.List;
-import org.apache.felix.dm.Component;
-//import org.opendaylight.controller.protocol_plugin_stubs.IPluginReadServiceFilter;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import org.opendaylight.controller.sal.action.Action;
import org.opendaylight.controller.sal.action.Controller;
import org.opendaylight.controller.sal.action.Drop;
import org.opendaylight.controller.sal.core.ConstructionException;
import org.opendaylight.controller.sal.core.Node;
import org.opendaylight.controller.sal.core.NodeConnector;
+import org.opendaylight.controller.sal.core.NodeTable;
import org.opendaylight.controller.sal.flowprogrammer.Flow;
import org.opendaylight.controller.sal.match.Match;
import org.opendaylight.controller.sal.match.MatchType;
import org.opendaylight.controller.sal.reader.IPluginInReadService;
import org.opendaylight.controller.sal.reader.NodeConnectorStatistics;
import org.opendaylight.controller.sal.reader.NodeDescription;
-
+import org.opendaylight.controller.sal.reader.NodeTableStatistics;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Stub Implementation for IPluginInReadService used by SAL
- *
- *
+ *
+ *
*/
public class ReadService implements IPluginInReadService {
private static final Logger logger = LoggerFactory
/**
* Function called by the dependency manager when all the required
* dependencies are satisfied
- *
+ *
*/
void init() {
}
* Function called by the dependency manager when at least one dependency
* become unsatisfied or when the component is shutting down because for
* example bundle is being stopped.
- *
+ *
*/
void destroy() {
}
/**
* Function called by dependency manager after "init ()" is called and after
* the services provided by the class are registered in the service registry
- *
+ *
*/
void start() {
}
* Function called by the dependency manager before the services exported by
* the component are unregistered, this will be followed by a "destroy ()"
* calls
- *
+ *
*/
void stop() {
}
ArrayList<FlowOnNode> list = new ArrayList<FlowOnNode>();
ArrayList<Action> actionList = new ArrayList<Action>();
- actionList.add(new Drop());
+ actionList.add(new Drop()); //IT assumes this is first element
actionList.add(new Loopback());
actionList.add(new Flood());
actionList.add(new FloodAll());
actionList.add(new SetTpSrc(4201));
actionList.add(new SetTpDst(8080));
+ short priority = 3500; //IT assumes this value
for (Action a : actionList) {
Flow flow = new Flow();
Match match = new Match();
List<Action> actions = new ArrayList<Action>();
actions.add(a);
flow.setActions(actions);
- flow.setPriority((short) 3500);
+ flow.setPriority(priority++);
flow.setIdleTimeout((short) 1000);
flow.setHardTimeout((short) 2000);
flow.setId(12345);
return 100;
}
+ @Override
+ public NodeTableStatistics readNodeTable(NodeTable table, boolean b) {
+ NodeTableStatistics stats = new NodeTableStatistics();
+ stats.setNodeTable(table);
+ stats.setActiveCount(4);
+ stats.setLookupCount(4);
+ stats.setMatchedCount(4);
+
+ return stats;
+ }
+
+ @Override
+ public List<NodeTableStatistics> readAllNodeTable(Node node, boolean cached) {
+ NodeTableStatistics stats = new NodeTableStatistics();
+ try {
+ NodeTable nt = new NodeTable(NodeTable.NodeTableIDType.OPENFLOW, Byte.valueOf("10"), node);
+ stats.setNodeTable(nt);
+ } catch (ConstructionException e) {
+ // couldn't create nodetable.
+ }
+
+ stats.setActiveCount(4);
+ stats.setLookupCount(4);
+ stats.setMatchedCount(4);
+
+ List<NodeTableStatistics> result = new ArrayList<NodeTableStatistics>();
+ result.add(stats);
+ return result;
+ }
}