@Test public void testFloodNoBufferId() throws Exception { IOFSwitch mockSwitch = createMock(IOFSwitch.class); EasyMock.expect(mockSwitch.getOFFactory()).andReturn(OFFactories.getFactory(OFVersion.OF_13)).anyTimes(); OFActionOutput ao = OFFactories.getFactory(OFVersion.OF_13).actions().buildOutput().setPort(OFPort.FLOOD).build(); List<OFAction> al = new ArrayList<OFAction>(); al.add(ao); OFPacketOut po = OFFactories.getFactory(OFVersion.OF_13).buildPacketOut() .setActions(al) .setBufferId(OFBufferId.NO_BUFFER) .setXid(1) .setInPort(OFPort.of(1)) .setData(this.testPacketSerialized).build(); Capture<OFMessage> wc1 = new Capture<OFMessage>(CaptureType.ALL); mockSwitch.write(capture(wc1)); replay(mockSwitch); IOFMessageListener listener = mockFloodlightProvider.getListeners().get( OFType.PACKET_IN).get(0); listener.receive(mockSwitch, this.packetIn, parseAndAnnotate(this.packetIn)); verify(mockSwitch); assertTrue(wc1.hasCaptured()); OFMessage m = wc1.getValue(); assertTrue(OFMessageUtils.equalsIgnoreXid(m, po)); }
public Command receive(IOFSwitch sw, OFMessage msg, FloodlightContext cntx) { OFMessage outMessage; HubType ht = HubType.USE_PACKET_OUT; switch (ht) { case USE_FLOW_MOD: outMessage = createHubFlowMod(sw, msg); break; default: case USE_PACKET_OUT: outMessage = createHubPacketOut(sw, msg); break; } sw.write(outMessage); return Command.CONTINUE; }
Hub implements IFloodlightModule, IOFMessageListener { public Command receive(IOFSwitch sw, OFMessage msg, FloodlightContext cntx) { OFMessage outMessage; HubType ht = HubType.USE_PACKET_OUT; switch (ht) { case USE_FLOW_MOD: outMessage = createHubFlowMod(sw, msg); break; default: case USE_PACKET_OUT: outMessage = createHubPacketOut(sw, msg); break; } sw.write(outMessage); return Command.CONTINUE; } }
Hub implements IFloodlightModule, IOFMessageListener { public Command receive(IOFSwitch sw, OFMessage msg, FloodlightContext cntx) { OFMessage outMessage; HubType ht = HubType.USE_PACKET_OUT; switch (ht) { case USE_FLOW_MOD: outMessage = createHubFlowMod(sw, msg); break; default: case USE_PACKET_OUT: outMessage = createHubPacketOut(sw, msg); break; } sw.write(outMessage); return Command.CONTINUE; }  }
Hub implements IFloodlightModule, IOFMessageListener { public Command receive(IOFSwitch sw, OFMessage msg, FloodlightContext cntx) { OFMessage outMessage; HubType ht = HubType.USE_PACKET_OUT; switch (ht) { case USE_FLOW_MOD: outMessage = createHubFlowMod(sw, msg); break; default: case USE_PACKET_OUT: outMessage = createHubPacketOut(sw, msg); break; } sw.write(outMessage); return Command.CONTINUE; }  void setFloodlightProvider(IFloodlightProviderService floodlightProvider); @Override String getName(); Command receive(IOFSwitch sw, OFMessage msg, FloodlightContext cntx); @Override boolean isCallbackOrderingPrereq(OFType type, String name); @Override boolean isCallbackOrderingPostreq(OFType type, String name); @Override Collection<Class<? extends IFloodlightService>> getModuleServices(); @Override Map<Class<? extends IFloodlightService>, IFloodlightService> getServiceImpls(); @Override Collection<Class<? extends IFloodlightService>> getModuleDependencies(); @Override void init(FloodlightModuleContext context); @Override void startUp(FloodlightModuleContext context); }
Hub implements IFloodlightModule, IOFMessageListener { public Command receive(IOFSwitch sw, OFMessage msg, FloodlightContext cntx) { OFMessage outMessage; HubType ht = HubType.USE_PACKET_OUT; switch (ht) { case USE_FLOW_MOD: outMessage = createHubFlowMod(sw, msg); break; default: case USE_PACKET_OUT: outMessage = createHubPacketOut(sw, msg); break; } sw.write(outMessage); return Command.CONTINUE; }  void setFloodlightProvider(IFloodlightProviderService floodlightProvider); @Override String getName(); Command receive(IOFSwitch sw, OFMessage msg, FloodlightContext cntx); @Override boolean isCallbackOrderingPrereq(OFType type, String name); @Override boolean isCallbackOrderingPostreq(OFType type, String name); @Override Collection<Class<? extends IFloodlightService>> getModuleServices(); @Override Map<Class<? extends IFloodlightService>, IFloodlightService> getServiceImpls(); @Override Collection<Class<? extends IFloodlightService>> getModuleDependencies(); @Override void init(FloodlightModuleContext context); @Override void startUp(FloodlightModuleContext context);  }