Hello experts,
I am using the Carbon-4.2 version of the openflow plugin. I am attempting
to install a flow where I match on a vlan tag and strip the tag if present
and go to a target table. I find that the vlan strip action never gets
added to my flow. Here is what I get
cookie=0x34c13baf, duration=10.147s, table=3, n_packets=0, n_bytes=0,
priority=35,dl_vlan=1001 actions=goto_table:4
ONLY the gototable instruction appears in the flow and not the strip vlan
tag instruction.
What am I doing wrong? Is VLAN tag manipulation working in Carbon-42? I am
using the Java API to try to do this. Thank you in advance.
Here's my code to strip the vlan
InstructionBuilder ib = new InstructionBuilder();
tagStripVlanActionCaseBuilder stripCaseBuilder = new
StripVlanActionCaseBuilder();
StripVlanActionBuilder stripBuilder = new StripVlanActionBuilder();
stripCaseBuilder.setStripVlanAction(stripBuilder.build());
ActionBuilder ab = new
ActionBuilder().setAction(stripCaseBuilder.build());
ab.setOrder(order);
List<Action> actionList = new ArrayList<Action>();
actionList.add(ab.build());
WriteActionsBuilder wab = new WriteActionsBuilder();
wab.setAction(actionList);
// Create an Apply Action
ApplyActionsBuilder aab = new ApplyActionsBuilder();
aab.setAction(actionList);
// Wrap our Apply Action in an Instruction
ib.setInstruction(new
WriteActionsCaseBuilder().setWriteActions(wab.build()).build());
Instruction stripVlanTagInstruction = ib.build();
// Create the goto table instruction
Instruction gotoInstruction = ib.setInstruction(new
GoToTableCaseBuilder()
.setGoToTable(new
GoToTableBuilder().setTableId(SdnMudConstants.L2SWITCH_TABLE).build()).build())
.setOrder(1).build();
// Here's the section of the code that builds the flow.
instructions.add(stripVlanTagInstruction);
instructions.add(gotoInstruction);
InstructionsBuilder insb = new InstructionsBuilder();
insb.setInstruction(instructions);
FlowBuilder fb = new FlowBuilder();
fb.setStrict(false);
fb.setBarrier(false);
fb.setMatch(matchBuilder.build()).setTableId(tableId)
.setFlowName("vlanMatchStripVlanTagGoToL2Switch").setId(flowId).setKey(new
FlowKey(flowId))
.setCookie(flowCookie).setInstructions(insb.build())
.setPriority(35).setBufferId(OFConstants.ANY)
.setHardTimeout(0).setIdleTimeout(0).setFlags(new
FlowModFlags(false, false, false, false, false));
--
M. Ranganathan
_______________________________________________
openflowplugin-dev mailing list
[email protected]
https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev