Charles Chan
Committed by Gerrit Code Review

Revert part of the changes in Ofdpa2Pipeline

It is possible that one of vidCriterion and ethCriterion is missing
We should just skip the corresponding table and proceed

Change-Id: I220e4efb8c8d5c163f541ad41e0a4d80b6286afe
...@@ -335,9 +335,8 @@ public class Ofdpa2Pipeline extends AbstractHandlerBehaviour implements Pipeline ...@@ -335,9 +335,8 @@ public class Ofdpa2Pipeline extends AbstractHandlerBehaviour implements Pipeline
335 } 335 }
336 336
337 if (ethCriterion == null || ethCriterion.mac().equals(MacAddress.NONE)) { 337 if (ethCriterion == null || ethCriterion.mac().equals(MacAddress.NONE)) {
338 - log.warn("filtering objective missing dstMac, cannot program TMAC table"); 338 + // NOTE: it is possible that a filtering objective only has vidCriterion
339 - fail(filt, ObjectiveError.BADPARAMS); 339 + log.debug("filtering objective missing dstMac, cannot program TMAC table");
340 - return;
341 } else { 340 } else {
342 for (FlowRule tmacRule : processEthDstFilter(portCriterion, ethCriterion, 341 for (FlowRule tmacRule : processEthDstFilter(portCriterion, ethCriterion,
343 vidCriterion, assignedVlan, 342 vidCriterion, assignedVlan,
...@@ -348,11 +347,10 @@ public class Ofdpa2Pipeline extends AbstractHandlerBehaviour implements Pipeline ...@@ -348,11 +347,10 @@ public class Ofdpa2Pipeline extends AbstractHandlerBehaviour implements Pipeline
348 } 347 }
349 } 348 }
350 349
351 - if (ethCriterion == null || vidCriterion == null) { 350 + if (vidCriterion == null) {
352 - log.warn("filtering objective missing dstMac or VLAN, " 351 + // NOTE: it is possible that a filtering objective only has ethCriterion
352 + log.debug("filtering objective missing dstMac or VLAN, "
353 + "cannot program VLAN Table"); 353 + "cannot program VLAN Table");
354 - fail(filt, ObjectiveError.BADPARAMS);
355 - return;
356 } else { 354 } else {
357 /* 355 /*
358 * NOTE: Separate vlan filtering rules and assignment rules 356 * NOTE: Separate vlan filtering rules and assignment rules
......