X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fprotocol_plugins%2Fstub%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fprotocol_plugins%2Fstub%2Finternal%2FReadService.java;h=27ba897fdfc57b44e0d2d4c2ae391ffeae9364c3;hb=refs%2Fchanges%2F49%2F449%2F1;hp=d331ff0602acff92da8d92fdebfc7a6f15cae190;hpb=b4f7106f7b4267b51701eff2d3499c0e12423048;p=controller.git diff --git a/opendaylight/protocol_plugins/stub/src/main/java/org/opendaylight/controller/protocol_plugins/stub/internal/ReadService.java b/opendaylight/protocol_plugins/stub/src/main/java/org/opendaylight/controller/protocol_plugins/stub/internal/ReadService.java index d331ff0602..27ba897fdf 100644 --- a/opendaylight/protocol_plugins/stub/src/main/java/org/opendaylight/controller/protocol_plugins/stub/internal/ReadService.java +++ b/opendaylight/protocol_plugins/stub/src/main/java/org/opendaylight/controller/protocol_plugins/stub/internal/ReadService.java @@ -12,10 +12,31 @@ 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.action.Flood; +import org.opendaylight.controller.sal.action.FloodAll; +import org.opendaylight.controller.sal.action.HwPath; +import org.opendaylight.controller.sal.action.Loopback; +import org.opendaylight.controller.sal.action.Output; +import org.opendaylight.controller.sal.action.PopVlan; +import org.opendaylight.controller.sal.action.PushVlan; +import org.opendaylight.controller.sal.action.SetDlDst; +import org.opendaylight.controller.sal.action.SetDlSrc; +import org.opendaylight.controller.sal.action.SetDlType; +import org.opendaylight.controller.sal.action.SetNwDst; +import org.opendaylight.controller.sal.action.SetNwSrc; +import org.opendaylight.controller.sal.action.SetNwTos; +import org.opendaylight.controller.sal.action.SetTpDst; +import org.opendaylight.controller.sal.action.SetTpSrc; +import org.opendaylight.controller.sal.action.SetVlanCfi; +import org.opendaylight.controller.sal.action.SetVlanId; +import org.opendaylight.controller.sal.action.SetVlanPcp; +import org.opendaylight.controller.sal.action.SwPath; 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; @@ -23,7 +44,7 @@ import org.opendaylight.controller.sal.reader.FlowOnNode; 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; /** * Stub Implementation for IPluginInReadService used by SAL * @@ -80,34 +101,71 @@ public class ReadService implements IPluginInReadService { @Override public List readAllFlow(Node node, boolean cached) { - Flow flow = new Flow(); - Match match = new Match(); + ArrayList list = new ArrayList(); + ArrayList actionList = new ArrayList(); + actionList.add(new Drop()); + actionList.add(new Loopback()); + actionList.add(new Flood()); + actionList.add(new FloodAll()); + actionList.add(new Controller()); + actionList.add(new SwPath()); + actionList.add(new HwPath()); try { - match.setField(MatchType.NW_DST, InetAddress.getByName("1.1.1.1")); + actionList.add(new Output(new NodeConnector("STUB", 0xCAFE, node))); + } catch (ConstructionException e) { + + } + byte dst[] = { (byte) 1, (byte) 2, (byte) 3, (byte) 4, (byte) 5 }; + byte src[] = { (byte) 5, (byte) 4, (byte) 3, (byte) 2, (byte) 1 }; + actionList.add(new SetDlSrc(src)); + actionList.add(new SetDlDst(dst)); + actionList.add(new SetDlType(10)); + + actionList.add(new SetVlanId(2)); + actionList.add(new SetVlanPcp(3)); + actionList.add(new SetVlanCfi(1)); + + actionList.add(new PopVlan()); + actionList.add(new PushVlan(0x8100, 1, 1, 1234)); + + try { + actionList.add(new SetNwSrc(InetAddress.getByName("2.2.2.2"))); + actionList.add(new SetNwDst(InetAddress.getByName("1.1.1.1"))); } catch (UnknownHostException e) { } - flow.setMatch(match); - Action action = new Drop(); - - List actions = new ArrayList(); - actions.add(action); - flow.setActions(actions); - flow.setPriority((short)3500); - flow.setIdleTimeout((short)1000); - flow.setHardTimeout((short)2000); - flow.setId(12345); - - FlowOnNode fn1 = new FlowOnNode(flow); - fn1.setByteCount(100); - fn1.setDurationNanoseconds(400); - fn1.setDurationSeconds(40); - fn1.setTableId((byte) 0x1); - fn1.setPacketCount(200); + actionList.add(new SetNwTos(0x10)); + actionList.add(new SetTpSrc(4201)); + actionList.add(new SetTpDst(8080)); - ArrayList list = new ArrayList(); - list.add(fn1); + for (Action a : actionList) { + Flow flow = new Flow(); + Match match = new Match(); + try { + match.setField(MatchType.NW_DST, + InetAddress.getByName("1.1.1.1")); + } catch (UnknownHostException e) { + + } + flow.setMatch(match); + List actions = new ArrayList(); + actions.add(a); + flow.setActions(actions); + flow.setPriority((short) 3500); + flow.setIdleTimeout((short) 1000); + flow.setHardTimeout((short) 2000); + flow.setId(12345); + + FlowOnNode fn1 = new FlowOnNode(flow); + fn1.setByteCount(100); + fn1.setDurationNanoseconds(400); + fn1.setDurationSeconds(40); + fn1.setTableId((byte) 0x1); + fn1.setPacketCount(200); + + list.add(fn1); + } return list; } @@ -147,11 +205,11 @@ public class ReadService implements IPluginInReadService { public List readAllNodeConnector(Node node, boolean cached) { NodeConnectorStatistics stats = new NodeConnectorStatistics(); - try{ + try { NodeConnector nc = new NodeConnector("STUB", 0xCAFE, node); stats.setNodeConnector(nc); - }catch(ConstructionException e){ - //couldn't create nodeconnector. + } catch (ConstructionException e) { + // couldn't create nodeconnector. } stats.setCollisionCount(4); stats.setReceiveByteCount(1000); @@ -176,4 +234,33 @@ public class ReadService implements IPluginInReadService { 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 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 result = new ArrayList(); + result.add(stats); + return result; + } }