Search in sources :

Example 21 with PipelineTraceableOutput

use of org.onosproject.net.PipelineTraceableOutput in project onos by opennetworkinglab.

the class OfdpaPipelineTraceableTest method testOfdpaPuntLldp.

/**
 * Test punt lldp for ovs-ofdpa.
 */
@Test
public void testOfdpaPuntLldp() {
    PipelineTraceableInput pipelineInput = new PipelineTraceableInput(new PipelineTraceablePacket(IN_PUNT_LLDP_PACKET), OFDPA_CP, getDataPlaneEntities(OFDPA_DRIVER, PUNT_LLDP_OFDPA));
    PipelineTraceable pipelineTraceable = setUpOfdpa();
    PipelineTraceableOutput pipelineOutput = pipelineTraceable.apply(pipelineInput);
    assertNotNull(pipelineOutput);
    assertThat(pipelineOutput.hitChains().size(), is(1));
    assertThat(pipelineOutput.result(), is(PipelineTraceableResult.SUCCESS));
    PipelineTraceableHitChain hitChain = pipelineOutput.hitChains().get(0);
    assertNotNull(hitChain);
    List<List<DataPlaneEntity>> chains = getHitChains(PUNT_LLDP_OFDPA);
    assertThat(chains.size(), is(1));
    assertNotNull(hitChain.outputPort());
    assertThat(hitChain.outputPort().port(), is(PortNumber.CONTROLLER));
    assertThat(hitChain.hitChain().size(), is(4));
    assertEquals(IN_PUNT_LLDP_PACKET, hitChain.egressPacket().packet());
    assertFalse(hitChain.isDropped());
    assertEquals(chains.get(0), hitChain.hitChain());
}
Also used : PipelineTraceable(org.onosproject.net.behaviour.PipelineTraceable) List(java.util.List) PipelineTraceableOutput(org.onosproject.net.PipelineTraceableOutput) PipelineTraceableHitChain(org.onosproject.net.PipelineTraceableHitChain) PipelineTraceableInput(org.onosproject.net.PipelineTraceableInput) PipelineTraceablePacket(org.onosproject.net.PipelineTraceablePacket) Test(org.junit.Test)

Aggregations

PipelineTraceableHitChain (org.onosproject.net.PipelineTraceableHitChain)21 PipelineTraceableOutput (org.onosproject.net.PipelineTraceableOutput)21 PipelineTraceablePacket (org.onosproject.net.PipelineTraceablePacket)21 List (java.util.List)20 Test (org.junit.Test)20 PipelineTraceableInput (org.onosproject.net.PipelineTraceableInput)20 PipelineTraceable (org.onosproject.net.behaviour.PipelineTraceable)20 ArrayList (java.util.ArrayList)1 ConnectPoint (org.onosproject.net.ConnectPoint)1 DataPlaneEntity (org.onosproject.net.DataPlaneEntity)1 PortNumber (org.onosproject.net.PortNumber)1 DefaultTrafficSelector (org.onosproject.net.flow.DefaultTrafficSelector)1 FlowEntry (org.onosproject.net.flow.FlowEntry)1 IndexTableId (org.onosproject.net.flow.IndexTableId)1 TableId (org.onosproject.net.flow.TableId)1 TrafficSelector (org.onosproject.net.flow.TrafficSelector)1 VlanIdCriterion (org.onosproject.net.flow.criteria.VlanIdCriterion)1 Instruction (org.onosproject.net.flow.instructions.Instruction)1 OutputInstruction (org.onosproject.net.flow.instructions.Instructions.OutputInstruction)1 L2ModificationInstruction (org.onosproject.net.flow.instructions.L2ModificationInstruction)1