X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fprotocol_plugins%2Fopenflow%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fprotocol_plugin%2Fopenflow%2Finternal%2FFlowProgrammerServiceTest.java;h=ad225d94ddb7653fc223d3323079796d90278fa7;hb=refs%2Fchanges%2F47%2F747%2F1;hp=297223392ded7f0cac8620381011089222cd406d;hpb=29f7cfb54b580928c7feac63abce028a7014b0d5;p=controller.git diff --git a/opendaylight/protocol_plugins/openflow/src/test/java/org/opendaylight/controller/protocol_plugin/openflow/internal/FlowProgrammerServiceTest.java b/opendaylight/protocol_plugins/openflow/src/test/java/org/opendaylight/controller/protocol_plugin/openflow/internal/FlowProgrammerServiceTest.java index 297223392d..ad225d94dd 100644 --- a/opendaylight/protocol_plugins/openflow/src/test/java/org/opendaylight/controller/protocol_plugin/openflow/internal/FlowProgrammerServiceTest.java +++ b/opendaylight/protocol_plugins/openflow/src/test/java/org/opendaylight/controller/protocol_plugin/openflow/internal/FlowProgrammerServiceTest.java @@ -179,6 +179,55 @@ public class FlowProgrammerServiceTest { } } + @Test + public void testVlanNoneIdFlowConversion() throws Exception { + Node node = NodeCreator.createOFNode(1000l); + + /* + * The value 0 is used to indicate that no VLAN ID is set + * for SAL Flow. + */ + short vlan = (short) 0; + + /* + * Create a SAL Flow aFlow + */ + Match match = new Match(); + match.setField(MatchType.DL_VLAN, vlan); + + List actions = new ArrayList(); + + Flow aFlow = new Flow(match, actions); + + /* + * Convert the SAL aFlow to OF Flow + */ + FlowConverter salToOF = new FlowConverter(aFlow); + OFMatch ofMatch = salToOF.getOFMatch(); + List ofActions = salToOF.getOFActions(); + + /* + * The value 0xffff (OFP_VLAN_NONE) is used to indicate + * that no VLAN ID is set for OF Flow. + */ + Assert.assertEquals((short) 0xffff, ofMatch.getDataLayerVirtualLan()); + + /* + * Convert the OF Flow to SAL Flow bFlow + */ + FlowConverter ofToSal = new FlowConverter(ofMatch, ofActions); + Flow bFlow = ofToSal.getFlow(node); + Match bMatch = bFlow.getMatch(); + + /* + * Verify the converted SAL flow bFlow is equivalent to the original SAL Flow + */ + Assert + .assertTrue(((Short) match.getField(MatchType.DL_VLAN) + .getValue()).equals((Short) bMatch.getField( + MatchType.DL_VLAN).getValue())); + } + @Test public void testV6toSALFlowConversion() throws Exception { Node node = NodeCreator.createOFNode(12l);