Not failing with BADPARAMS on IGMP to allow IGMP on NNI port for OLT
Change-Id: I4b0458f988970b4654ed8537eb7b6cf3f297b536
(cherry picked from commit 79bc506e6e3d5435517b5499f130af9a7092b112)
diff --git a/drivers/default/src/main/java/org/onosproject/driver/pipeline/OltPipeline.java b/drivers/default/src/main/java/org/onosproject/driver/pipeline/OltPipeline.java
index b3d1db8..e5bf0bc 100644
--- a/drivers/default/src/main/java/org/onosproject/driver/pipeline/OltPipeline.java
+++ b/drivers/default/src/main/java/org/onosproject/driver/pipeline/OltPipeline.java
@@ -226,15 +226,9 @@
return;
}
if (ipProto.protocol() == IPv4.PROTOCOL_IGMP) {
-
- if (vlanId.isEmpty() || vlanPcp.isEmpty()) {
- log.warn("Missing IGMP vlan or pcp");
- fail(filter, ObjectiveError.BADPARAMS);
- return;
- }
provisionIgmp(filter, ethType, ipProto, output,
- (L2ModificationInstruction) vlanId.get(),
- (L2ModificationInstruction) vlanPcp.get());
+ vlanId.orElse(null),
+ vlanPcp.orElse(null));
} else if (ipProto.protocol() == IPv4.PROTOCOL_UDP) {
UdpPortCriterion udpSrcPort = (UdpPortCriterion)
filterForCriterion(filter.conditions(), Criterion.Type.UDP_SRC);
@@ -933,7 +927,7 @@
private void provisionIgmp(FilteringObjective filter, EthTypeCriterion ethType,
IPProtocolCriterion ipProto,
Instructions.OutputInstruction output,
- L2ModificationInstruction vlan, L2ModificationInstruction pcp) {
+ Instruction vlan, Instruction pcp) {
Instruction meter = filter.meta().metered();
Instruction writeMetadata = filter.meta().writeMetadata();