use of org.opendaylight.openflowjava.protocol.impl.clients.WaitForMessageEvent in project openflowplugin by opendaylight.
the class IntegrationTest method testHandshakeAndEcho.
/**
* Library integration and communication test with handshake + echo exchange.
*/
@Test
public void testHandshakeAndEcho() throws Exception {
setUp(TransportProtocol.TCP);
final int amountOfCLients = 1;
final Deque<ClientEvent> scenario = ScenarioFactory.createHandshakeScenario();
scenario.addFirst(new SleepEvent(1000));
scenario.addFirst(new SendEvent(ByteBufUtils.hexStringToBytes("04 02 00 08 00 00 00 04")));
scenario.addFirst(new SleepEvent(1000));
scenario.addFirst(new WaitForMessageEvent(ByteBufUtils.hexStringToBytes("04 03 00 08 00 00 00 04")));
final ScenarioHandler handler = new ScenarioHandler(scenario);
final List<OFClient> clients = createAndStartClient(amountOfCLients, handler, TransportProtocol.TCP, ClientType.SIMPLE);
final OFClient firstClient = clients.get(0);
firstClient.getScenarioDone().get();
LOGGER.debug("testHandshakeAndEcho() Finished");
}
use of org.opendaylight.openflowjava.protocol.impl.clients.WaitForMessageEvent in project openflowplugin by opendaylight.
the class ScenarioFactory method createHandshakeScenarioNoVBM_OF10_TwoHello.
/**
* Attempt to simulate the MLX running 1.0 talking to ODL
*
* @return handshake scenario without switch version bitmap
*/
public static Deque<ClientEvent> createHandshakeScenarioNoVBM_OF10_TwoHello() {
Deque<ClientEvent> stack = new ArrayDeque<>();
stack.addFirst(new SendEvent(ByteBufUtils.hexStringToBytes("01 00 00 08 00 00 01 67")));
stack.addFirst(new WaitForMessageEvent(ByteBufUtils.hexStringToBytes("04 00 00 10 00 00 00 15 00 01 00 08 00 00 00 12")));
stack.addFirst(new SendEvent(ByteBufUtils.hexStringToBytes("01 01 00 0c 00 00 00 15 00 00 00 00")));
stack.addFirst(new WaitForMessageEvent(ByteBufUtils.hexStringToBytes("01 00 00 08 00 00 01 68")));
stack.addFirst(new SendEvent(ByteBufUtils.hexStringToBytes("01 00 00 08 00 00 01 68")));
stack.addFirst(new WaitForMessageEvent(ByteBufUtils.hexStringToBytes("01 05 00 08 00 00 01 69")));
stack.addFirst(new SendEvent(ByteBufUtils.hexStringToBytes("01 06 00 80 00 00 01 69 cc 4e 24 1c 4a 00 00 00" + " 00 00 01 00 01 00 00 00 00 00 00 07 00 00 01 0f" + " 00 61 cc 4e 24 1c 4a 60 65 74 68 33 2f 31 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 11 00 00 00 01" + " 00 00 01 40 00 00 01 40 00 00 01 40 00 00 01 40" + " 00 62 cc 4e 24 1c 4a 61 65 74 68 33 2f 32 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 11 00 00 00 01" + " 00 00 01 40 00 00 01 40 00 00 01 40 00 00 01 40")));
stack.addFirst(new WaitForMessageEvent(ByteBufUtils.hexStringToBytes("01 10 00 0c 00 00 00 01 00 00 00 00")));
stack.addFirst(new SendEvent(ByteBufUtils.hexStringToBytes("01 11 04 2c 00 00 00 01 00 00 00 00 42 72 6f 63" + " 61 64 65 20 43 6f 6d 6d 75 6e 69 63 61 74 69" + " 6f 6e 73 2c 20 49 6e 63 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 4d 75 6c" + " 74 69 2d 53 65 72 76 69 63 65 20 49 72 6f 6e" + " 77 61 72 65 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 4e 49" + " 20 35 2e 37 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4e" + " 6f 6e 65 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 4e 6f 6e 65 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00")));
stack.addFirst(new SleepEvent(5000));
addSleep(stack);
return stack;
}
use of org.opendaylight.openflowjava.protocol.impl.clients.WaitForMessageEvent in project openflowplugin by opendaylight.
the class ScenarioFactory method createHandshakeScenarioNOVBM_OF10_OneHello.
/**
* Attempt to simulate the MLX running 1.0 talking to ODL
*
* @return handshake scenario without switch version bitmap
*/
public static Deque<ClientEvent> createHandshakeScenarioNOVBM_OF10_OneHello() {
System.out.println("createHandshakeScenarioMininet");
Deque<ClientEvent> stack = new ArrayDeque<>();
stack.addFirst(new SendEvent(ByteBufUtils.hexStringToBytes("01 00 00 08 00 00 00 0d")));
stack.addFirst(new WaitForMessageEvent(ByteBufUtils.hexStringToBytes("04 00 00 10 00 00 00 15")));
stack.addFirst(new WaitForMessageEvent(ByteBufUtils.hexStringToBytes("01 00 00 08 00 00 00 0e")));
stack.addFirst(new WaitForMessageEvent(ByteBufUtils.hexStringToBytes("01 05 00 08 00 00 00 0f")));
stack.addFirst(new SendEvent(ByteBufUtils.hexStringToBytes("01 01 00 14 00 00 00 0e 00 01 00 01 01 00 00 08 00 00 00 0e")));
stack.addFirst(new SendEvent(ByteBufUtils.hexStringToBytes(" 01 06 00 b0 00 00 00 0f 00 00 00 00 00 00 00 01 00 00 01 00 fe 00" + " 00 00 00 00 00 c7 00 00 0f ff 00 01 fa 01 ff 57 86 aa 73 31 2d" + " 65 74 68 31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01" + " 00 00 00 c0 00 00 00 00 00 00 00 00 00 00 00 00 00 02 c2 51 d8" + " 24 38 97 73 31 2d 65 74 68 32 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 c0 00 00 00 00 00 00 00 00 00 00 00" + " 00 ff fe ea bd f8 db 41 40 73 31 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" + " 00 00 00 00 00 00 00")));
addSleep(stack);
return stack;
}
use of org.opendaylight.openflowjava.protocol.impl.clients.WaitForMessageEvent in project openflowplugin by opendaylight.
the class OFPluginFlowTest method testFlowMod.
/**
* test basic integration with OFLib running the handshake
* @throws Exception
*/
@Test
public void testFlowMod() throws Exception {
LOG.debug("testFlowMod integration test");
TriggerTestListener brmListener = new TriggerTestListener();
final DataTreeIdentifier<FlowCapableNode> dataTreeIdentifier = new DataTreeIdentifier(LogicalDatastoreType.OPERATIONAL, getWildcardPath());
dataBroker.registerDataTreeChangeListener(dataTreeIdentifier, brmListener);
switchSim = createSimpleClient();
switchSim.setSecuredClient(false);
Deque<ClientEvent> handshakeScenario = ScenarioFactory.createHandshakeScenarioVBM(ScenarioFactory.VERSION_BITMAP_13, (short) 0, ScenarioFactory.VERSION_BITMAP_10_13, false);
handshakeScenario.addFirst(new SleepEvent(6000L));
ScenarioFactory.appendPostHandshakeScenario(handshakeScenario, true);
WaitForMessageEvent flowModEvent = new WaitForMessageEvent(ByteBufUtils.hexStringToBytes("04 0e 00 58 00 00 00 03 00 00 00 00 00 00 00 0a " + "00 00 00 00 00 00 00 0a 00 00 00 00 00 00 80 00 " + "ff ff ff ff ff ff ff ff ff ff ff ff 00 01 00 00 " + "00 01 00 16 80 00 0a 02 08 00 80 00 19 08 0a 00 " + "00 01 ff ff ff 00 00 00 00 04 00 10 00 00 00 00 " + "00 18 00 08 00 00 00 00"));
handshakeScenario.addFirst(flowModEvent);
ScenarioHandler scenario = new ScenarioHandler(handshakeScenario);
switchSim.setScenarioHandler(scenario);
scenarioPool.execute(switchSim);
LOG.info("finishing testFlowMod");
}
Aggregations