Ignore unknown subobjects while parsing RRO/ERO objects in PCEP messages
[bgpcep.git] / pcep / base-parser / src / main / java / org / opendaylight / protocol / pcep / parser / subobject / EROLabelSubobjectParser.java
index 8b8a4896c1f7f17718c736fe8ed21a85fdf267c4..3a0f1a20a6d98019eb6f537337ec458164987c21 100644 (file)
@@ -25,8 +25,11 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.label._case.Label;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.basic.explicit.route.subobjects.subobject.type.label._case.LabelBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.label.subobject.LabelType;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class EROLabelSubobjectParser implements EROSubobjectParser, EROSubobjectSerializer {
+    private static final Logger LOG = LoggerFactory.getLogger(EROLabelSubobjectParser.class);
 
     public static final int TYPE = 3;
 
@@ -59,7 +62,8 @@ public class EROLabelSubobjectParser implements EROSubobjectParser, EROSubobject
 
         final LabelType labelType = this.registry.parseLabel(cType, buffer.slice());
         if (labelType == null) {
-            throw new PCEPDeserializerException("Unknown C-TYPE for ero label subobject. Passed: " + cType);
+            LOG.warn("Ignoring ERO label subobject with unknown C-TYPE: {}", cType);
+            return null;
         }
         final LabelBuilder lbuilder = new LabelBuilder()
                 .setUniDirectional(reserved.get(U_FLAG_OFFSET))