Ignore unknown subobjects while parsing RRO/ERO objects in PCEP messages
[bgpcep.git] / rsvp / impl / src / main / java / org / opendaylight / protocol / rsvp / parser / impl / subobject / ero / EROLabelSubobjectParser.java
index dea75ea25bb4c916591453a99809c4a184192a80..58286303d8667e9bd2f73cea0a3fa1359f357a7a 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.explicit.route.subobjects.list.SubobjectContainer;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.rsvp.rev150820.explicit.route.subobjects.list.SubobjectContainerBuilder;
 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 RSVPParsingException("Unknown C-TYPE for ero label subobject. Passed: " + cType);
+            LOG.warn("Ignoring ERO label subobject with unknown C-TYPE: {}", cType);
+            return null;
         }
         final LabelBuilder builder = new LabelBuilder();
         builder.setUniDirectional(reserved.get(U_FLAG_OFFSET));