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 fb3bd4e..38b7eda 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
@@ -227,15 +227,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);
@@ -944,7 +938,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();