alshabib
Committed by Gerrit Code Review

adding a discriminant to OF rules for q-in-q tags.

Change-Id: Ic192f950b07fb18673659867631fea87ae7d6172
...@@ -383,7 +383,7 @@ public class OltPipeline extends AbstractHandlerBehaviour implements Pipeliner { ...@@ -383,7 +383,7 @@ public class OltPipeline extends AbstractHandlerBehaviour implements Pipeliner {
383 return; 383 return;
384 } 384 }
385 385
386 - Instruction output = fetchOutput(fwd, "downstream"); 386 + Instructions.OutputInstruction output = (Instructions.OutputInstruction) fetchOutput(fwd, "downstream");
387 387
388 if (output == null) { 388 if (output == null) {
389 return; 389 return;
...@@ -396,6 +396,7 @@ public class OltPipeline extends AbstractHandlerBehaviour implements Pipeliner { ...@@ -396,6 +396,7 @@ public class OltPipeline extends AbstractHandlerBehaviour implements Pipeliner {
396 Criterion outerVlan = selector.getCriterion(Criterion.Type.VLAN_VID); 396 Criterion outerVlan = selector.getCriterion(Criterion.Type.VLAN_VID);
397 Criterion innerVlan = selector.getCriterion(Criterion.Type.INNER_VLAN_VID); 397 Criterion innerVlan = selector.getCriterion(Criterion.Type.INNER_VLAN_VID);
398 Criterion inport = selector.getCriterion(Criterion.Type.IN_PORT); 398 Criterion inport = selector.getCriterion(Criterion.Type.IN_PORT);
399 + Criterion bullshit = Criteria.matchMetadata(output.port().toLong());
399 400
400 if (outerVlan == null || innerVlan == null || inport == null) { 401 if (outerVlan == null || innerVlan == null || inport == null) {
401 log.error("Forwarding objective is underspecified: {}", fwd); 402 log.error("Forwarding objective is underspecified: {}", fwd);
...@@ -410,7 +411,7 @@ public class OltPipeline extends AbstractHandlerBehaviour implements Pipeliner { ...@@ -410,7 +411,7 @@ public class OltPipeline extends AbstractHandlerBehaviour implements Pipeliner {
410 .forDevice(deviceId) 411 .forDevice(deviceId)
411 .makePermanent() 412 .makePermanent()
412 .withPriority(fwd.priority()) 413 .withPriority(fwd.priority())
413 - .withSelector(buildSelector(inport, outerVlan)) 414 + .withSelector(buildSelector(inport, outerVlan, bullshit))
414 .withTreatment(buildTreatment(popAndRewrite.getLeft(), 415 .withTreatment(buildTreatment(popAndRewrite.getLeft(),
415 Instructions.transition(QQ_TABLE))); 416 Instructions.transition(QQ_TABLE)));
416 417
......