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 / RROLabelSubobjectParser.java
index bac5ee2a2e7af2a6ff114797f761d15f43800b8f..09523ccbe66974d4b233cce93fe1460d57ada079 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.record.route.subobjects.subobject.type.LabelCaseBuilder;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.record.route.subobjects.subobject.type.label._case.Label;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.record.route.subobjects.subobject.type.label._case.LabelBuilder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class RROLabelSubobjectParser implements RROSubobjectParser, RROSubobjectSerializer {
+    private static final Logger LOG = LoggerFactory.getLogger(RROLabelSubobjectParser.class);
 
     public static final int TYPE = 3;
 
@@ -61,7 +64,8 @@ public class RROLabelSubobjectParser implements RROSubobjectParser, RROSubobject
 
         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 RRO label subobject with unknown C-TYPE: {}", cType);
+            return null;
         }
         final LabelBuilder builder = new LabelBuilder()
                 .setUniDirectional(reserved.get(U_FLAG_OFFSET))