Improve IM Message encoding (#19016)

diff --git a/src/app/CommandHandler.cpp b/src/app/CommandHandler.cpp
index ea5ee00..306cd85 100644
--- a/src/app/CommandHandler.cpp
+++ b/src/app/CommandHandler.cpp
@@ -302,7 +302,7 @@
         return AddStatus(concretePath, Protocols::InteractionModel::Status::NeedsTimedInteraction);
     }
 
-    err = aCommandElement.GetData(&commandDataReader);
+    err = aCommandElement.GetFields(&commandDataReader);
     if (CHIP_END_OF_TLV == err)
     {
         ChipLogDetail(DataManagement,
@@ -359,7 +359,7 @@
     ChipLogDetail(DataManagement, "Received group command for Group=%u Cluster=" ChipLogFormatMEI " Command=" ChipLogFormatMEI,
                   groupId, ChipLogValueMEI(clusterId), ChipLogValueMEI(commandId));
 
-    err = aCommandElement.GetData(&commandDataReader);
+    err = aCommandElement.GetFields(&commandDataReader);
     if (CHIP_END_OF_TLV == err)
     {
         ChipLogDetail(DataManagement,
@@ -488,7 +488,7 @@
     ReturnErrorOnFailure(path.Encode(aCommandPath));
     if (aStartDataStruct)
     {
-        ReturnErrorOnFailure(commandData.GetWriter()->StartContainer(TLV::ContextTag(to_underlying(CommandDataIB::Tag::kData)),
+        ReturnErrorOnFailure(commandData.GetWriter()->StartContainer(TLV::ContextTag(to_underlying(CommandDataIB::Tag::kFields)),
                                                                      TLV::kTLVType_Structure, mDataElementContainerType));
     }
     MoveToState(State::AddingCommand);
diff --git a/src/app/CommandHandler.h b/src/app/CommandHandler.h
index 3c5a4c4..e983e15 100644
--- a/src/app/CommandHandler.h
+++ b/src/app/CommandHandler.h
@@ -319,7 +319,7 @@
         ReturnErrorOnFailure(PrepareCommand(path, false));
         TLV::TLVWriter * writer = GetCommandDataIBTLVWriter();
         VerifyOrReturnError(writer != nullptr, CHIP_ERROR_INCORRECT_STATE);
-        ReturnErrorOnFailure(DataModel::Encode(*writer, TLV::ContextTag(to_underlying(CommandDataIB::Tag::kData)), aData));
+        ReturnErrorOnFailure(DataModel::Encode(*writer, TLV::ContextTag(to_underlying(CommandDataIB::Tag::kFields)), aData));
 
         return FinishCommand(/* aEndDataStruct = */ false);
     }
diff --git a/src/app/CommandSender.cpp b/src/app/CommandSender.cpp
index 94f1ac2..53cb5e8 100644
--- a/src/app/CommandSender.cpp
+++ b/src/app/CommandSender.cpp
@@ -274,7 +274,7 @@
             ReturnErrorOnFailure(commandPath.GetEndpointId(&endpointId));
             ReturnErrorOnFailure(commandPath.GetClusterId(&clusterId));
             ReturnErrorOnFailure(commandPath.GetCommandId(&commandId));
-            commandData.GetData(&commandDataReader);
+            commandData.GetFields(&commandDataReader);
             err             = CHIP_NO_ERROR;
             hasDataResponse = true;
         }
@@ -336,7 +336,7 @@
 
     if (aStartDataStruct)
     {
-        ReturnErrorOnFailure(invokeRequest.GetWriter()->StartContainer(TLV::ContextTag(to_underlying(CommandDataIB::Tag::kData)),
+        ReturnErrorOnFailure(invokeRequest.GetWriter()->StartContainer(TLV::ContextTag(to_underlying(CommandDataIB::Tag::kFields)),
                                                                        TLV::kTLVType_Structure, mDataElementContainerType));
     }
 
diff --git a/src/app/CommandSender.h b/src/app/CommandSender.h
index 1e9985e..4f5ab9a 100644
--- a/src/app/CommandSender.h
+++ b/src/app/CommandSender.h
@@ -196,7 +196,7 @@
         ReturnErrorOnFailure(PrepareCommand(aCommandPath, /* aStartDataStruct = */ false));
         TLV::TLVWriter * writer = GetCommandDataIBTLVWriter();
         VerifyOrReturnError(writer != nullptr, CHIP_ERROR_INCORRECT_STATE);
-        ReturnErrorOnFailure(DataModel::Encode(*writer, TLV::ContextTag(to_underlying(CommandDataIB::Tag::kData)), aData));
+        ReturnErrorOnFailure(DataModel::Encode(*writer, TLV::ContextTag(to_underlying(CommandDataIB::Tag::kFields)), aData));
         return FinishCommand(aTimedInvokeTimeoutMs);
     }
 
diff --git a/src/app/MessageDef/ArrayParser.cpp b/src/app/MessageDef/ArrayParser.cpp
index e7356c2..8f5980a 100644
--- a/src/app/MessageDef/ArrayParser.cpp
+++ b/src/app/MessageDef/ArrayParser.cpp
@@ -24,8 +24,7 @@
 {
     mReader.Init(aReader);
     VerifyOrReturnError(TLV::kTLVType_Array == mReader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
-    ReturnErrorOnFailure(mReader.EnterContainer(mOuterContainerType));
-    return CHIP_NO_ERROR;
+    return mReader.EnterContainer(mOuterContainerType);
 }
 } // namespace app
 } // namespace chip
diff --git a/src/app/MessageDef/AttributeDataIB.cpp b/src/app/MessageDef/AttributeDataIB.cpp
index 072b567..9eb0ef7 100644
--- a/src/app/MessageDef/AttributeDataIB.cpp
+++ b/src/app/MessageDef/AttributeDataIB.cpp
@@ -35,7 +35,7 @@
 
     if (aDepth == 0)
     {
-        PRETTY_PRINT("\tData = ");
+        PRETTY_PRINT("Data = ");
     }
     else
     {
@@ -187,7 +187,7 @@
 CHIP_ERROR AttributeDataIB::Parser::CheckSchemaValidity() const
 {
     CHIP_ERROR err      = CHIP_NO_ERROR;
-    int TagPresenceMask = 0;
+    int tagPresenceMask = 0;
     TLV::TLVReader reader;
 
     PRETTY_PRINT("AttributeDataIB =");
@@ -207,8 +207,8 @@
         {
         case to_underlying(Tag::kDataVersion):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kDataVersion))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kDataVersion));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kDataVersion))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kDataVersion));
             VerifyOrReturnError(TLV::kTLVType_UnsignedInteger == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
 
 #if CHIP_DETAIL_LOGGING
@@ -221,8 +221,8 @@
             break;
         case to_underlying(Tag::kPath):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kPath))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kPath));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kPath))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kPath));
             {
                 AttributePathIB::Parser path;
                 ReturnErrorOnFailure(path.Init(reader));
@@ -234,8 +234,8 @@
             break;
         case to_underlying(Tag::kData):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kData))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kData));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kData))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kData));
 
             PRETTY_PRINT_INCDEPTH();
             ReturnErrorOnFailure(ParseData(reader, 0));
@@ -253,20 +253,12 @@
     if (CHIP_END_OF_TLV == err)
     {
         // check for required fields:
-        const int RequiredFields = (1 << to_underlying(Tag::kPath)) | (1 << to_underlying(Tag::kData));
+        const int requiredFields = (1 << to_underlying(Tag::kPath)) | (1 << to_underlying(Tag::kData));
 
-        if ((TagPresenceMask & RequiredFields) == RequiredFields)
-        {
-            err = CHIP_NO_ERROR;
-        }
-        else
-        {
-            err = CHIP_ERROR_IM_MALFORMED_EVENT_DATA_ELEMENT;
-        }
+        err = (tagPresenceMask & requiredFields) == requiredFields ? CHIP_NO_ERROR : CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_DATA_IB;
     }
     ReturnErrorOnFailure(err);
-    ReturnErrorOnFailure(reader.ExitContainer(mOuterContainerType));
-    return CHIP_NO_ERROR;
+    return reader.ExitContainer(mOuterContainerType);
 }
 #endif // CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
 
@@ -274,8 +266,7 @@
 {
     TLV::TLVReader reader;
     ReturnErrorOnFailure(mReader.FindElementWithTag(TLV::ContextTag(to_underlying(Tag::kPath)), reader));
-    ReturnErrorOnFailure(apPath->Init(reader));
-    return CHIP_NO_ERROR;
+    return apPath->Init(reader);
 }
 
 CHIP_ERROR AttributeDataIB::Parser::GetDataVersion(chip::DataVersion * const apVersion) const
diff --git a/src/app/MessageDef/AttributeDataIBs.cpp b/src/app/MessageDef/AttributeDataIBs.cpp
index 53dba2d..412e5e6 100644
--- a/src/app/MessageDef/AttributeDataIBs.cpp
+++ b/src/app/MessageDef/AttributeDataIBs.cpp
@@ -40,7 +40,7 @@
 CHIP_ERROR AttributeDataIBs::Parser::CheckSchemaValidity() const
 {
     CHIP_ERROR err        = CHIP_NO_ERROR;
-    size_t NumDataElement = 0;
+    size_t numDataElement = 0;
     chip::TLV::TLVReader reader;
 
     PRETTY_PRINT("AttributeDataIBs =");
@@ -51,21 +51,19 @@
 
     while (CHIP_NO_ERROR == (err = reader.Next()))
     {
-        VerifyOrExit(chip::TLV::AnonymousTag() == reader.GetTag(), err = CHIP_ERROR_INVALID_TLV_TAG);
-        VerifyOrExit(chip::TLV::kTLVType_Structure == reader.GetType(), err = CHIP_ERROR_WRONG_TLV_TYPE);
+        VerifyOrReturnError(TLV::AnonymousTag() == reader.GetTag(), CHIP_ERROR_INVALID_TLV_TAG);
+        VerifyOrReturnError(TLV::kTLVType_Structure == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
 
         {
             AttributeDataIB::Parser data;
-            err = data.Init(reader);
-            SuccessOrExit(err);
+            ReturnErrorOnFailure(data.Init(reader));
 
             PRETTY_PRINT_INCDEPTH();
-            err = data.CheckSchemaValidity();
-            SuccessOrExit(err);
+            ReturnErrorOnFailure(data.CheckSchemaValidity());
             PRETTY_PRINT_DECDEPTH();
         }
 
-        ++NumDataElement;
+        ++numDataElement;
     }
 
     PRETTY_PRINT("],");
@@ -75,17 +73,13 @@
     if (CHIP_END_OF_TLV == err)
     {
         // if we have at least one data element
-        if (NumDataElement > 0)
+        if (numDataElement > 0)
         {
             err = CHIP_NO_ERROR;
         }
     }
-    SuccessOrExit(err);
-    err = reader.ExitContainer(mOuterContainerType);
-
-exit:
-
-    return err;
+    ReturnErrorOnFailure(err);
+    return reader.ExitContainer(mOuterContainerType);
 }
 #endif // CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
 
diff --git a/src/app/MessageDef/AttributePathIB.cpp b/src/app/MessageDef/AttributePathIB.cpp
index c8fbb03..6750471 100644
--- a/src/app/MessageDef/AttributePathIB.cpp
+++ b/src/app/MessageDef/AttributePathIB.cpp
@@ -33,7 +33,7 @@
 CHIP_ERROR AttributePathIB::Parser::CheckSchemaValidity() const
 {
     CHIP_ERROR err      = CHIP_NO_ERROR;
-    int TagPresenceMask = 0;
+    int tagPresenceMask = 0;
     TLV::TLVReader reader;
 
     PRETTY_PRINT("AttributePathIB =");
@@ -53,8 +53,8 @@
         {
         case to_underlying(Tag::kEnableTagCompression):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kEnableTagCompression))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kEnableTagCompression));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kEnableTagCompression))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kEnableTagCompression));
 #if CHIP_DETAIL_LOGGING
             {
                 bool enableTagCompression;
@@ -66,8 +66,8 @@
         case to_underlying(Tag::kNode):
             // check if this tag has appeared before
 
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kNode))), err = CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kNode));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kNode))), err = CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kNode));
             VerifyOrReturnError(TLV::kTLVType_UnsignedInteger == reader.GetType(), err = CHIP_ERROR_WRONG_TLV_TYPE);
 
 #if CHIP_DETAIL_LOGGING
@@ -80,8 +80,8 @@
             break;
         case to_underlying(Tag::kEndpoint):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kEndpoint))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kEndpoint));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kEndpoint))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kEndpoint));
             VerifyOrReturnError(TLV::kTLVType_UnsignedInteger == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
 #if CHIP_DETAIL_LOGGING
             {
@@ -93,8 +93,8 @@
             break;
         case to_underlying(Tag::kCluster):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kCluster))), err = CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kCluster));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kCluster))), err = CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kCluster));
             VerifyOrReturnError(TLV::kTLVType_UnsignedInteger == reader.GetType(), err = CHIP_ERROR_WRONG_TLV_TYPE);
 
 #if CHIP_DETAIL_LOGGING
@@ -107,8 +107,8 @@
             break;
         case to_underlying(Tag::kAttribute):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kAttribute))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kAttribute));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kAttribute))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kAttribute));
             VerifyOrReturnError(TLV::kTLVType_UnsignedInteger == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
 #if CHIP_DETAIL_LOGGING
             {
@@ -120,8 +120,8 @@
             break;
         case to_underlying(Tag::kListIndex):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kListIndex))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kListIndex));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kListIndex))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kListIndex));
             VerifyOrReturnError(TLV::kTLVType_UnsignedInteger == reader.GetType() || TLV::kTLVType_Null == reader.GetType(),
                                 CHIP_ERROR_WRONG_TLV_TYPE);
 #if CHIP_DETAIL_LOGGING
@@ -149,10 +149,10 @@
     // if we have exhausted this container
     if (CHIP_END_OF_TLV == err)
     {
-        if ((TagPresenceMask & (1 << to_underlying(Tag::kAttribute))) == 0 &&
-            (TagPresenceMask & (1 << to_underlying(Tag::kListIndex))) != 0)
+        if ((tagPresenceMask & (1 << to_underlying(Tag::kAttribute))) == 0 &&
+            (tagPresenceMask & (1 << to_underlying(Tag::kListIndex))) != 0)
         {
-            err = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            err = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
         }
         else
         {
@@ -161,8 +161,7 @@
     }
 
     ReturnErrorOnFailure(err);
-    ReturnErrorOnFailure(reader.ExitContainer(mOuterContainerType));
-    return CHIP_NO_ERROR;
+    return reader.ExitContainer(mOuterContainerType);
 }
 #endif // CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
 
@@ -215,7 +214,7 @@
         else
         {
             // TODO: Add ListOperation::ReplaceItem support. (Attribute path with valid list index)
-            err = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            err = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
         }
     }
     else if (CHIP_END_OF_TLV == err)
diff --git a/src/app/MessageDef/AttributePathIBs.cpp b/src/app/MessageDef/AttributePathIBs.cpp
index b3f824d..4a04dc0 100644
--- a/src/app/MessageDef/AttributePathIBs.cpp
+++ b/src/app/MessageDef/AttributePathIBs.cpp
@@ -68,8 +68,7 @@
         }
     }
     ReturnErrorOnFailure(err);
-    ReturnErrorOnFailure(reader.ExitContainer(mOuterContainerType));
-    return CHIP_NO_ERROR;
+    return reader.ExitContainer(mOuterContainerType);
 }
 #endif // CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
 
diff --git a/src/app/MessageDef/AttributeReportIB.cpp b/src/app/MessageDef/AttributeReportIB.cpp
index 40add8b..7f4a5c5 100644
--- a/src/app/MessageDef/AttributeReportIB.cpp
+++ b/src/app/MessageDef/AttributeReportIB.cpp
@@ -32,7 +32,7 @@
 CHIP_ERROR AttributeReportIB::Parser::CheckSchemaValidity() const
 {
     CHIP_ERROR err      = CHIP_NO_ERROR;
-    int TagPresenceMask = 0;
+    int tagPresenceMask = 0;
     TLV::TLVReader reader;
 
     PRETTY_PRINT("AttributeReportIB =");
@@ -52,8 +52,8 @@
         {
         case to_underlying(Tag::kAttributeStatus):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kAttributeStatus))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kAttributeStatus));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kAttributeStatus))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kAttributeStatus));
             {
                 AttributeStatusIB::Parser attributeStatus;
                 ReturnErrorOnFailure(attributeStatus.Init(reader));
@@ -65,8 +65,8 @@
             break;
         case to_underlying(Tag::kAttributeData):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kAttributeData))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kAttributeData));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kAttributeData))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kAttributeData));
             {
                 AttributeDataIB::Parser attributeData;
                 ReturnErrorOnFailure(attributeData.Init(reader));
@@ -91,15 +91,15 @@
         const int CheckDataField   = 1 << to_underlying(Tag::kAttributeData);
         const int CheckStatusField = (1 << to_underlying(Tag::kAttributeStatus));
 
-        if ((TagPresenceMask & CheckDataField) == CheckDataField && (TagPresenceMask & CheckStatusField) == CheckStatusField)
+        if ((tagPresenceMask & CheckDataField) == CheckDataField && (tagPresenceMask & CheckStatusField) == CheckStatusField)
         {
             // kAttributeData and kAttributeStatus both exist
-            err = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_REPORT_MESSAGE;
+            err = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_REPORT_IB;
         }
-        else if ((TagPresenceMask & CheckDataField) != CheckDataField && (TagPresenceMask & CheckStatusField) != CheckStatusField)
+        else if ((tagPresenceMask & CheckDataField) != CheckDataField && (tagPresenceMask & CheckStatusField) != CheckStatusField)
         {
             // kPath and kErrorStatus not exist
-            err = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_REPORT_MESSAGE;
+            err = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_REPORT_IB;
         }
         else
         {
@@ -108,8 +108,7 @@
     }
 
     ReturnErrorOnFailure(err);
-    ReturnErrorOnFailure(reader.ExitContainer(mOuterContainerType));
-    return CHIP_NO_ERROR;
+    return reader.ExitContainer(mOuterContainerType);
 }
 #endif // CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
 
@@ -117,16 +116,14 @@
 {
     TLV::TLVReader reader;
     ReturnErrorOnFailure(mReader.FindElementWithTag(TLV::ContextTag(to_underlying(Tag::kAttributeStatus)), reader));
-    ReturnErrorOnFailure(apAttributeStatus->Init(reader));
-    return CHIP_NO_ERROR;
+    return apAttributeStatus->Init(reader);
 }
 
 CHIP_ERROR AttributeReportIB::Parser::GetAttributeData(AttributeDataIB::Parser * const apAttributeData) const
 {
     TLV::TLVReader reader;
     ReturnErrorOnFailure(mReader.FindElementWithTag(TLV::ContextTag(to_underlying(Tag::kAttributeData)), reader));
-    ReturnErrorOnFailure(apAttributeData->Init(reader));
-    return CHIP_NO_ERROR;
+    return apAttributeData->Init(reader);
 }
 
 AttributeStatusIB::Builder & AttributeReportIB::Builder::CreateAttributeStatus()
diff --git a/src/app/MessageDef/AttributeReportIBs.cpp b/src/app/MessageDef/AttributeReportIBs.cpp
index 2d231b8..d80fbc4 100644
--- a/src/app/MessageDef/AttributeReportIBs.cpp
+++ b/src/app/MessageDef/AttributeReportIBs.cpp
@@ -65,8 +65,7 @@
         err = CHIP_NO_ERROR;
     }
     ReturnErrorOnFailure(err);
-    ReturnErrorOnFailure(reader.ExitContainer(mOuterContainerType));
-    return CHIP_NO_ERROR;
+    return reader.ExitContainer(mOuterContainerType);
 }
 #endif // CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
 
diff --git a/src/app/MessageDef/AttributeStatusIB.cpp b/src/app/MessageDef/AttributeStatusIB.cpp
index 9a3bf1e..a77f514 100644
--- a/src/app/MessageDef/AttributeStatusIB.cpp
+++ b/src/app/MessageDef/AttributeStatusIB.cpp
@@ -31,7 +31,7 @@
 CHIP_ERROR AttributeStatusIB::Parser::CheckSchemaValidity() const
 {
     CHIP_ERROR err      = CHIP_NO_ERROR;
-    int TagPresenceMask = 0;
+    int tagPresenceMask = 0;
     TLV::TLVReader reader;
 
     PRETTY_PRINT("AttributeStatusIB =");
@@ -51,8 +51,8 @@
         {
         case to_underlying(Tag::kPath):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kPath))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kPath));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kPath))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kPath));
             {
                 AttributePathIB::Parser path;
                 ReturnErrorOnFailure(path.Init(reader));
@@ -64,8 +64,8 @@
             break;
         case to_underlying(Tag::kErrorStatus):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kErrorStatus))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kErrorStatus));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kErrorStatus))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kErrorStatus));
             {
                 StatusIB::Parser errorStatus;
                 ReturnErrorOnFailure(errorStatus.Init(reader));
@@ -86,17 +86,12 @@
 
     if (CHIP_END_OF_TLV == err)
     {
-        const int RequiredFields = (1 << to_underlying(Tag::kPath)) | (1 << to_underlying(Tag::kErrorStatus));
-
-        if ((TagPresenceMask & RequiredFields) == RequiredFields)
-        {
-            err = CHIP_NO_ERROR;
-        }
+        const int requiredFields = (1 << to_underlying(Tag::kPath)) | (1 << to_underlying(Tag::kErrorStatus));
+        err = (tagPresenceMask & requiredFields) == requiredFields ? CHIP_NO_ERROR : CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_STATUS_IB;
     }
 
     ReturnErrorOnFailure(err);
-    ReturnErrorOnFailure(reader.ExitContainer(mOuterContainerType));
-    return CHIP_NO_ERROR;
+    return reader.ExitContainer(mOuterContainerType);
 }
 #endif // CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
 
@@ -104,16 +99,14 @@
 {
     TLV::TLVReader reader;
     ReturnErrorOnFailure(mReader.FindElementWithTag(TLV::ContextTag(to_underlying(Tag::kPath)), reader));
-    ReturnErrorOnFailure(apPath->Init(reader));
-    return CHIP_NO_ERROR;
+    return apPath->Init(reader);
 }
 
 CHIP_ERROR AttributeStatusIB::Parser::GetErrorStatus(StatusIB::Parser * const apErrorStatus) const
 {
     TLV::TLVReader reader;
     ReturnErrorOnFailure(mReader.FindElementWithTag(TLV::ContextTag(to_underlying(Tag::kErrorStatus)), reader));
-    ReturnErrorOnFailure(apErrorStatus->Init(reader));
-    return CHIP_NO_ERROR;
+    return apErrorStatus->Init(reader);
 }
 
 AttributePathIB::Builder & AttributeStatusIB::Builder::CreatePath()
diff --git a/src/app/MessageDef/AttributeStatusIBs.cpp b/src/app/MessageDef/AttributeStatusIBs.cpp
index f9d4de4..cb0bc14 100644
--- a/src/app/MessageDef/AttributeStatusIBs.cpp
+++ b/src/app/MessageDef/AttributeStatusIBs.cpp
@@ -77,21 +77,10 @@
     // if we have exhausted this container
     if (CHIP_END_OF_TLV == err)
     {
-        // if we have at least one data element
-        if (NumAttributeStatus > 0)
-        {
-            err = CHIP_NO_ERROR;
-        }
-        // NOTE: temporarily disable this check, to allow test to continue
-        else
-        {
-            ChipLogError(DataManagement, "PROTOCOL ERROR: Empty attribute statuses");
-            err = CHIP_NO_ERROR;
-        }
+        err = CHIP_NO_ERROR;
     }
     ReturnErrorOnFailure(err);
-    ReturnErrorOnFailure(reader.ExitContainer(mOuterContainerType));
-    return CHIP_NO_ERROR;
+    return reader.ExitContainer(mOuterContainerType);
 }
 #endif
 }; // namespace app
diff --git a/src/app/MessageDef/ClusterPathIB.cpp b/src/app/MessageDef/ClusterPathIB.cpp
index a710526..d92efbb 100644
--- a/src/app/MessageDef/ClusterPathIB.cpp
+++ b/src/app/MessageDef/ClusterPathIB.cpp
@@ -101,16 +101,9 @@
     if (CHIP_END_OF_TLV == err)
     {
         // check for required fields:
-        const int RequiredFields = (1 << to_underlying(Tag::kCluster));
+        const int requiredFields = (1 << to_underlying(Tag::kCluster));
 
-        if ((tagPresenceMask & RequiredFields) == RequiredFields)
-        {
-            err = CHIP_NO_ERROR;
-        }
-        else
-        {
-            err = CHIP_ERROR_IM_MALFORMED_CLUSTER_PATH_IB;
-        }
+        err = (tagPresenceMask & requiredFields) == requiredFields ? CHIP_NO_ERROR : CHIP_ERROR_IM_MALFORMED_CLUSTER_PATH_IB;
     }
 
     ReturnErrorOnFailure(err);
diff --git a/src/app/MessageDef/CommandDataIB.cpp b/src/app/MessageDef/CommandDataIB.cpp
index 5f24d1c..e0d3c6f 100644
--- a/src/app/MessageDef/CommandDataIB.cpp
+++ b/src/app/MessageDef/CommandDataIB.cpp
@@ -29,13 +29,13 @@
 namespace chip {
 namespace app {
 CHIP_ERROR
-CommandDataIB::Parser::ParseData(TLV::TLVReader & aReader, int aDepth) const
+CommandDataIB::Parser::ParseFields(TLV::TLVReader & aReader, int aDepth) const
 {
     CHIP_ERROR err = CHIP_NO_ERROR;
 
     if (aDepth == 0)
     {
-        PRETTY_PRINT("\tCommandData = ");
+        PRETTY_PRINT("\tCommandFields = ");
     }
     else
     {
@@ -183,7 +183,7 @@
         {
             PRETTY_PRINT_INCDEPTH();
 
-            err = ParseData(aReader, aDepth + 1);
+            err = ParseFields(aReader, aDepth + 1);
             SuccessOrExit(err);
 
             PRETTY_PRINT_DECDEPTH();
@@ -203,7 +203,7 @@
 CHIP_ERROR CommandDataIB::Parser::CheckSchemaValidity() const
 {
     CHIP_ERROR err      = CHIP_NO_ERROR;
-    int TagPresenceMask = 0;
+    int tagPresenceMask = 0;
     TLV::TLVReader reader;
 
     PRETTY_PRINT("CommandDataIB =");
@@ -224,8 +224,8 @@
         {
         case to_underlying(Tag::kPath):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kPath))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kPath));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kPath))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kPath));
             {
                 CommandPathIB::Parser path;
                 ReturnErrorOnFailure(path.Init(reader));
@@ -235,11 +235,11 @@
             }
 
             break;
-        case to_underlying(Tag::kData):
+        case to_underlying(Tag::kFields):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kData))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kData));
-            ReturnErrorOnFailure(ParseData(reader, 0));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kFields))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kFields));
+            ReturnErrorOnFailure(ParseFields(reader, 0));
             break;
         default:
             PRETTY_PRINT("Unknown tag num %" PRIu32, tagNum);
@@ -252,21 +252,12 @@
 
     if (CHIP_END_OF_TLV == err)
     {
-        const int RequiredFields = 1 << to_underlying(Tag::kPath);
-
-        if ((TagPresenceMask & RequiredFields) == RequiredFields)
-        {
-            err = CHIP_NO_ERROR;
-        }
-        else
-        {
-            err = CHIP_ERROR_IM_MALFORMED_INVOKE_RESPONSE_MESSAGE;
-        }
+        const int requiredFields = 1 << to_underlying(Tag::kPath);
+        err = (tagPresenceMask & requiredFields) == requiredFields ? CHIP_NO_ERROR : CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_IB;
     }
 
     ReturnErrorOnFailure(err);
-    ReturnErrorOnFailure(reader.ExitContainer(mOuterContainerType));
-    return CHIP_NO_ERROR;
+    return reader.ExitContainer(mOuterContainerType);
 }
 #endif // CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
 
@@ -274,13 +265,12 @@
 {
     TLV::TLVReader reader;
     ReturnErrorOnFailure(mReader.FindElementWithTag(TLV::ContextTag(to_underlying(Tag::kPath)), reader));
-    ReturnErrorOnFailure(apPath->Init(reader));
-    return CHIP_NO_ERROR;
+    return apPath->Init(reader);
 }
 
-CHIP_ERROR CommandDataIB::Parser::GetData(TLV::TLVReader * const apReader) const
+CHIP_ERROR CommandDataIB::Parser::GetFields(TLV::TLVReader * const apReader) const
 {
-    ReturnErrorOnFailure(mReader.FindElementWithTag(TLV::ContextTag(to_underlying(Tag::kData)), *apReader));
+    ReturnErrorOnFailure(mReader.FindElementWithTag(TLV::ContextTag(to_underlying(Tag::kFields)), *apReader));
     return CHIP_NO_ERROR;
 }
 
diff --git a/src/app/MessageDef/CommandDataIB.h b/src/app/MessageDef/CommandDataIB.h
index 3b1eca9..0ff0cc5 100644
--- a/src/app/MessageDef/CommandDataIB.h
+++ b/src/app/MessageDef/CommandDataIB.h
@@ -35,8 +35,8 @@
 namespace CommandDataIB {
 enum class Tag : uint8_t
 {
-    kPath = 0,
-    kData = 1,
+    kPath   = 0,
+    kFields = 1,
 };
 
 class Parser : public StructParser
@@ -71,18 +71,18 @@
     CHIP_ERROR GetPath(CommandPathIB::Parser * const apPath) const;
 
     /**
-     *  @brief Get a TLVReader for the Data. Next() must be called before accessing them.
+     *  @brief Get a TLVReader for the Fields. Next() must be called before accessing them.
      *
      *  @param [in] apReader    A pointer to apReader
      *
      *  @return #CHIP_NO_ERROR on success
      *          #CHIP_END_OF_TLV if there is no such element
      */
-    CHIP_ERROR GetData(TLV::TLVReader * const apReader) const;
+    CHIP_ERROR GetFields(TLV::TLVReader * const apReader) const;
 
 protected:
     // A recursively callable function to parse a data element and pretty-print it.
-    CHIP_ERROR ParseData(TLV::TLVReader & aReader, int aDepth) const;
+    CHIP_ERROR ParseFields(TLV::TLVReader & aReader, int aDepth) const;
 };
 
 class Builder : public StructBuilder
diff --git a/src/app/MessageDef/CommandPathIB.cpp b/src/app/MessageDef/CommandPathIB.cpp
index f947b22..8d84cea 100644
--- a/src/app/MessageDef/CommandPathIB.cpp
+++ b/src/app/MessageDef/CommandPathIB.cpp
@@ -35,8 +35,8 @@
 CHIP_ERROR CommandPathIB::Parser::CheckSchemaValidity() const
 {
     CHIP_ERROR err      = CHIP_NO_ERROR;
-    int TagPresenceMask = 0;
-    chip::TLV::TLVReader reader;
+    int tagPresenceMask = 0;
+    TLV::TLVReader reader;
     PRETTY_PRINT("CommandPathIB =");
     PRETTY_PRINT("{");
 
@@ -49,50 +49,52 @@
         {
             continue;
         }
-        switch (chip::TLV::TagNumFromTag(reader.GetTag()))
+        uint32_t tagNum = TLV::TagNumFromTag(reader.GetTag());
+        switch (tagNum)
         {
-        case kCsTag_EndpointId:
+        case to_underlying(Tag::kEndpointId):
             // check if this tag has appeared before
-            VerifyOrExit(!(TagPresenceMask & (1 << kCsTag_EndpointId)), err = CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << kCsTag_EndpointId);
-            VerifyOrExit(chip::TLV::kTLVType_UnsignedInteger == reader.GetType(), err = CHIP_ERROR_WRONG_TLV_TYPE);
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kEndpointId))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kEndpointId));
+            VerifyOrReturnError(TLV::kTLVType_UnsignedInteger == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
 
 #if CHIP_DETAIL_LOGGING
             {
                 uint16_t endpointId;
-                reader.Get(endpointId);
+                ReturnErrorOnFailure(reader.Get(endpointId));
                 PRETTY_PRINT("\tEndpointId = 0x%x,", endpointId);
             }
 #endif // CHIP_DETAIL_LOGGING
             break;
-        case kCsTag_ClusterId:
+        case to_underlying(Tag::kClusterId):
             // check if this tag has appeared before
-            VerifyOrExit(!(TagPresenceMask & (1 << kCsTag_ClusterId)), err = CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << kCsTag_ClusterId);
-            VerifyOrExit(chip::TLV::kTLVType_UnsignedInteger == reader.GetType(), err = CHIP_ERROR_WRONG_TLV_TYPE);
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kClusterId))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kClusterId));
+            VerifyOrReturnError(TLV::kTLVType_UnsignedInteger == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
 #if CHIP_DETAIL_LOGGING
             {
                 chip::ClusterId clusterId;
-                reader.Get(clusterId);
+                ReturnErrorOnFailure(reader.Get(clusterId));
                 PRETTY_PRINT("\tClusterId = 0x%" PRIx32 ",", clusterId);
             }
 #endif // CHIP_DETAIL_LOGGING
             break;
-        case kCsTag_CommandId:
+        case to_underlying(Tag::kCommandId):
             // check if this tag has appeared before
-            VerifyOrExit(!(TagPresenceMask & (1 << kCsTag_CommandId)), err = CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << kCsTag_CommandId);
-            VerifyOrExit(chip::TLV::kTLVType_UnsignedInteger == reader.GetType(), err = CHIP_ERROR_WRONG_TLV_TYPE);
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kCommandId))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kCommandId));
+            VerifyOrReturnError(chip::TLV::kTLVType_UnsignedInteger == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
 #if CHIP_DETAIL_LOGGING
             {
                 chip::CommandId commandId;
-                reader.Get(commandId);
+                ReturnErrorOnFailure(reader.Get(commandId));
                 PRETTY_PRINT("\tCommandId = 0x%x,", commandId);
             }
 #endif // CHIP_DETAIL_LOGGING
             break;
         default:
-            ExitNow(err = CHIP_ERROR_INVALID_TLV_TAG);
+            PRETTY_PRINT("Unknown tag num %" PRIu32, tagNum);
+            break;
         }
     }
     PRETTY_PRINT("},");
@@ -101,39 +103,29 @@
     if (CHIP_END_OF_TLV == err)
     {
         // check for required fields:
-        const uint16_t RequiredFields = (1 << kCsTag_CommandId) | (1 << kCsTag_ClusterId);
+        const uint16_t requiredFields =
+            (1 << to_underlying(Tag::kEndpointId)) | (1 << to_underlying(Tag::kCommandId)) | (1 << to_underlying(Tag::kClusterId));
 
-        if ((TagPresenceMask & RequiredFields) == RequiredFields)
-        {
-            err = CHIP_NO_ERROR;
-        }
-        else
-        {
-            err = CHIP_ERROR_IM_MALFORMED_COMMAND_PATH;
-        }
+        err = (tagPresenceMask & requiredFields) == requiredFields ? CHIP_NO_ERROR : CHIP_ERROR_IM_MALFORMED_COMMAND_PATH_IB;
     }
-    SuccessOrExit(err);
-    err = reader.ExitContainer(mOuterContainerType);
-
-exit:
-
-    return err;
+    ReturnErrorOnFailure(err);
+    return reader.ExitContainer(mOuterContainerType);
 }
 #endif // CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
 
 CHIP_ERROR CommandPathIB::Parser::GetEndpointId(chip::EndpointId * const apEndpointID) const
 {
-    return GetUnsignedInteger(kCsTag_EndpointId, apEndpointID);
+    return GetUnsignedInteger(to_underlying(Tag::kEndpointId), apEndpointID);
 }
 
 CHIP_ERROR CommandPathIB::Parser::GetClusterId(chip::ClusterId * const apClusterId) const
 {
-    return GetUnsignedInteger(kCsTag_ClusterId, apClusterId);
+    return GetUnsignedInteger(to_underlying(Tag::kClusterId), apClusterId);
 }
 
 CHIP_ERROR CommandPathIB::Parser::GetCommandId(chip::CommandId * const apCommandId) const
 {
-    return GetUnsignedInteger(kCsTag_CommandId, apCommandId);
+    return GetUnsignedInteger(to_underlying(Tag::kCommandId), apCommandId);
 }
 
 CommandPathIB::Builder & CommandPathIB::Builder::EndpointId(const chip::EndpointId aEndpointId)
@@ -141,7 +133,7 @@
     // skip if error has already been set
     if (mError == CHIP_NO_ERROR)
     {
-        mError = mpWriter->Put(chip::TLV::ContextTag(kCsTag_EndpointId), aEndpointId);
+        mError = mpWriter->Put(TLV::ContextTag(to_underlying(Tag::kEndpointId)), aEndpointId);
     }
     return *this;
 }
@@ -151,7 +143,7 @@
     // skip if error has already been set
     if (mError == CHIP_NO_ERROR)
     {
-        mError = mpWriter->Put(chip::TLV::ContextTag(kCsTag_ClusterId), aClusterId);
+        mError = mpWriter->Put(TLV::ContextTag(to_underlying(Tag::kClusterId)), aClusterId);
     }
     return *this;
 }
@@ -161,7 +153,7 @@
     // skip if error has already been set
     if (mError == CHIP_NO_ERROR)
     {
-        mError = mpWriter->Put(chip::TLV::ContextTag(kCsTag_CommandId), aCommandId);
+        mError = mpWriter->Put(TLV::ContextTag(to_underlying(Tag::kCommandId)), aCommandId);
     }
     return *this;
 }
diff --git a/src/app/MessageDef/CommandPathIB.h b/src/app/MessageDef/CommandPathIB.h
index 35d0bad..1b823ef 100644
--- a/src/app/MessageDef/CommandPathIB.h
+++ b/src/app/MessageDef/CommandPathIB.h
@@ -33,11 +33,11 @@
 namespace chip {
 namespace app {
 namespace CommandPathIB {
-enum
+enum class Tag : uint8_t
 {
-    kCsTag_EndpointId = 0,
-    kCsTag_ClusterId  = 1,
-    kCsTag_CommandId  = 2,
+    kEndpointId = 0,
+    kClusterId  = 1,
+    kCommandId  = 2,
 };
 
 class Parser : public ListParser
diff --git a/src/app/MessageDef/CommandStatusIB.cpp b/src/app/MessageDef/CommandStatusIB.cpp
index 8be3179..4bdda7a 100644
--- a/src/app/MessageDef/CommandStatusIB.cpp
+++ b/src/app/MessageDef/CommandStatusIB.cpp
@@ -31,7 +31,7 @@
 CHIP_ERROR CommandStatusIB::Parser::CheckSchemaValidity() const
 {
     CHIP_ERROR err      = CHIP_NO_ERROR;
-    int TagPresenceMask = 0;
+    int tagPresenceMask = 0;
     TLV::TLVReader reader;
 
     PRETTY_PRINT("CommandStatusIB =");
@@ -51,8 +51,8 @@
         {
         case to_underlying(Tag::kPath):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kPath))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kPath));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kPath))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kPath));
             {
                 CommandPathIB::Parser path;
                 ReturnErrorOnFailure(path.Init(reader));
@@ -64,8 +64,8 @@
             break;
         case to_underlying(Tag::kErrorStatus):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kErrorStatus))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kErrorStatus));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kErrorStatus))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kErrorStatus));
             {
                 StatusIB::Parser errorStatus;
                 ReturnErrorOnFailure(errorStatus.Init(reader));
@@ -86,21 +86,12 @@
 
     if (CHIP_END_OF_TLV == err)
     {
-        const int RequiredFields = (1 << to_underlying(Tag::kPath)) | (1 << to_underlying(Tag::kErrorStatus));
-
-        if ((TagPresenceMask & RequiredFields) == RequiredFields)
-        {
-            err = CHIP_NO_ERROR;
-        }
-        else
-        {
-            err = CHIP_ERROR_IM_MALFORMED_COMMAND_STATUS_IB;
-        }
+        const int requiredFields = (1 << to_underlying(Tag::kPath)) | (1 << to_underlying(Tag::kErrorStatus));
+        err = (tagPresenceMask & requiredFields) == requiredFields ? CHIP_NO_ERROR : CHIP_ERROR_IM_MALFORMED_COMMAND_STATUS_IB;
     }
 
     ReturnErrorOnFailure(err);
-    ReturnErrorOnFailure(reader.ExitContainer(mOuterContainerType));
-    return CHIP_NO_ERROR;
+    return reader.ExitContainer(mOuterContainerType);
 }
 #endif // CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
 
@@ -108,16 +99,14 @@
 {
     TLV::TLVReader reader;
     ReturnErrorOnFailure(mReader.FindElementWithTag(TLV::ContextTag(to_underlying(Tag::kPath)), reader));
-    ReturnErrorOnFailure(apPath->Init(reader));
-    return CHIP_NO_ERROR;
+    return apPath->Init(reader);
 }
 
 CHIP_ERROR CommandStatusIB::Parser::GetErrorStatus(StatusIB::Parser * const apErrorStatus) const
 {
     TLV::TLVReader reader;
     ReturnErrorOnFailure(mReader.FindElementWithTag(TLV::ContextTag(to_underlying(Tag::kErrorStatus)), reader));
-    ReturnErrorOnFailure(apErrorStatus->Init(reader));
-    return CHIP_NO_ERROR;
+    return apErrorStatus->Init(reader);
 }
 
 CommandPathIB::Builder & CommandStatusIB::Builder::CreatePath()
diff --git a/src/app/MessageDef/DataVersionFilterIB.cpp b/src/app/MessageDef/DataVersionFilterIB.cpp
index c68db04..fd04146 100644
--- a/src/app/MessageDef/DataVersionFilterIB.cpp
+++ b/src/app/MessageDef/DataVersionFilterIB.cpp
@@ -80,6 +80,9 @@
             }
 #endif // CHIP_DETAIL_LOGGING
             break;
+        default:
+            PRETTY_PRINT("Unknown tag num %" PRIu32, tagNum);
+            break;
         }
     }
     PRETTY_PRINT("},");
@@ -89,16 +92,8 @@
     if (CHIP_END_OF_TLV == err)
     {
         // check for required fields:
-        const int RequiredFields = (1 << to_underlying(Tag::kPath)) | (1 << to_underlying(Tag::kDataVersion));
-
-        if ((tagPresenceMask & RequiredFields) == RequiredFields)
-        {
-            err = CHIP_NO_ERROR;
-        }
-        else
-        {
-            err = CHIP_ERROR_IM_MALFORMED_DATA_VERSION_FILTER_IB;
-        }
+        const int requiredFields = (1 << to_underlying(Tag::kPath)) | (1 << to_underlying(Tag::kDataVersion));
+        err = (tagPresenceMask & requiredFields) == requiredFields ? CHIP_NO_ERROR : CHIP_ERROR_IM_MALFORMED_DATA_VERSION_FILTER_IB;
     }
     ReturnErrorOnFailure(err);
     return reader.ExitContainer(mOuterContainerType);
diff --git a/src/app/MessageDef/DataVersionFilterIBs.cpp b/src/app/MessageDef/DataVersionFilterIBs.cpp
index efbc00e..cd1251b 100644
--- a/src/app/MessageDef/DataVersionFilterIBs.cpp
+++ b/src/app/MessageDef/DataVersionFilterIBs.cpp
@@ -29,8 +29,7 @@
 #if CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
 CHIP_ERROR DataVersionFilterIBs::Parser::CheckSchemaValidity() const
 {
-    CHIP_ERROR err               = CHIP_NO_ERROR;
-    size_t numDataVersionFilters = 0;
+    CHIP_ERROR err = CHIP_NO_ERROR;
     TLV::TLVReader reader;
 
     PRETTY_PRINT("DataVersionFilterIBs =");
@@ -49,8 +48,6 @@
             ReturnErrorOnFailure(DataVersionFilter.CheckSchemaValidity());
             PRETTY_PRINT_DECDEPTH();
         }
-
-        ++numDataVersionFilters;
     }
 
     PRETTY_PRINT("],");
@@ -59,11 +56,7 @@
     // if we have exhausted this container
     if (CHIP_END_OF_TLV == err)
     {
-        // if we have at least one event filter
-        if (numDataVersionFilters > 0)
-        {
-            err = CHIP_NO_ERROR;
-        }
+        err = CHIP_NO_ERROR;
     }
     ReturnErrorOnFailure(err);
     return reader.ExitContainer(mOuterContainerType);
diff --git a/src/app/MessageDef/EventDataIB.cpp b/src/app/MessageDef/EventDataIB.cpp
index 5e8a076..3f426a2 100644
--- a/src/app/MessageDef/EventDataIB.cpp
+++ b/src/app/MessageDef/EventDataIB.cpp
@@ -182,7 +182,7 @@
 CHIP_ERROR EventDataIB::Parser::CheckSchemaValidity() const
 {
     CHIP_ERROR err      = CHIP_NO_ERROR;
-    int TagPresenceMask = 0;
+    int tagPresenceMask = 0;
     TLV::TLVReader reader;
 
     PRETTY_PRINT("EventDataIB =");
@@ -202,8 +202,8 @@
         {
         case to_underlying(Tag::kPath):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kPath))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kPath));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kPath))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kPath));
             {
                 EventPathIB::Parser path;
                 ReturnErrorOnFailure(path.Init(reader));
@@ -215,8 +215,8 @@
             break;
         case to_underlying(Tag::kEventNumber):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kEventNumber))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kEventNumber));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kEventNumber))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kEventNumber));
             VerifyOrReturnError(TLV::kTLVType_UnsignedInteger == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
 
 #if CHIP_DETAIL_LOGGING
@@ -229,8 +229,8 @@
             break;
         case to_underlying(Tag::kPriority):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kPriority))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kPriority));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kPriority))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kPriority));
             VerifyOrReturnError(TLV::kTLVType_UnsignedInteger == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
 
 #if CHIP_DETAIL_LOGGING
@@ -243,8 +243,8 @@
             break;
         case to_underlying(Tag::kEpochTimestamp):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kEpochTimestamp))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kEpochTimestamp));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kEpochTimestamp))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kEpochTimestamp));
 
             VerifyOrReturnError(TLV::kTLVType_UnsignedInteger == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
 
@@ -259,8 +259,8 @@
 
         case to_underlying(Tag::kSystemTimestamp):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kSystemTimestamp))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kSystemTimestamp));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kSystemTimestamp))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kSystemTimestamp));
 
             VerifyOrReturnError(TLV::kTLVType_UnsignedInteger == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
 
@@ -274,8 +274,8 @@
             break;
         case to_underlying(Tag::kDeltaEpochTimestamp):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kDeltaEpochTimestamp))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kDeltaEpochTimestamp));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kDeltaEpochTimestamp))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kDeltaEpochTimestamp));
             VerifyOrReturnError(TLV::kTLVType_UnsignedInteger == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
 
 #if CHIP_DETAIL_LOGGING
@@ -288,8 +288,8 @@
             break;
         case to_underlying(Tag::kDeltaSystemTimestamp):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kDeltaSystemTimestamp))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kDeltaSystemTimestamp));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kDeltaSystemTimestamp))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kDeltaSystemTimestamp));
 
             VerifyOrReturnError(TLV::kTLVType_UnsignedInteger == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
 
@@ -303,8 +303,8 @@
             break;
         case to_underlying(Tag::kData):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kData))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kData));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kData))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kData));
 
             PRETTY_PRINT_INCDEPTH();
             ReturnErrorOnFailure(ParseData(reader, 0));
@@ -322,21 +322,12 @@
     if (CHIP_END_OF_TLV == err)
     {
         // check for required fields:
-        const int RequiredFields =
+        const int requiredFields =
             (1 << to_underlying(Tag::kPath)) | (1 << to_underlying(Tag::kPriority)) | (1 << to_underlying(Tag::kData));
-
-        if ((TagPresenceMask & RequiredFields) == RequiredFields)
-        {
-            err = CHIP_NO_ERROR;
-        }
-        else
-        {
-            err = CHIP_ERROR_IM_MALFORMED_EVENT_DATA_ELEMENT;
-        }
+        err = (tagPresenceMask & requiredFields) == requiredFields ? CHIP_NO_ERROR : CHIP_ERROR_IM_MALFORMED_EVENT_DATA_IB;
     }
     ReturnErrorOnFailure(err);
-    ReturnErrorOnFailure(reader.ExitContainer(mOuterContainerType));
-    return CHIP_NO_ERROR;
+    return reader.ExitContainer(mOuterContainerType);
 }
 #endif // CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
 
@@ -387,13 +378,13 @@
 {
     // The ReportData must contain a concrete event path
     CHIP_ERROR err = aEventPath.GetEndpoint(&(aConcreteEventPath.mEndpointId));
-    VerifyOrReturnError(err == CHIP_NO_ERROR, CHIP_ERROR_IM_MALFORMED_EVENT_PATH);
+    VerifyOrReturnError(err == CHIP_NO_ERROR, CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB);
 
     err = aEventPath.GetCluster(&(aConcreteEventPath.mClusterId));
-    VerifyOrReturnError(err == CHIP_NO_ERROR, CHIP_ERROR_IM_MALFORMED_EVENT_PATH);
+    VerifyOrReturnError(err == CHIP_NO_ERROR, CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB);
 
     err = aEventPath.GetEvent(&(aConcreteEventPath.mEventId));
-    VerifyOrReturnError(err == CHIP_NO_ERROR, CHIP_ERROR_IM_MALFORMED_EVENT_PATH);
+    VerifyOrReturnError(err == CHIP_NO_ERROR, CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB);
 
     return CHIP_NO_ERROR;
 }
@@ -414,7 +405,7 @@
     }
     else if (err == CHIP_NO_ERROR)
     {
-        VerifyOrReturnError(aEventHeader.mTimestamp.IsSystem(), CHIP_ERROR_IM_MALFORMED_EVENT_DATA_ELEMENT);
+        VerifyOrReturnError(aEventHeader.mTimestamp.IsSystem(), CHIP_ERROR_IM_MALFORMED_EVENT_DATA_IB);
         aEventHeader.mTimestamp.mValue += timeStampVal;
         hasDeltaSystemTimestamp = true;
     }
@@ -427,7 +418,7 @@
     }
     else if (err == CHIP_NO_ERROR)
     {
-        VerifyOrReturnError(aEventHeader.mTimestamp.IsEpoch(), CHIP_ERROR_IM_MALFORMED_EVENT_DATA_ELEMENT);
+        VerifyOrReturnError(aEventHeader.mTimestamp.IsEpoch(), CHIP_ERROR_IM_MALFORMED_EVENT_DATA_IB);
         aEventHeader.mTimestamp.mValue += timeStampVal;
         hasDeltaEpochTimestamp = true;
     }
@@ -462,7 +453,7 @@
     {
         return CHIP_NO_ERROR;
     }
-    return CHIP_ERROR_IM_MALFORMED_EVENT_DATA_ELEMENT;
+    return CHIP_ERROR_IM_MALFORMED_EVENT_DATA_IB;
 }
 
 CHIP_ERROR EventDataIB::Parser::DecodeEventHeader(EventHeader & aEventHeader)
diff --git a/src/app/MessageDef/EventFilterIB.cpp b/src/app/MessageDef/EventFilterIB.cpp
index 5fc1824..c0779e6 100644
--- a/src/app/MessageDef/EventFilterIB.cpp
+++ b/src/app/MessageDef/EventFilterIB.cpp
@@ -35,7 +35,7 @@
 CHIP_ERROR EventFilterIB::Parser::CheckSchemaValidity() const
 {
     CHIP_ERROR err      = CHIP_NO_ERROR;
-    int TagPresenceMask = 0;
+    int tagPresenceMask = 0;
     TLV::TLVReader reader;
 
     PRETTY_PRINT("EventFilterIB =");
@@ -55,8 +55,8 @@
         {
         case to_underlying(Tag::kNode):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kNode))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kNode));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kNode))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kNode));
 #if CHIP_DETAIL_LOGGING
             {
                 NodeId node;
@@ -67,8 +67,8 @@
             break;
         case to_underlying(Tag::kEventMin):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kEventMin))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kEventMin));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kEventMin))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kEventMin));
 #if CHIP_DETAIL_LOGGING
             {
                 uint64_t eventMin;
@@ -88,17 +88,12 @@
 
     if (CHIP_END_OF_TLV == err)
     {
-        const int RequiredFields = (1 << to_underlying(Tag::kEventMin));
-
-        if ((TagPresenceMask & RequiredFields) == RequiredFields)
-        {
-            err = CHIP_NO_ERROR;
-        }
+        const int requiredFields = (1 << to_underlying(Tag::kEventMin));
+        err = (tagPresenceMask & requiredFields) == requiredFields ? CHIP_NO_ERROR : CHIP_ERROR_IM_MALFORMED_EVENT_FILTER_IB;
     }
 
     ReturnErrorOnFailure(err);
-    ReturnErrorOnFailure(reader.ExitContainer(mOuterContainerType));
-    return CHIP_NO_ERROR;
+    return reader.ExitContainer(mOuterContainerType);
 }
 #endif // CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
 
diff --git a/src/app/MessageDef/EventFilterIBs.cpp b/src/app/MessageDef/EventFilterIBs.cpp
index cff764e..b7cc412 100644
--- a/src/app/MessageDef/EventFilterIBs.cpp
+++ b/src/app/MessageDef/EventFilterIBs.cpp
@@ -29,8 +29,7 @@
 #if CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
 CHIP_ERROR EventFilterIBs::Parser::CheckSchemaValidity() const
 {
-    CHIP_ERROR err         = CHIP_NO_ERROR;
-    size_t numEventFilters = 0;
+    CHIP_ERROR err = CHIP_NO_ERROR;
     TLV::TLVReader reader;
 
     PRETTY_PRINT("EventFilterIBs =");
@@ -49,8 +48,6 @@
             ReturnErrorOnFailure(eventFilter.CheckSchemaValidity());
             PRETTY_PRINT_DECDEPTH();
         }
-
-        ++numEventFilters;
     }
 
     PRETTY_PRINT("],");
@@ -59,15 +56,10 @@
     // if we have exhausted this container
     if (CHIP_END_OF_TLV == err)
     {
-        // if we have at least one event filter
-        if (numEventFilters > 0)
-        {
-            err = CHIP_NO_ERROR;
-        }
+        err = CHIP_NO_ERROR;
     }
     ReturnErrorOnFailure(err);
-    ReturnErrorOnFailure(reader.ExitContainer(mOuterContainerType));
-    return CHIP_NO_ERROR;
+    return reader.ExitContainer(mOuterContainerType);
 }
 #endif // CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
 
diff --git a/src/app/MessageDef/EventPathIB.cpp b/src/app/MessageDef/EventPathIB.cpp
index 3a2e13b..70c8ca2 100644
--- a/src/app/MessageDef/EventPathIB.cpp
+++ b/src/app/MessageDef/EventPathIB.cpp
@@ -32,7 +32,7 @@
 CHIP_ERROR EventPathIB::Parser::CheckSchemaValidity() const
 {
     CHIP_ERROR err      = CHIP_NO_ERROR;
-    int TagPresenceMask = 0;
+    int tagPresenceMask = 0;
     TLV::TLVReader reader;
 
     PRETTY_PRINT("EventPath =");
@@ -52,8 +52,8 @@
         {
         case to_underlying(Tag::kNode):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kNode))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kNode));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kNode))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kNode));
             VerifyOrReturnError(TLV::kTLVType_UnsignedInteger == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
 #if CHIP_DETAIL_LOGGING
             {
@@ -65,8 +65,8 @@
             break;
         case to_underlying(Tag::kEndpoint):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kEndpoint))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kEndpoint));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kEndpoint))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kEndpoint));
             VerifyOrReturnError(TLV::kTLVType_UnsignedInteger == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
 #if CHIP_DETAIL_LOGGING
             {
@@ -78,8 +78,8 @@
             break;
         case to_underlying(Tag::kCluster):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kCluster))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kCluster));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kCluster))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kCluster));
             VerifyOrReturnError(TLV::kTLVType_UnsignedInteger == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
 
 #if CHIP_DETAIL_LOGGING
@@ -92,8 +92,8 @@
             break;
         case to_underlying(Tag::kEvent):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kEvent))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kEvent));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kEvent))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kEvent));
             VerifyOrReturnError(TLV::kTLVType_UnsignedInteger == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
 
 #if CHIP_DETAIL_LOGGING
@@ -106,8 +106,8 @@
             break;
         case to_underlying(Tag::kIsUrgent):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kIsUrgent))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kIsUrgent));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kIsUrgent))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kIsUrgent));
             VerifyOrReturnError(TLV::kTLVType_Boolean == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
 
 #if CHIP_DETAIL_LOGGING
@@ -134,8 +134,7 @@
     }
 
     ReturnErrorOnFailure(err);
-    ReturnErrorOnFailure(reader.ExitContainer(mOuterContainerType));
-    return err;
+    return reader.ExitContainer(mOuterContainerType);
 }
 #endif // CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
 
@@ -161,9 +160,9 @@
 
 CHIP_ERROR EventPathIB::Parser::GetEventPath(ConcreteEventPath * const apPath) const
 {
-    VerifyOrReturnError(GetEndpoint(&(apPath->mEndpointId)) == CHIP_NO_ERROR, CHIP_ERROR_IM_MALFORMED_EVENT_PATH);
-    VerifyOrReturnError(GetCluster(&(apPath->mClusterId)) == CHIP_NO_ERROR, CHIP_ERROR_IM_MALFORMED_EVENT_PATH);
-    VerifyOrReturnError(GetEvent(&(apPath->mEventId)) == CHIP_NO_ERROR, CHIP_ERROR_IM_MALFORMED_EVENT_PATH);
+    VerifyOrReturnError(GetEndpoint(&(apPath->mEndpointId)) == CHIP_NO_ERROR, CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB);
+    VerifyOrReturnError(GetCluster(&(apPath->mClusterId)) == CHIP_NO_ERROR, CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB);
+    VerifyOrReturnError(GetEvent(&(apPath->mEventId)) == CHIP_NO_ERROR, CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB);
     return CHIP_NO_ERROR;
 }
 
diff --git a/src/app/MessageDef/EventPathIB.h b/src/app/MessageDef/EventPathIB.h
index 9d6e378..32b7948 100644
--- a/src/app/MessageDef/EventPathIB.h
+++ b/src/app/MessageDef/EventPathIB.h
@@ -124,7 +124,7 @@
      *  @param [in] apPath    A pointer to the path to fill in.
      *
      *  @return #CHIP_NO_ERROR on success
-     *          #CHIP_ERROR_IM_MALFORMED_EVENT_PATH if the path from the reader is not a valid concrere event path.
+     *          #CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB if the path from the reader is not a valid concrere event path.
      */
     CHIP_ERROR GetEventPath(ConcreteEventPath * const apPath) const;
 };
diff --git a/src/app/MessageDef/EventPathIBs.cpp b/src/app/MessageDef/EventPathIBs.cpp
index fc541ad..98687f6 100644
--- a/src/app/MessageDef/EventPathIBs.cpp
+++ b/src/app/MessageDef/EventPathIBs.cpp
@@ -67,8 +67,7 @@
         err = CHIP_NO_ERROR;
     }
     ReturnErrorOnFailure(err);
-    ReturnErrorOnFailure(reader.ExitContainer(mOuterContainerType));
-    return CHIP_NO_ERROR;
+    return reader.ExitContainer(mOuterContainerType);
 }
 #endif // CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
 
diff --git a/src/app/MessageDef/EventReportIB.cpp b/src/app/MessageDef/EventReportIB.cpp
index b9ac47d..ce59866 100644
--- a/src/app/MessageDef/EventReportIB.cpp
+++ b/src/app/MessageDef/EventReportIB.cpp
@@ -32,7 +32,7 @@
 CHIP_ERROR EventReportIB::Parser::CheckSchemaValidity() const
 {
     CHIP_ERROR err      = CHIP_NO_ERROR;
-    int TagPresenceMask = 0;
+    int tagPresenceMask = 0;
     TLV::TLVReader reader;
 
     PRETTY_PRINT("EventReportIB =");
@@ -52,8 +52,8 @@
         {
         case to_underlying(Tag::kEventStatus):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kEventStatus))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kEventStatus));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kEventStatus))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kEventStatus));
             {
                 EventStatusIB::Parser eventStatus;
                 ReturnErrorOnFailure(eventStatus.Init(reader));
@@ -65,8 +65,8 @@
             break;
         case to_underlying(Tag::kEventData):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kEventData))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kEventData));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kEventData))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kEventData));
             {
                 EventDataIB::Parser eventData;
                 ReturnErrorOnFailure(eventData.Init(reader));
@@ -91,12 +91,12 @@
         const int CheckDataField   = 1 << to_underlying(Tag::kEventData);
         const int CheckStatusField = (1 << to_underlying(Tag::kEventStatus));
 
-        if ((TagPresenceMask & CheckDataField) == CheckDataField && (TagPresenceMask & CheckStatusField) == CheckStatusField)
+        if ((tagPresenceMask & CheckDataField) == CheckDataField && (tagPresenceMask & CheckStatusField) == CheckStatusField)
         {
             // kEventData and kEventStatus both exist
             err = CHIP_ERROR_IM_MALFORMED_EVENT_REPORT_IB;
         }
-        else if ((TagPresenceMask & CheckDataField) != CheckDataField && (TagPresenceMask & CheckStatusField) != CheckStatusField)
+        else if ((tagPresenceMask & CheckDataField) != CheckDataField && (tagPresenceMask & CheckStatusField) != CheckStatusField)
         {
             // kEventData and kErrorStatus not exist
             err = CHIP_ERROR_IM_MALFORMED_EVENT_REPORT_IB;
@@ -108,8 +108,7 @@
     }
 
     ReturnErrorOnFailure(err);
-    ReturnErrorOnFailure(reader.ExitContainer(mOuterContainerType));
-    return CHIP_NO_ERROR;
+    return reader.ExitContainer(mOuterContainerType);
 }
 #endif // CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
 
@@ -117,16 +116,14 @@
 {
     TLV::TLVReader reader;
     ReturnErrorOnFailure(mReader.FindElementWithTag(TLV::ContextTag(to_underlying(Tag::kEventStatus)), reader));
-    ReturnErrorOnFailure(apEventStatus->Init(reader));
-    return CHIP_NO_ERROR;
+    return apEventStatus->Init(reader);
 }
 
 CHIP_ERROR EventReportIB::Parser::GetEventData(EventDataIB::Parser * const apEventData) const
 {
     TLV::TLVReader reader;
     ReturnErrorOnFailure(mReader.FindElementWithTag(TLV::ContextTag(to_underlying(Tag::kEventData)), reader));
-    ReturnErrorOnFailure(apEventData->Init(reader));
-    return CHIP_NO_ERROR;
+    return apEventData->Init(reader);
 }
 
 EventStatusIB::Builder & EventReportIB::Builder::CreateEventStatus()
diff --git a/src/app/MessageDef/EventReportIBs.cpp b/src/app/MessageDef/EventReportIBs.cpp
index 027af6f..f071333 100644
--- a/src/app/MessageDef/EventReportIBs.cpp
+++ b/src/app/MessageDef/EventReportIBs.cpp
@@ -65,8 +65,7 @@
         err = CHIP_NO_ERROR;
     }
     ReturnErrorOnFailure(err);
-    ReturnErrorOnFailure(reader.ExitContainer(mOuterContainerType));
-    return CHIP_NO_ERROR;
+    return reader.ExitContainer(mOuterContainerType);
 }
 #endif // CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
 
diff --git a/src/app/MessageDef/EventStatusIB.cpp b/src/app/MessageDef/EventStatusIB.cpp
index 84188a1..5b831ac 100644
--- a/src/app/MessageDef/EventStatusIB.cpp
+++ b/src/app/MessageDef/EventStatusIB.cpp
@@ -31,7 +31,7 @@
 CHIP_ERROR EventStatusIB::Parser::CheckSchemaValidity() const
 {
     CHIP_ERROR err      = CHIP_NO_ERROR;
-    int TagPresenceMask = 0;
+    int tagPresenceMask = 0;
     TLV::TLVReader reader;
 
     PRETTY_PRINT("EventStatusIB =");
@@ -51,8 +51,8 @@
         {
         case to_underlying(Tag::kPath):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kPath))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kPath));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kPath))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kPath));
             {
                 EventPathIB::Parser path;
                 ReturnErrorOnFailure(path.Init(reader));
@@ -64,8 +64,8 @@
             break;
         case to_underlying(Tag::kErrorStatus):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kErrorStatus))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kErrorStatus));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kErrorStatus))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kErrorStatus));
             {
                 StatusIB::Parser errorStatus;
                 ReturnErrorOnFailure(errorStatus.Init(reader));
@@ -86,17 +86,12 @@
 
     if (CHIP_END_OF_TLV == err)
     {
-        const int RequiredFields = (1 << to_underlying(Tag::kPath)) | (1 << to_underlying(Tag::kErrorStatus));
-
-        if ((TagPresenceMask & RequiredFields) == RequiredFields)
-        {
-            err = CHIP_NO_ERROR;
-        }
+        const int requiredFields = (1 << to_underlying(Tag::kPath)) | (1 << to_underlying(Tag::kErrorStatus));
+        err = (tagPresenceMask & requiredFields) == requiredFields ? CHIP_NO_ERROR : CHIP_ERROR_IM_MALFORMED_EVENT_STATUS_IB;
     }
 
     ReturnErrorOnFailure(err);
-    ReturnErrorOnFailure(reader.ExitContainer(mOuterContainerType));
-    return CHIP_NO_ERROR;
+    return reader.ExitContainer(mOuterContainerType);
 }
 #endif // CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
 
@@ -104,16 +99,14 @@
 {
     TLV::TLVReader reader;
     ReturnErrorOnFailure(mReader.FindElementWithTag(TLV::ContextTag(to_underlying(Tag::kPath)), reader));
-    ReturnErrorOnFailure(apPath->Init(reader));
-    return CHIP_NO_ERROR;
+    return apPath->Init(reader);
 }
 
 CHIP_ERROR EventStatusIB::Parser::GetErrorStatus(StatusIB::Parser * const apErrorStatus) const
 {
     TLV::TLVReader reader;
     ReturnErrorOnFailure(mReader.FindElementWithTag(TLV::ContextTag(to_underlying(Tag::kErrorStatus)), reader));
-    ReturnErrorOnFailure(apErrorStatus->Init(reader));
-    return CHIP_NO_ERROR;
+    return apErrorStatus->Init(reader);
 }
 
 EventPathIB::Builder & EventStatusIB::Builder::CreatePath()
diff --git a/src/app/MessageDef/InvokeRequestMessage.cpp b/src/app/MessageDef/InvokeRequestMessage.cpp
index 2610a4d..5df9719 100644
--- a/src/app/MessageDef/InvokeRequestMessage.cpp
+++ b/src/app/MessageDef/InvokeRequestMessage.cpp
@@ -99,22 +99,13 @@
 
     if (CHIP_END_OF_TLV == err)
     {
-        const int RequiredFields = (1 << to_underlying(Tag::kSuppressResponse)) | (1 << to_underlying(Tag::kTimedRequest)) |
+        const int requiredFields = (1 << to_underlying(Tag::kSuppressResponse)) | (1 << to_underlying(Tag::kTimedRequest)) |
             (1 << to_underlying(Tag::kInvokeRequests));
-
-        if ((tagPresenceMask & RequiredFields) == RequiredFields)
-        {
-            err = CHIP_NO_ERROR;
-        }
-        else
-        {
-            err = CHIP_ERROR_IM_MALFORMED_INVOKE_REQUEST_MESSAGE;
-        }
+        err = (tagPresenceMask & requiredFields) == requiredFields ? CHIP_NO_ERROR : CHIP_ERROR_IM_MALFORMED_INVOKE_REQUEST_MESSAGE;
     }
 
     ReturnErrorOnFailure(err);
-    ReturnErrorOnFailure(reader.ExitContainer(mOuterContainerType));
-    return CHIP_NO_ERROR;
+    return reader.ExitContainer(mOuterContainerType);
 }
 #endif // CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
 
@@ -132,8 +123,7 @@
 {
     TLV::TLVReader reader;
     ReturnErrorOnFailure(mReader.FindElementWithTag(TLV::ContextTag(to_underlying(Tag::kInvokeRequests)), reader));
-    ReturnErrorOnFailure(apInvokeRequests->Init(reader));
-    return CHIP_NO_ERROR;
+    return apInvokeRequests->Init(reader);
 }
 
 InvokeRequestMessage::Builder & InvokeRequestMessage::Builder::SuppressResponse(const bool aSuppressResponse)
diff --git a/src/app/MessageDef/InvokeRequests.cpp b/src/app/MessageDef/InvokeRequests.cpp
index 2e74397..d91b3f5 100644
--- a/src/app/MessageDef/InvokeRequests.cpp
+++ b/src/app/MessageDef/InvokeRequests.cpp
@@ -66,8 +66,7 @@
         }
     }
     ReturnErrorOnFailure(err);
-    ReturnErrorOnFailure(reader.ExitContainer(mOuterContainerType));
-    return CHIP_NO_ERROR;
+    return reader.ExitContainer(mOuterContainerType);
 }
 #endif // CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
 
diff --git a/src/app/MessageDef/InvokeResponseIB.cpp b/src/app/MessageDef/InvokeResponseIB.cpp
index d28dc49..438bc97 100644
--- a/src/app/MessageDef/InvokeResponseIB.cpp
+++ b/src/app/MessageDef/InvokeResponseIB.cpp
@@ -29,7 +29,7 @@
 CHIP_ERROR InvokeResponseIB::Parser::CheckSchemaValidity() const
 {
     CHIP_ERROR err      = CHIP_NO_ERROR;
-    int TagPresenceMask = 0;
+    int tagPresenceMask = 0;
     TLV::TLVReader reader;
 
     PRETTY_PRINT("InvokeResponseIB =");
@@ -49,8 +49,8 @@
         {
         case to_underlying(Tag::kCommand):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kCommand))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kCommand));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kCommand))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kCommand));
             {
                 CommandDataIB::Parser command;
                 ReturnErrorOnFailure(command.Init(reader));
@@ -62,8 +62,8 @@
             break;
         case to_underlying(Tag::kStatus):
             // check if this tag has appeared before
-            VerifyOrReturnError(!(TagPresenceMask & (1 << to_underlying(Tag::kStatus))), CHIP_ERROR_INVALID_TLV_TAG);
-            TagPresenceMask |= (1 << to_underlying(Tag::kStatus));
+            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kStatus))), CHIP_ERROR_INVALID_TLV_TAG);
+            tagPresenceMask |= (1 << to_underlying(Tag::kStatus));
             {
                 CommandStatusIB::Parser status;
                 ReturnErrorOnFailure(status.Init(reader));
@@ -89,13 +89,13 @@
         const int CheckCommandField = 1 << to_underlying(Tag::kCommand);
         const int CheckStatusField  = (1 << to_underlying(Tag::kStatus));
 
-        if ((TagPresenceMask & CheckCommandField) == CheckCommandField && (TagPresenceMask & CheckStatusField) == CheckStatusField)
+        if ((tagPresenceMask & CheckCommandField) == CheckCommandField && (tagPresenceMask & CheckStatusField) == CheckStatusField)
         {
             // kPath and kErrorStatus both exist
             err = CHIP_ERROR_IM_MALFORMED_INVOKE_RESPONSE_IB;
         }
-        else if ((TagPresenceMask & CheckCommandField) != CheckCommandField &&
-                 (TagPresenceMask & CheckStatusField) != CheckStatusField)
+        else if ((tagPresenceMask & CheckCommandField) != CheckCommandField &&
+                 (tagPresenceMask & CheckStatusField) != CheckStatusField)
         {
             // kPath and kErrorStatus not exist
             err = CHIP_ERROR_IM_MALFORMED_INVOKE_RESPONSE_IB;
@@ -106,8 +106,7 @@
         }
     }
     ReturnErrorOnFailure(err);
-    ReturnErrorOnFailure(reader.ExitContainer(mOuterContainerType));
-    return CHIP_NO_ERROR;
+    return reader.ExitContainer(mOuterContainerType);
 }
 #endif // CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
 
@@ -115,16 +114,14 @@
 {
     TLV::TLVReader reader;
     ReturnErrorOnFailure(mReader.FindElementWithTag(TLV::ContextTag(to_underlying(Tag::kCommand)), reader));
-    ReturnErrorOnFailure(apCommand->Init(reader));
-    return CHIP_NO_ERROR;
+    return apCommand->Init(reader);
 }
 
 CHIP_ERROR InvokeResponseIB::Parser::GetStatus(CommandStatusIB::Parser * const apStatus) const
 {
     TLV::TLVReader reader;
     ReturnErrorOnFailure(mReader.FindElementWithTag(TLV::ContextTag(to_underlying(Tag::kStatus)), reader));
-    ReturnErrorOnFailure(apStatus->Init(reader));
-    return CHIP_NO_ERROR;
+    return apStatus->Init(reader);
 }
 
 CommandDataIB::Builder & InvokeResponseIB::Builder::CreateCommand()
diff --git a/src/app/MessageDef/InvokeResponseIBs.cpp b/src/app/MessageDef/InvokeResponseIBs.cpp
index 4a148b8..40a2c26 100644
--- a/src/app/MessageDef/InvokeResponseIBs.cpp
+++ b/src/app/MessageDef/InvokeResponseIBs.cpp
@@ -59,15 +59,14 @@
     // if we have exhausted this container
     if (CHIP_END_OF_TLV == err)
     {
-        // if we have at least one data element
+        // if we have at least one response
         if (numInvokeResponses > 0)
         {
             err = CHIP_NO_ERROR;
         }
     }
     ReturnErrorOnFailure(err);
-    ReturnErrorOnFailure(reader.ExitContainer(mOuterContainerType));
-    return CHIP_NO_ERROR;
+    return reader.ExitContainer(mOuterContainerType);
 }
 #endif // CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
 
diff --git a/src/app/MessageDef/InvokeResponseMessage.cpp b/src/app/MessageDef/InvokeResponseMessage.cpp
index 80c22a9..39a18a4 100644
--- a/src/app/MessageDef/InvokeResponseMessage.cpp
+++ b/src/app/MessageDef/InvokeResponseMessage.cpp
@@ -86,21 +86,13 @@
 
     if (CHIP_END_OF_TLV == err)
     {
-        const int RequiredFields = (1 << to_underlying(Tag::kSuppressResponse)) | (1 << to_underlying(Tag::kInvokeResponses));
-
-        if ((tagPresenceMask & RequiredFields) == RequiredFields)
-        {
-            err = CHIP_NO_ERROR;
-        }
-        else
-        {
-            err = CHIP_ERROR_IM_MALFORMED_INVOKE_RESPONSE_MESSAGE;
-        }
+        const int requiredFields = (1 << to_underlying(Tag::kSuppressResponse)) | (1 << to_underlying(Tag::kInvokeResponses));
+        err =
+            (tagPresenceMask & requiredFields) == requiredFields ? CHIP_NO_ERROR : CHIP_ERROR_IM_MALFORMED_INVOKE_RESPONSE_MESSAGE;
     }
 
     ReturnErrorOnFailure(err);
-    ReturnErrorOnFailure(reader.ExitContainer(mOuterContainerType));
-    return CHIP_NO_ERROR;
+    return reader.ExitContainer(mOuterContainerType);
 }
 #endif // CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
 
@@ -113,8 +105,7 @@
 {
     TLV::TLVReader reader;
     ReturnErrorOnFailure(mReader.FindElementWithTag(TLV::ContextTag(to_underlying(Tag::kInvokeResponses)), reader));
-    ReturnErrorOnFailure(apStatus->Init(reader));
-    return CHIP_NO_ERROR;
+    return apStatus->Init(reader);
 }
 
 InvokeResponseMessage::Builder & InvokeResponseMessage::Builder::SuppressResponse(const bool aSuppressResponse)
diff --git a/src/app/MessageDef/ListParser.cpp b/src/app/MessageDef/ListParser.cpp
index fce62c3..09ab78d 100644
--- a/src/app/MessageDef/ListParser.cpp
+++ b/src/app/MessageDef/ListParser.cpp
@@ -24,8 +24,7 @@
 {
     mReader.Init(aReader);
     VerifyOrReturnError(TLV::kTLVType_List == mReader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
-    ReturnErrorOnFailure(mReader.EnterContainer(mOuterContainerType));
-    return CHIP_NO_ERROR;
+    return mReader.EnterContainer(mOuterContainerType);
 }
 } // namespace app
 } // namespace chip
diff --git a/src/app/MessageDef/MessageBuilder.cpp b/src/app/MessageDef/MessageBuilder.cpp
index 4ea0e41..b9ad0e5 100644
--- a/src/app/MessageDef/MessageBuilder.cpp
+++ b/src/app/MessageDef/MessageBuilder.cpp
@@ -24,9 +24,8 @@
 namespace app {
 CHIP_ERROR MessageBuilder::EncodeInteractionModelRevision()
 {
-    ReturnErrorOnFailure(mpWriter->Put(TLV::ContextTag(kInteractionModelRevisionTag),
-                                       static_cast<InteractionModelRevision>(CHIP_DEVICE_INTERACTION_MODEL_REVISION)));
-    return CHIP_NO_ERROR;
+    return mpWriter->Put(TLV::ContextTag(kInteractionModelRevisionTag),
+                         static_cast<InteractionModelRevision>(CHIP_DEVICE_INTERACTION_MODEL_REVISION));
 }
 } // namespace app
 } // namespace chip
diff --git a/src/app/MessageDef/ReadRequestMessage.cpp b/src/app/MessageDef/ReadRequestMessage.cpp
index 0f25328..0f47a95 100644
--- a/src/app/MessageDef/ReadRequestMessage.cpp
+++ b/src/app/MessageDef/ReadRequestMessage.cpp
@@ -125,16 +125,8 @@
 
     if (CHIP_END_OF_TLV == err)
     {
-        const int RequiredFields = (1 << to_underlying(Tag::kIsFabricFiltered));
-
-        if ((tagPresenceMask & RequiredFields) == RequiredFields)
-        {
-            err = CHIP_NO_ERROR;
-        }
-        else
-        {
-            err = CHIP_ERROR_IM_MALFORMED_READ_REQUEST_MESSAGE;
-        }
+        const int requiredFields = (1 << to_underlying(Tag::kIsFabricFiltered));
+        err = (tagPresenceMask & requiredFields) == requiredFields ? CHIP_NO_ERROR : CHIP_ERROR_IM_MALFORMED_READ_REQUEST_MESSAGE;
     }
 
     ReturnErrorOnFailure(err);
diff --git a/src/app/MessageDef/StatusIB.cpp b/src/app/MessageDef/StatusIB.cpp
index 7707011..9a9ba96 100644
--- a/src/app/MessageDef/StatusIB.cpp
+++ b/src/app/MessageDef/StatusIB.cpp
@@ -68,7 +68,7 @@
 CHIP_ERROR StatusIB::Parser::CheckSchemaValidity() const
 {
     CHIP_ERROR err      = CHIP_NO_ERROR;
-    int TagPresenceMask = 0;
+    int tagPresenceMask = 0;
     TLV::TLVReader reader;
 
     PRETTY_PRINT("StatusIB =");
@@ -82,9 +82,9 @@
         {
             continue;
         }
-        if (!(TagPresenceMask & (1 << to_underlying(Tag::kStatus))))
+        if (!(tagPresenceMask & (1 << to_underlying(Tag::kStatus))))
         {
-            TagPresenceMask |= (1 << to_underlying(Tag::kStatus));
+            tagPresenceMask |= (1 << to_underlying(Tag::kStatus));
 
 #if CHIP_DETAIL_LOGGING
             {
@@ -94,9 +94,9 @@
             }
 #endif // CHIP_DETAIL_LOGGING
         }
-        else if (!(TagPresenceMask & (1 << to_underlying(Tag::kClusterStatus))))
+        else if (!(tagPresenceMask & (1 << to_underlying(Tag::kClusterStatus))))
         {
-            TagPresenceMask |= (1 << to_underlying(Tag::kClusterStatus));
+            tagPresenceMask |= (1 << to_underlying(Tag::kClusterStatus));
 
 #if CHIP_DETAIL_LOGGING
             {
@@ -118,20 +118,11 @@
     if (CHIP_END_OF_TLV == err)
     {
         // check for required fields:
-        const int RequiredFields = (1 << to_underlying(Tag::kStatus));
-
-        if ((TagPresenceMask & RequiredFields) == RequiredFields)
-        {
-            err = CHIP_NO_ERROR;
-        }
-        else
-        {
-            err = CHIP_ERROR_IM_MALFORMED_STATUS_CODE;
-        }
+        const int requiredFields = (1 << to_underlying(Tag::kStatus));
+        err = (tagPresenceMask & requiredFields) == requiredFields ? CHIP_NO_ERROR : CHIP_ERROR_IM_MALFORMED_STATUS_IB;
     }
     ReturnErrorOnFailure(err);
-    ReturnErrorOnFailure(reader.ExitContainer(mOuterContainerType));
-    return CHIP_NO_ERROR;
+    return reader.ExitContainer(mOuterContainerType);
 }
 #endif // CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
 
diff --git a/src/app/MessageDef/StatusResponseMessage.cpp b/src/app/MessageDef/StatusResponseMessage.cpp
index 0b09592..a20fc4d 100644
--- a/src/app/MessageDef/StatusResponseMessage.cpp
+++ b/src/app/MessageDef/StatusResponseMessage.cpp
@@ -40,7 +40,8 @@
         {
             continue;
         }
-        switch (TLV::TagNumFromTag(reader.GetTag()))
+        uint32_t tagNum = TLV::TagNumFromTag(reader.GetTag());
+        switch (tagNum)
         {
         case to_underlying(Tag::kStatus):
             VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kStatus))), CHIP_ERROR_INVALID_TLV_TAG);
@@ -58,7 +59,8 @@
             ReturnErrorOnFailure(MessageParser::CheckInteractionModelRevision(reader));
             break;
         default:
-            ReturnErrorOnFailure(CHIP_ERROR_INVALID_TLV_TAG);
+            PRETTY_PRINT("Unknown tag num %" PRIu32, tagNum);
+            break;
         }
     }
     PRETTY_PRINT("}");
@@ -67,15 +69,8 @@
     if (CHIP_END_OF_TLV == err)
     {
         const int requiredFields = (1 << to_underlying(Tag::kStatus));
-
-        if ((tagPresenceMask & requiredFields) == requiredFields)
-        {
-            err = CHIP_NO_ERROR;
-        }
-        else
-        {
-            err = CHIP_ERROR_IM_MALFORMED_STATUS_RESPONSE_MESSAGE;
-        }
+        err =
+            (tagPresenceMask & requiredFields) == requiredFields ? CHIP_NO_ERROR : CHIP_ERROR_IM_MALFORMED_STATUS_RESPONSE_MESSAGE;
     }
     ReturnErrorOnFailure(err);
     return reader.ExitContainer(mOuterContainerType);
diff --git a/src/app/MessageDef/StructParser.cpp b/src/app/MessageDef/StructParser.cpp
index b6150b6..daf2156 100644
--- a/src/app/MessageDef/StructParser.cpp
+++ b/src/app/MessageDef/StructParser.cpp
@@ -23,8 +23,7 @@
     mReader.Init(aReader);
     VerifyOrReturnError(TLV::kTLVType_Structure == mReader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
     ReturnErrorOnFailure(mReader.EnterContainer(mOuterContainerType));
-    ReturnErrorOnFailure(CheckSchemaOrdering());
-    return CHIP_NO_ERROR;
+    return CheckSchemaOrdering();
 }
 
 CHIP_ERROR StructParser::CheckSchemaOrdering() const
diff --git a/src/app/MessageDef/SubscribeRequestMessage.cpp b/src/app/MessageDef/SubscribeRequestMessage.cpp
index a30f577..abc83a9 100644
--- a/src/app/MessageDef/SubscribeRequestMessage.cpp
+++ b/src/app/MessageDef/SubscribeRequestMessage.cpp
@@ -131,18 +131,6 @@
                 PRETTY_PRINT_DECDEPTH();
             }
             break;
-        case to_underlying(Tag::kIsProxy):
-            VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kIsProxy))), CHIP_ERROR_INVALID_TLV_TAG);
-            tagPresenceMask |= (1 << to_underlying(Tag::kIsProxy));
-            VerifyOrReturnError(TLV::kTLVType_Boolean == reader.GetType(), CHIP_ERROR_WRONG_TLV_TYPE);
-#if CHIP_DETAIL_LOGGING
-            {
-                bool isProxy;
-                ReturnErrorOnFailure(reader.Get(isProxy));
-                PRETTY_PRINT("\tIsProxy = %s, ", isProxy ? "true" : "false");
-            }
-#endif // CHIP_DETAIL_LOGGING
-            break;
         case to_underlying(Tag::kIsFabricFiltered):
             // check if this tag has appeared before
             VerifyOrReturnError(!(tagPresenceMask & (1 << to_underlying(Tag::kIsFabricFiltered))), CHIP_ERROR_INVALID_TLV_TAG);
@@ -169,17 +157,11 @@
 
     if (CHIP_END_OF_TLV == err)
     {
-        const int RequiredFields = (1 << to_underlying(Tag::kIsFabricFiltered)) |
+        const int requiredFields = (1 << to_underlying(Tag::kIsFabricFiltered)) | (1 << to_underlying(Tag::kKeepSubscriptions)) |
             (1 << to_underlying(Tag::kMinIntervalFloorSeconds)) | (1 << to_underlying(Tag::kMaxIntervalCeilingSeconds));
 
-        if ((tagPresenceMask & RequiredFields) == RequiredFields)
-        {
-            err = CHIP_NO_ERROR;
-        }
-        else
-        {
-            err = CHIP_ERROR_IM_MALFORMED_SUBSCRIBE_REQUEST_MESSAGE;
-        }
+        err = (tagPresenceMask & requiredFields) == requiredFields ? CHIP_NO_ERROR
+                                                                   : CHIP_ERROR_IM_MALFORMED_SUBSCRIBE_REQUEST_MESSAGE;
     }
 
     ReturnErrorOnFailure(err);
@@ -230,11 +212,6 @@
     return apEventFilters->Init(reader);
 }
 
-CHIP_ERROR SubscribeRequestMessage::Parser::GetIsProxy(bool * const apIsProxy) const
-{
-    return GetSimpleValue(to_underlying(Tag::kIsProxy), TLV::kTLVType_Boolean, apIsProxy);
-}
-
 CHIP_ERROR SubscribeRequestMessage::Parser::GetIsFabricFiltered(bool * const apIsFabricFiltered) const
 {
     return GetSimpleValue(to_underlying(Tag::kIsFabricFiltered), TLV::kTLVType_Boolean, apIsFabricFiltered);
@@ -306,15 +283,6 @@
     return mEventFilters;
 }
 
-SubscribeRequestMessage::Builder & SubscribeRequestMessage::Builder::IsProxy(const bool aIsProxy)
-{
-    if (mError == CHIP_NO_ERROR)
-    {
-        mError = mpWriter->PutBoolean(TLV::ContextTag(to_underlying(Tag::kIsProxy)), aIsProxy);
-    }
-    return *this;
-}
-
 SubscribeRequestMessage::Builder & SubscribeRequestMessage::Builder::IsFabricFiltered(const bool aIsFabricFiltered)
 {
     // skip if error has already been set
diff --git a/src/app/MessageDef/SubscribeRequestMessage.h b/src/app/MessageDef/SubscribeRequestMessage.h
index d70451e..25529cc 100644
--- a/src/app/MessageDef/SubscribeRequestMessage.h
+++ b/src/app/MessageDef/SubscribeRequestMessage.h
@@ -41,7 +41,6 @@
     kAttributeRequests         = 3,
     kEventRequests             = 4,
     kEventFilters              = 5,
-    kIsProxy                   = 6,
     kIsFabricFiltered          = 7,
     kDataVersionFilters        = 8,
 };
@@ -119,13 +118,6 @@
     CHIP_ERROR GetEventFilters(EventFilterIBs::Parser * const apEventFilters) const;
 
     /**
-     *  @brief Get GetIsProxy boolean .
-     *  @return #CHIP_NO_ERROR on success
-     *          #CHIP_END_OF_TLV if there is no such element
-     */
-    CHIP_ERROR GetIsProxy(bool * const apIsProxy) const;
-
-    /**
      *  @brief Get IsFabricFiltered boolean
      *
      *  @param [in] apIsFabricFiltered    A pointer to apIsFabricFiltered
@@ -152,13 +144,6 @@
     EventFilterIBs::Builder & CreateEventFilters();
 
     /**
-     *  @brief This is set to true by the subscriber if it is a proxy-type device proxying for another client. This
-     *  confers it special privileges on the publisher that might result in evictions of other non-proxy subscriptions
-     *  to make way for the proxy.
-     */
-    SubscribeRequestMessage::Builder & IsProxy(const bool aIsProxy);
-
-    /**
      *  @brief  limits the data written within fabric-scoped lists to the accessing fabric
      *  @return A reference to *this
      */
diff --git a/src/app/MessageDef/SubscribeResponseMessage.cpp b/src/app/MessageDef/SubscribeResponseMessage.cpp
index d857f5c..c7cc524 100644
--- a/src/app/MessageDef/SubscribeResponseMessage.cpp
+++ b/src/app/MessageDef/SubscribeResponseMessage.cpp
@@ -91,17 +91,10 @@
 
     if (CHIP_END_OF_TLV == err)
     {
-        const uint16_t RequiredFields = (1 << to_underlying(Tag::kSubscriptionId)) |
+        const uint16_t requiredFields = (1 << to_underlying(Tag::kSubscriptionId)) |
             (1 << to_underlying(Tag::kMinIntervalFloorSeconds)) | (1 << to_underlying(Tag::kMaxIntervalCeilingSeconds));
-
-        if ((tagPresenceMask & RequiredFields) == RequiredFields)
-        {
-            err = CHIP_NO_ERROR;
-        }
-        else
-        {
-            err = CHIP_ERROR_IM_MALFORMED_SUBSCRIBE_RESPONSE_MESSAGE;
-        }
+        err = (tagPresenceMask & requiredFields) == requiredFields ? CHIP_NO_ERROR
+                                                                   : CHIP_ERROR_IM_MALFORMED_SUBSCRIBE_RESPONSE_MESSAGE;
     }
     ReturnErrorOnFailure(err);
     return reader.ExitContainer(mOuterContainerType);
diff --git a/src/app/MessageDef/TimedRequestMessage.cpp b/src/app/MessageDef/TimedRequestMessage.cpp
index 957cd5e..8ee9467 100644
--- a/src/app/MessageDef/TimedRequestMessage.cpp
+++ b/src/app/MessageDef/TimedRequestMessage.cpp
@@ -64,16 +64,8 @@
     PRETTY_PRINT("");
     if (CHIP_END_OF_TLV == err)
     {
-        const int RequiredFields = (1 << to_underlying(Tag::kTimeoutMs));
-
-        if ((tagPresenceMask & RequiredFields) == RequiredFields)
-        {
-            err = CHIP_NO_ERROR;
-        }
-        else
-        {
-            err = CHIP_ERROR_IM_MALFORMED_TIMED_REQUEST_MESSAGE;
-        }
+        const int requiredFields = (1 << to_underlying(Tag::kTimeoutMs));
+        err = (tagPresenceMask & requiredFields) == requiredFields ? CHIP_NO_ERROR : CHIP_ERROR_IM_MALFORMED_TIMED_REQUEST_MESSAGE;
     }
     ReturnErrorOnFailure(err);
     return reader.ExitContainer(mOuterContainerType);
diff --git a/src/app/MessageDef/WriteRequestMessage.cpp b/src/app/MessageDef/WriteRequestMessage.cpp
index b367530..25f547e 100644
--- a/src/app/MessageDef/WriteRequestMessage.cpp
+++ b/src/app/MessageDef/WriteRequestMessage.cpp
@@ -116,16 +116,8 @@
 
     if (CHIP_END_OF_TLV == err)
     {
-        const int RequiredFields = ((1 << to_underlying(Tag::kTimedRequest)) | (1 << to_underlying(Tag::kWriteRequests)));
-
-        if ((tagPresenceMask & RequiredFields) == RequiredFields)
-        {
-            err = CHIP_NO_ERROR;
-        }
-        else
-        {
-            err = CHIP_ERROR_IM_MALFORMED_WRITE_REQUEST_MESSAGE;
-        }
+        const int requiredFields = ((1 << to_underlying(Tag::kTimedRequest)) | (1 << to_underlying(Tag::kWriteRequests)));
+        err = (tagPresenceMask & requiredFields) == requiredFields ? CHIP_NO_ERROR : CHIP_ERROR_IM_MALFORMED_WRITE_REQUEST_MESSAGE;
     }
 
     ReturnErrorOnFailure(err);
diff --git a/src/app/MessageDef/WriteResponseMessage.cpp b/src/app/MessageDef/WriteResponseMessage.cpp
index 5beaed0..0e4c902 100644
--- a/src/app/MessageDef/WriteResponseMessage.cpp
+++ b/src/app/MessageDef/WriteResponseMessage.cpp
@@ -71,16 +71,7 @@
 
     if (CHIP_END_OF_TLV == err)
     {
-        const int RequiredFields = (1 << to_underlying(Tag::kWriteResponses));
-
-        if ((tagPresenceMask & RequiredFields) == RequiredFields)
-        {
-            err = CHIP_NO_ERROR;
-        }
-        else
-        {
-            err = CHIP_ERROR_IM_MALFORMED_WRITE_RESPONSE_MESSAGE;
-        }
+        err = CHIP_NO_ERROR;
     }
 
     ReturnErrorOnFailure(err);
diff --git a/src/app/ReadClient.cpp b/src/app/ReadClient.cpp
index 6a0c507..d58e41a 100644
--- a/src/app/ReadClient.cpp
+++ b/src/app/ReadClient.cpp
@@ -291,7 +291,7 @@
 {
     for (auto & event : aEventPaths)
     {
-        VerifyOrReturnError(event.IsValidEventPath(), CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH);
+        VerifyOrReturnError(event.IsValidEventPath(), CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB);
         EventPathIB::Builder & path = aEventPathsBuilder.CreatePath();
         ReturnErrorOnFailure(aEventPathsBuilder.GetError());
         ReturnErrorOnFailure(path.Encode(event));
@@ -306,7 +306,7 @@
 {
     for (auto & attribute : aAttributePaths)
     {
-        VerifyOrReturnError(attribute.IsValidAttributePath(), CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH);
+        VerifyOrReturnError(attribute.IsValidAttributePath(), CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB);
         AttributePathIB::Builder & path = aAttributePathIBsBuilder.CreatePath();
         ReturnErrorOnFailure(aAttributePathIBsBuilder.GetError());
         ReturnErrorOnFailure(path.Encode(attribute));
@@ -603,13 +603,13 @@
     CHIP_ERROR err = CHIP_NO_ERROR;
     // The ReportData must contain a concrete attribute path
     err = aAttributePathParser.GetEndpoint(&(aAttributePath.mEndpointId));
-    VerifyOrReturnError(err == CHIP_NO_ERROR, CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH);
+    VerifyOrReturnError(err == CHIP_NO_ERROR, CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB);
     err = aAttributePathParser.GetCluster(&(aAttributePath.mClusterId));
-    VerifyOrReturnError(err == CHIP_NO_ERROR, CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH);
+    VerifyOrReturnError(err == CHIP_NO_ERROR, CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB);
     err = aAttributePathParser.GetAttribute(&(aAttributePath.mAttributeId));
-    VerifyOrReturnError(err == CHIP_NO_ERROR, CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH);
+    VerifyOrReturnError(err == CHIP_NO_ERROR, CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB);
     err = aAttributePathParser.GetListIndex(aAttributePath);
-    VerifyOrReturnError(err == CHIP_NO_ERROR, CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH);
+    VerifyOrReturnError(err == CHIP_NO_ERROR, CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB);
     return CHIP_NO_ERROR;
 }
 
diff --git a/src/app/ReadHandler.cpp b/src/app/ReadHandler.cpp
index ee4be7d..8b722ed 100644
--- a/src/app/ReadHandler.cpp
+++ b/src/app/ReadHandler.cpp
@@ -530,7 +530,7 @@
         err = path.GetEndpoint(&(event.mEndpointId));
         if (err == CHIP_NO_ERROR)
         {
-            VerifyOrReturnError(!event.HasWildcardEndpointId(), err = CHIP_ERROR_IM_MALFORMED_EVENT_PATH);
+            VerifyOrReturnError(!event.HasWildcardEndpointId(), err = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB);
         }
         else if (err == CHIP_END_OF_TLV)
         {
@@ -541,7 +541,7 @@
         err = path.GetCluster(&(event.mClusterId));
         if (err == CHIP_NO_ERROR)
         {
-            VerifyOrReturnError(!event.HasWildcardClusterId(), err = CHIP_ERROR_IM_MALFORMED_EVENT_PATH);
+            VerifyOrReturnError(!event.HasWildcardClusterId(), err = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB);
         }
         else if (err == CHIP_END_OF_TLV)
         {
@@ -556,7 +556,7 @@
         }
         else if (err == CHIP_NO_ERROR)
         {
-            VerifyOrReturnError(!event.HasWildcardEventId(), err = CHIP_ERROR_IM_MALFORMED_EVENT_PATH);
+            VerifyOrReturnError(!event.HasWildcardEventId(), err = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB);
         }
         ReturnErrorOnFailure(err);
 
diff --git a/src/app/WriteClient.cpp b/src/app/WriteClient.cpp
index 5696916..dfcd160 100644
--- a/src/app/WriteClient.cpp
+++ b/src/app/WriteClient.cpp
@@ -85,29 +85,29 @@
 
     reader.Init(std::move(payload));
 
-    err = writeResponse.Init(reader);
-    SuccessOrExit(err);
+    ReturnErrorOnFailure(writeResponse.Init(reader));
 
 #if CHIP_CONFIG_IM_ENABLE_SCHEMA_CHECK
-    err = writeResponse.CheckSchemaValidity();
-    SuccessOrExit(err);
+    ReturnErrorOnFailure(writeResponse.CheckSchemaValidity());
 #endif
+
     err = writeResponse.GetWriteResponses(&attributeStatusesParser);
-    SuccessOrExit(err);
+    if (err == CHIP_END_OF_TLV)
+    {
+        return CHIP_NO_ERROR;
+    }
+    ReturnErrorOnFailure(err);
 
     attributeStatusesParser.GetReader(&attributeStatusesReader);
 
     while (CHIP_NO_ERROR == (err = attributeStatusesReader.Next()))
     {
-        VerifyOrExit(TLV::AnonymousTag() == attributeStatusesReader.GetTag(), err = CHIP_ERROR_INVALID_TLV_TAG);
+        VerifyOrReturnError(TLV::AnonymousTag() == attributeStatusesReader.GetTag(), err = CHIP_ERROR_INVALID_TLV_TAG);
 
         AttributeStatusIB::Parser element;
 
-        err = element.Init(attributeStatusesReader);
-        SuccessOrExit(err);
-
-        err = ProcessAttributeStatusIB(element);
-        SuccessOrExit(err);
+        ReturnErrorOnFailure(element.Init(attributeStatusesReader));
+        ReturnErrorOnFailure(ProcessAttributeStatusIB(element));
     }
 
     // if we have exhausted this container
@@ -115,11 +115,8 @@
     {
         err = CHIP_NO_ERROR;
     }
-    SuccessOrExit(err);
-    ReturnErrorOnFailure(writeResponse.ExitContainer());
-
-exit:
-    return err;
+    ReturnErrorOnFailure(err);
+    return writeResponse.ExitContainer();
 }
 
 CHIP_ERROR WriteClient::PrepareAttributeIB(const ConcreteDataAttributePath & aPath)
diff --git a/src/app/tests/TestCommandInteraction.cpp b/src/app/tests/TestCommandInteraction.cpp
index 298896a..9077345 100644
--- a/src/app/tests/TestCommandInteraction.cpp
+++ b/src/app/tests/TestCommandInteraction.cpp
@@ -258,7 +258,7 @@
     {
         chip::TLV::TLVWriter * pWriter = commandDataIBBuilder.GetWriter();
         chip::TLV::TLVType dummyType   = chip::TLV::kTLVType_NotSpecified;
-        err = pWriter->StartContainer(chip::TLV::ContextTag(chip::to_underlying(CommandDataIB::Tag::kData)),
+        err = pWriter->StartContainer(chip::TLV::ContextTag(chip::to_underlying(CommandDataIB::Tag::kFields)),
                                       chip::TLV::kTLVType_Structure, dummyType);
         NL_TEST_ASSERT(apSuite, err == CHIP_NO_ERROR);
 
@@ -315,7 +315,7 @@
     {
         chip::TLV::TLVWriter * pWriter = commandDataIBBuilder.GetWriter();
         chip::TLV::TLVType dummyType   = chip::TLV::kTLVType_NotSpecified;
-        err = pWriter->StartContainer(chip::TLV::ContextTag(chip::to_underlying(CommandDataIB::Tag::kData)),
+        err = pWriter->StartContainer(chip::TLV::ContextTag(chip::to_underlying(CommandDataIB::Tag::kFields)),
                                       chip::TLV::kTLVType_Structure, dummyType);
         NL_TEST_ASSERT(apSuite, err == CHIP_NO_ERROR);
 
@@ -855,11 +855,11 @@
             CommandPathIB::Builder & path = invokeRequest.CreatePath();
             NL_TEST_ASSERT(apSuite, CHIP_NO_ERROR == invokeRequest.GetError());
             NL_TEST_ASSERT(apSuite, CHIP_NO_ERROR == path.Encode(commandPathParams));
-            NL_TEST_ASSERT(apSuite,
-                           CHIP_NO_ERROR ==
-                               invokeRequest.GetWriter()->StartContainer(TLV::ContextTag(to_underlying(CommandDataIB::Tag::kData)),
-                                                                         TLV::kTLVType_Structure,
-                                                                         commandSender.mDataElementContainerType));
+            NL_TEST_ASSERT(
+                apSuite,
+                CHIP_NO_ERROR ==
+                    invokeRequest.GetWriter()->StartContainer(TLV::ContextTag(to_underlying(CommandDataIB::Tag::kFields)),
+                                                              TLV::kTLVType_Structure, commandSender.mDataElementContainerType));
             NL_TEST_ASSERT(apSuite, CHIP_NO_ERROR == invokeRequest.GetWriter()->PutBoolean(chip::TLV::ContextTag(1), true));
             NL_TEST_ASSERT(apSuite,
                            CHIP_NO_ERROR == invokeRequest.GetWriter()->EndContainer(commandSender.mDataElementContainerType));
diff --git a/src/app/tests/TestMessageDef.cpp b/src/app/tests/TestMessageDef.cpp
index 745e167..4235e53 100644
--- a/src/app/tests/TestMessageDef.cpp
+++ b/src/app/tests/TestMessageDef.cpp
@@ -763,7 +763,7 @@
     {
         chip::TLV::TLVWriter * pWriter = aCommandDataIBBuilder.GetWriter();
         chip::TLV::TLVType dummyType   = chip::TLV::kTLVType_NotSpecified;
-        err = pWriter->StartContainer(chip::TLV::ContextTag(chip::to_underlying(CommandDataIB::Tag::kData)),
+        err = pWriter->StartContainer(chip::TLV::ContextTag(chip::to_underlying(CommandDataIB::Tag::kFields)),
                                       chip::TLV::kTLVType_Structure, dummyType);
         NL_TEST_ASSERT(apSuite, err == CHIP_NO_ERROR);
 
@@ -793,7 +793,7 @@
         chip::TLV::TLVReader reader;
         bool val = false;
         chip::TLV::TLVType container;
-        aCommandDataIBParser.GetData(&reader);
+        aCommandDataIBParser.GetFields(&reader);
         err = reader.EnterContainer(container);
         NL_TEST_ASSERT(apSuite, err == CHIP_NO_ERROR);
 
@@ -1262,9 +1262,6 @@
     NL_TEST_ASSERT(apSuite, subscribeRequestBuilder.GetError() == CHIP_NO_ERROR);
     BuildEventFilters(apSuite, eventFilters);
 
-    subscribeRequestBuilder.IsProxy(true);
-    NL_TEST_ASSERT(apSuite, subscribeRequestBuilder.GetError() == CHIP_NO_ERROR);
-
     subscribeRequestBuilder.IsFabricFiltered(true);
     NL_TEST_ASSERT(apSuite, subscribeRequestBuilder.GetError() == CHIP_NO_ERROR);
 
@@ -1288,7 +1285,6 @@
     uint16_t MinIntervalFloorSeconds   = 0;
     uint16_t MaxIntervalCeilingSeconds = 0;
     bool keepExistingSubscription      = false;
-    bool isProxy                       = false;
     bool isFabricFiltered              = false;
 
     err = subscribeRequestParser.Init(aReader);
@@ -1318,9 +1314,6 @@
     err = subscribeRequestParser.GetKeepSubscriptions(&keepExistingSubscription);
     NL_TEST_ASSERT(apSuite, keepExistingSubscription && err == CHIP_NO_ERROR);
 
-    err = subscribeRequestParser.GetIsProxy(&isProxy);
-    NL_TEST_ASSERT(apSuite, isProxy && err == CHIP_NO_ERROR);
-
     err = subscribeRequestParser.GetIsFabricFiltered(&isFabricFiltered);
     NL_TEST_ASSERT(apSuite, isFabricFiltered && err == CHIP_NO_ERROR);
     NL_TEST_ASSERT(apSuite, subscribeRequestParser.ExitContainer() == CHIP_NO_ERROR);
diff --git a/src/app/tests/TestReadInteraction.cpp b/src/app/tests/TestReadInteraction.cpp
index ee10fb4..2d261b8 100644
--- a/src/app/tests/TestReadInteraction.cpp
+++ b/src/app/tests/TestReadInteraction.cpp
@@ -537,7 +537,7 @@
 
     AttributePathIBs::Builder & attributePathListBuilder = request.CreateAttributeRequests();
     err = readClient.GenerateAttributePaths(attributePathListBuilder, attributePaths);
-    NL_TEST_ASSERT(apSuite, err == CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH);
+    NL_TEST_ASSERT(apSuite, err == CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB);
 }
 
 void TestReadInteraction::TestReadClientInvalidReport(nlTestSuite * apSuite, void * apContext)
@@ -564,7 +564,7 @@
     GenerateReportData(apSuite, apContext, buf, true /*aNeedInvalidReport*/, true /* aSuppressResponse*/);
 
     err = readClient.ProcessReportData(std::move(buf));
-    NL_TEST_ASSERT(apSuite, err == CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH);
+    NL_TEST_ASSERT(apSuite, err == CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB);
 }
 
 void TestReadInteraction::TestReadHandlerInvalidAttributePath(nlTestSuite * apSuite, void * apContext)
@@ -1458,9 +1458,6 @@
         err = attributePathListBuilder.GetError();
         NL_TEST_ASSERT(apSuite, err == CHIP_NO_ERROR);
 
-        subscribeRequestBuilder.IsProxy(true);
-        NL_TEST_ASSERT(apSuite, subscribeRequestBuilder.GetError() == CHIP_NO_ERROR);
-
         subscribeRequestBuilder.IsFabricFiltered(false).EndOfSubscribeRequestMessage();
         NL_TEST_ASSERT(apSuite, subscribeRequestBuilder.GetError() == CHIP_NO_ERROR);
 
diff --git a/src/app/zap-templates/partials/im_command_handler_cluster_commands.zapt b/src/app/zap-templates/partials/im_command_handler_cluster_commands.zapt
index 9053c17..2f0b429 100644
--- a/src/app/zap-templates/partials/im_command_handler_cluster_commands.zapt
+++ b/src/app/zap-templates/partials/im_command_handler_cluster_commands.zapt
@@ -36,7 +36,7 @@
     if (argExists[currentDecodeTagId])
     {
       ChipLogProgress(Zcl, "Duplicate TLV tag %" PRIx32, TLV::TagNumFromTag(aDataTlv.GetTag()));
-      TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT;
+      TLVUnpackError = CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_IB;
       break;
     }
     else
diff --git a/src/controller/java/AndroidCallbacks.cpp b/src/controller/java/AndroidCallbacks.cpp
index 424fac4..afc2670 100644
--- a/src/controller/java/AndroidCallbacks.cpp
+++ b/src/controller/java/AndroidCallbacks.cpp
@@ -222,7 +222,7 @@
 
     jobject value = DecodeAttributeValue(aPath, readerForJavaObject, &err);
     // If we don't know this attribute, just skip it.
-    VerifyOrReturn(err != CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH);
+    VerifyOrReturn(err != CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB);
     VerifyOrReturn(err == CHIP_NO_ERROR, ReportError(attributePathObj, err));
     VerifyOrReturn(!env->ExceptionCheck(), env->ExceptionDescribe(),
                    ReportError(attributePathObj, CHIP_JNI_ERROR_EXCEPTION_THROWN));
diff --git a/src/controller/java/templates/CHIPAttributeTLVValueDecoder-src.zapt b/src/controller/java/templates/CHIPAttributeTLVValueDecoder-src.zapt
index 81bb283..b8bbcfd 100644
--- a/src/controller/java/templates/CHIPAttributeTLVValueDecoder-src.zapt
+++ b/src/controller/java/templates/CHIPAttributeTLVValueDecoder-src.zapt
@@ -56,14 +56,14 @@
                 }
                 {{/chip_server_cluster_attributes}}
                 default:
-                    *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+                    *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
                     break;
             }
             break;
         }
         {{/chip_client_clusters}}
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
     } 
     return nullptr;
diff --git a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp
index 2bc28e2..39767cc 100644
--- a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp
+++ b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp
@@ -394,7 +394,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -506,7 +506,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -663,7 +663,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -920,7 +920,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -1138,7 +1138,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -1318,7 +1318,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -1490,7 +1490,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -1893,7 +1893,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -2050,7 +2050,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -2271,7 +2271,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -2398,7 +2398,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -2666,7 +2666,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -2970,7 +2970,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -3334,7 +3334,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -4293,7 +4293,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -4441,7 +4441,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -4675,7 +4675,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -4787,7 +4787,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -5285,7 +5285,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -5562,7 +5562,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -5830,7 +5830,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -6121,7 +6121,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -6276,7 +6276,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -6469,7 +6469,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -6678,7 +6678,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -7058,7 +7058,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -7337,7 +7337,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -7464,7 +7464,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -7606,7 +7606,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -7821,7 +7821,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -7933,7 +7933,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -8290,7 +8290,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -8411,7 +8411,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -8523,7 +8523,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -8707,7 +8707,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -8992,7 +8992,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -9284,7 +9284,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -9547,7 +9547,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -9611,7 +9611,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -9785,7 +9785,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -9942,7 +9942,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -10136,7 +10136,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -10278,7 +10278,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -10594,7 +10594,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -11186,7 +11186,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -11322,7 +11322,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -11563,7 +11563,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -12146,7 +12146,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -12339,7 +12339,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -12526,7 +12526,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -12748,7 +12748,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -12905,7 +12905,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -13079,7 +13079,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -13224,7 +13224,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -15620,7 +15620,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -15946,7 +15946,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -16103,7 +16103,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -17621,7 +17621,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -17763,7 +17763,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -17842,7 +17842,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -17973,7 +17973,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -18097,7 +18097,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -18439,7 +18439,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -18877,13 +18877,13 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
     }
     default:
-        *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+        *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
         break;
     }
     return nullptr;
diff --git a/src/controller/python/chip/clusters/command.cpp b/src/controller/python/chip/clusters/command.cpp
index b3ddbfb..e87a225 100644
--- a/src/controller/python/chip/clusters/command.cpp
+++ b/src/controller/python/chip/clusters/command.cpp
@@ -146,7 +146,7 @@
         VerifyOrExit(writer != nullptr, err = CHIP_ERROR_INCORRECT_STATE);
         reader.Init(payload, length);
         reader.Next();
-        SuccessOrExit(writer->CopyContainer(TLV::ContextTag(to_underlying(CommandDataIB::Tag::kData)), reader));
+        SuccessOrExit(writer->CopyContainer(TLV::ContextTag(to_underlying(CommandDataIB::Tag::kFields)), reader));
     }
 
     SuccessOrExit(err = sender->FinishCommand(timedRequestTimeoutMs != 0 ? Optional<uint16_t>(timedRequestTimeoutMs)
diff --git a/src/darwin/Framework/CHIP/CHIPDevice.mm b/src/darwin/Framework/CHIP/CHIPDevice.mm
index ed9499f..510cb85 100644
--- a/src/darwin/Framework/CHIP/CHIPDevice.mm
+++ b/src/darwin/Framework/CHIP/CHIPDevice.mm
@@ -1423,7 +1423,7 @@
     } else {
         CHIP_ERROR err;
         value = CHIPDecodeEventPayload(aEventHeader.mPath, *apData, &err);
-        if (err == CHIP_ERROR_IM_MALFORMED_EVENT_PATH) {
+        if (err == CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB) {
             // We don't know this event; just skip it.
             return;
         }
@@ -1465,7 +1465,7 @@
     } else {
         CHIP_ERROR err;
         value = CHIPDecodeAttributeValue(aPath, *apData, &err);
-        if (err == CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH) {
+        if (err == CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB) {
             // We don't know this attribute; just skip it.
             return;
         }
diff --git a/src/darwin/Framework/CHIP/templates/CHIPAttributeTLVValueDecoder-src.zapt b/src/darwin/Framework/CHIP/templates/CHIPAttributeTLVValueDecoder-src.zapt
index 102be84..347d180 100644
--- a/src/darwin/Framework/CHIP/templates/CHIPAttributeTLVValueDecoder-src.zapt
+++ b/src/darwin/Framework/CHIP/templates/CHIPAttributeTLVValueDecoder-src.zapt
@@ -38,14 +38,14 @@
         }
         {{/chip_server_cluster_attributes}}
         default:
-          *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+          *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
           break;
         }
         break;
     }
     {{/chip_client_clusters}}
     default: {
-      *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+      *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
       break;
     }
     }
diff --git a/src/darwin/Framework/CHIP/templates/CHIPEventTLVValueDecoder-src.zapt b/src/darwin/Framework/CHIP/templates/CHIPEventTLVValueDecoder-src.zapt
index a930423..5c48cf2 100644
--- a/src/darwin/Framework/CHIP/templates/CHIPEventTLVValueDecoder-src.zapt
+++ b/src/darwin/Framework/CHIP/templates/CHIPEventTLVValueDecoder-src.zapt
@@ -54,14 +54,14 @@
         {{/zcl_events}}
 
         default:
-          *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+          *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
           break;
         }
         break;
     }
     {{/chip_client_clusters}}
     default: {
-      *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+      *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
       break;
     }
     }
diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPAttributeTLVValueDecoder.mm b/src/darwin/Framework/CHIP/zap-generated/CHIPAttributeTLVValueDecoder.mm
index 5c83256..0a41ed4 100644
--- a/src/darwin/Framework/CHIP/zap-generated/CHIPAttributeTLVValueDecoder.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/CHIPAttributeTLVValueDecoder.mm
@@ -283,7 +283,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -392,7 +392,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -534,7 +534,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -750,7 +750,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -910,7 +910,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -1061,7 +1061,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -1280,7 +1280,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -1611,7 +1611,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -1819,7 +1819,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -1975,7 +1975,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -2095,7 +2095,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -2296,7 +2296,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -2570,7 +2570,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -2799,7 +2799,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -3520,7 +3520,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -3668,7 +3668,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -3883,7 +3883,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -3992,7 +3992,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -4615,7 +4615,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -6132,7 +6132,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -6352,7 +6352,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -6590,7 +6590,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -6731,7 +6731,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -6896,7 +6896,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -7061,7 +7061,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -7380,7 +7380,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -7591,7 +7591,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -7711,7 +7711,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -7842,7 +7842,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -8022,7 +8022,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -8131,7 +8131,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -8414,7 +8414,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -8562,7 +8562,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -8671,7 +8671,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -8825,7 +8825,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -9037,7 +9037,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -9261,7 +9261,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -9487,7 +9487,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -9596,7 +9596,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -9771,7 +9771,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -10012,7 +10012,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -10180,7 +10180,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -10311,7 +10311,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -10547,7 +10547,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -11042,7 +11042,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -11177,7 +11177,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -11409,7 +11409,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -11843,7 +11843,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -12008,7 +12008,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -12187,7 +12187,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -12362,7 +12362,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -12504,7 +12504,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -12654,7 +12654,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -12819,7 +12819,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -14293,7 +14293,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -14985,7 +14985,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -15127,7 +15127,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -16090,7 +16090,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -16247,7 +16247,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -16367,7 +16367,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -16508,7 +16508,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -16628,7 +16628,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -16900,7 +16900,7 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
@@ -17283,13 +17283,13 @@
             return value;
         }
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
             break;
         }
         break;
     }
     default: {
-        *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH;
+        *aError = CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB;
         break;
     }
     }
diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPEventTLVValueDecoder.mm b/src/darwin/Framework/CHIP/zap-generated/CHIPEventTLVValueDecoder.mm
index 5d3c55f..073315a 100644
--- a/src/darwin/Framework/CHIP/zap-generated/CHIPEventTLVValueDecoder.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/CHIPEventTLVValueDecoder.mm
@@ -207,7 +207,7 @@
         }
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -217,7 +217,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -227,7 +227,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -237,7 +237,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -247,7 +247,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -257,7 +257,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -267,7 +267,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -337,7 +337,7 @@
         }
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -347,7 +347,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -357,7 +357,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -385,7 +385,7 @@
         }
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -456,7 +456,7 @@
         }
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -526,7 +526,7 @@
         }
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -536,7 +536,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -546,7 +546,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -556,7 +556,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -566,7 +566,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -576,7 +576,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -853,7 +853,7 @@
         }
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -863,7 +863,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -873,7 +873,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -883,7 +883,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -893,7 +893,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -903,7 +903,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -913,7 +913,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1102,7 +1102,7 @@
         }
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1112,7 +1112,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1122,7 +1122,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1132,7 +1132,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1142,7 +1142,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1152,7 +1152,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1162,7 +1162,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1172,7 +1172,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1182,7 +1182,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1192,7 +1192,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1202,7 +1202,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1212,7 +1212,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1222,7 +1222,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1232,7 +1232,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1346,7 +1346,7 @@
         }
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1356,7 +1356,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1366,7 +1366,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1376,7 +1376,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1386,7 +1386,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1396,7 +1396,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1406,7 +1406,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1416,7 +1416,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1646,7 +1646,7 @@
         }
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1656,7 +1656,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1666,7 +1666,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1700,7 +1700,7 @@
         }
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1846,7 +1846,7 @@
         }
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1856,7 +1856,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1866,7 +1866,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1987,7 +1987,7 @@
         }
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -1997,7 +1997,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -2007,7 +2007,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -2036,7 +2036,7 @@
         }
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -2046,7 +2046,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -2056,7 +2056,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -2066,7 +2066,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -2076,7 +2076,7 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -2147,7 +2147,7 @@
         }
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
@@ -2157,13 +2157,13 @@
         switch (aPath.mEventId) {
 
         default:
-            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+            *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
             break;
         }
         break;
     }
     default: {
-        *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH;
+        *aError = CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB;
         break;
     }
     }
diff --git a/src/lib/core/CHIPError.cpp b/src/lib/core/CHIPError.cpp
index 82f7c97..5b398d7 100644
--- a/src/lib/core/CHIPError.cpp
+++ b/src/lib/core/CHIPError.cpp
@@ -215,6 +215,18 @@
     case CHIP_ERROR_INSUFFICIENT_PRIVILEGE.AsInteger():
         desc = "Required privilege was insufficient during an operation";
         break;
+    case CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_REPORT_IB.AsInteger():
+        desc = "Malformed Interacton Model Attribute Report IB";
+        break;
+    case CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_IB.AsInteger():
+        desc = "Malformed Interacton Model Command Data IB";
+        break;
+    case CHIP_ERROR_IM_MALFORMED_EVENT_STATUS_IB.AsInteger():
+        desc = "Malformed Interacton Model Event Status IB";
+        break;
+    case CHIP_ERROR_IM_MALFORMED_STATUS_RESPONSE_MESSAGE.AsInteger():
+        desc = "Malformed Interacton Model Status Response IB";
+        break;
     case CHIP_ERROR_INVALID_PATH_LIST.AsInteger():
         desc = "Invalid TLV path list";
         break;
@@ -515,8 +527,8 @@
     case CHIP_ERROR_TOO_MANY_SHARED_SESSION_END_NODES.AsInteger():
         desc = "Too many shared session end nodes";
         break;
-    case CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_DATA_ELEMENT.AsInteger():
-        desc = "Malformed Interaction Model Attribute DataElement";
+    case CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_DATA_IB.AsInteger():
+        desc = "Malformed Interaction Model Attribute Data IB";
         break;
     case CHIP_ERROR_WRONG_CERT_TYPE.AsInteger():
         desc = "Wrong certificate type";
@@ -587,26 +599,23 @@
     case CHIP_ERROR_MDNS_COLLISION.AsInteger():
         desc = "mDNS collision";
         break;
-    case CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH.AsInteger():
-        desc = "Malformed Interacton Model Attribute Path";
+    case CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB.AsInteger():
+        desc = "Malformed Interacton Model Attribute Path IB";
         break;
-    case CHIP_ERROR_IM_MALFORMED_EVENT_PATH.AsInteger():
-        desc = "Malformed Interacton Model Event Path";
+    case CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB.AsInteger():
+        desc = "Malformed Interacton Model Event Path IB";
         break;
-    case CHIP_ERROR_IM_MALFORMED_COMMAND_PATH.AsInteger():
-        desc = "Malformed Interacton Model Command Path";
+    case CHIP_ERROR_IM_MALFORMED_COMMAND_PATH_IB.AsInteger():
+        desc = "Malformed Interacton Model Command Path IB";
         break;
-    case CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_STATUS_ELEMENT.AsInteger():
-        desc = "Malformed Interacton Model Attribute DataElement";
+    case CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_STATUS_IB.AsInteger():
+        desc = "Malformed Interacton Model Attribute Status IB";
         break;
-    case CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT.AsInteger():
-        desc = "Malformed Interacton Model Attribute DataElement";
+    case CHIP_ERROR_IM_MALFORMED_EVENT_DATA_IB.AsInteger():
+        desc = "Malformed Interacton Model Event Data IB";
         break;
-    case CHIP_ERROR_IM_MALFORMED_EVENT_DATA_ELEMENT.AsInteger():
-        desc = "Malformed Interacton Model Event DataElement";
-        break;
-    case CHIP_ERROR_IM_MALFORMED_STATUS_CODE.AsInteger():
-        desc = "Malformed Interacton Model Status Code";
+    case CHIP_ERROR_IM_MALFORMED_STATUS_IB.AsInteger():
+        desc = "Malformed Interacton Model Status IB";
         break;
     case CHIP_ERROR_PEER_NODE_NOT_FOUND.AsInteger():
         desc = "Unable to find the peer node";
@@ -657,10 +666,10 @@
         desc = "Malformed Interaction Model Command Status IB";
         break;
     case CHIP_ERROR_IM_MALFORMED_INVOKE_RESPONSE_IB.AsInteger():
-        desc = "Malformed Interaction Model Invoke Response code IB";
+        desc = "Malformed Interaction Model Invoke Response IB";
         break;
     case CHIP_ERROR_IM_MALFORMED_INVOKE_REQUEST_MESSAGE.AsInteger():
-        desc = "Malformed Interaction Model Invoke Response Message";
+        desc = "Malformed Interaction Model Invoke Request Message";
         break;
     case CHIP_ERROR_IM_MALFORMED_INVOKE_RESPONSE_MESSAGE.AsInteger():
         desc = "Malformed Interaction Model Invoke Response Message";
@@ -671,8 +680,8 @@
     case CHIP_ERROR_IM_MALFORMED_WRITE_REQUEST_MESSAGE.AsInteger():
         desc = "Malformed Interaction Model Write Request Message";
         break;
-    case CHIP_ERROR_IM_MALFORMED_WRITE_RESPONSE_MESSAGE.AsInteger():
-        desc = "Malformed Interaction Model Write Response Message";
+    case CHIP_ERROR_IM_MALFORMED_EVENT_FILTER_IB.AsInteger():
+        desc = "Malformed Interaction Model Event Filter IB";
         break;
     case CHIP_ERROR_IM_MALFORMED_READ_REQUEST_MESSAGE.AsInteger():
         desc = "Malformed Interaction Model Read Request Message";
@@ -719,9 +728,6 @@
     case CHIP_ERROR_MISSING_URI_SEPARATOR.AsInteger():
         desc = "The URI separator is missing";
         break;
-    case CHIP_ERROR_IM_MALFORMED_STATUS_RESPONSE_MESSAGE.AsInteger():
-        desc = "Malformed Interaction Model Status Response Message";
-        break;
     }
 #endif // !CHIP_CONFIG_SHORT_ERROR_STR
 
diff --git a/src/lib/core/CHIPError.h b/src/lib/core/CHIPError.h
index 93ed129..a9d1047 100644
--- a/src/lib/core/CHIPError.h
+++ b/src/lib/core/CHIPError.h
@@ -1527,12 +1527,32 @@
  */
 #define CHIP_ERROR_INSUFFICIENT_PRIVILEGE                          CHIP_CORE_ERROR(0x79)
 
+/**
+ * @def CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_REPORT_IB
+ *
+ * @brief
+ *   The Attribute Report IB is malformed: it does not contain
+ *   the required elements
+ */
+#define CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_REPORT_IB             CHIP_CORE_ERROR(0x7a)
 
-// unused CHIP_CORE_ERROR(0x7a)
+/**
+ * @def CHIP_ERROR_IM_MALFORMED_EVENT_STATUS_IB
+ *
+ * @brief
+ *   The Event Status IB is malformed: it does not contain
+ *   the required elements
+ */
+#define CHIP_ERROR_IM_MALFORMED_EVENT_STATUS_IB             CHIP_CORE_ERROR(0x7b)
 
-// unused CHIP_CORE_ERROR(0x7b)
-
-// unused CHIP_CORE_ERROR(0x7c)
+/**
+ * @def CHIP_ERROR_IM_MALFORMED_STATUS_RESPONSE_MESSAGE
+ *
+ * @brief
+ *   The Status Response Message is malformed: it does not contain
+ *   the required elements
+ */
+#define CHIP_ERROR_IM_MALFORMED_STATUS_RESPONSE_MESSAGE      CHIP_CORE_ERROR(0x7c)
 
 // unused CHIP_CORE_ERROR(0x7d)
 
@@ -1808,13 +1828,13 @@
 #define CHIP_ERROR_TOO_MANY_SHARED_SESSION_END_NODES           CHIP_CORE_ERROR(0x9b)
 
 /**
- * @def CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_DATA_ELEMENT
+ * @def CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_DATA_IB
  *
  * @brief
- *   The Attribute DataElement is malformed: it either does not contain
+ *   The Attribute Data IB is malformed: it does not contain
  *   the required elements
  */
-#define CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_DATA_ELEMENT         CHIP_CORE_ERROR(0x9c)
+#define CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_DATA_IB         CHIP_CORE_ERROR(0x9c)
 
 /**
  * @def CHIP_ERROR_WRONG_CERT_TYPE
@@ -2022,67 +2042,67 @@
 #define CHIP_ERROR_MDNS_COLLISION                             CHIP_CORE_ERROR(0xb4)
 
 /**
- * @def CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH
+ * @def CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB
  *
  * @brief
- *   The Attribute path is malformed: it either does not contain
+ *   The Attribute path IB is malformed: it does not contain
  *   the required path
  */
-#define CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH                 CHIP_CORE_ERROR(0xb5)
+#define CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB                CHIP_CORE_ERROR(0xb5)
 
 /**
- * @def CHIP_ERROR_IM_MALFORMED_EVENT_PATH
+ * @def CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB
  *
  * @brief
- *   The Attribute Path is malformed: it either does not contain
+ *   The Event Path IB is malformed: it does not contain
  *   the required elements
  */
-#define CHIP_ERROR_IM_MALFORMED_EVENT_PATH                     CHIP_CORE_ERROR(0xb6)
+#define CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB                     CHIP_CORE_ERROR(0xb6)
 
 /**
- * @def CHIP_ERROR_IM_MALFORMED_COMMAND_PATH
+ * @def CHIP_ERROR_IM_MALFORMED_COMMAND_PATH_IB
  *
  * @brief
- *   The Attribute DataElement is malformed: it either does not contain
+ *   The Command Path IB is malformed: it does not contain
  *   the required elements
  */
-#define CHIP_ERROR_IM_MALFORMED_COMMAND_PATH                   CHIP_CORE_ERROR(0xb7)
+#define CHIP_ERROR_IM_MALFORMED_COMMAND_PATH_IB                  CHIP_CORE_ERROR(0xb7)
 
 /**
- * @def CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_STATUS_ELEMENT
+ * @def CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_STATUS_IB
  *
  * @brief
- *   The Attribute DataElement is malformed: it either does not contain
+ *   The Attribute Status IB is malformed: it does not contain
  *   the required elements
  */
-#define CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_STATUS_ELEMENT       CHIP_CORE_ERROR(0xb8)
+#define CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_STATUS_IB       CHIP_CORE_ERROR(0xb8)
 
 /**
- * @def CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT
+ * @def CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_IB
  *
  * @brief
- *   The Attribute DataElement is malformed: it either does not contain
+ *   The Command Data IB is malformed: it does not contain
  *   the required elements
  */
-#define CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT           CHIP_CORE_ERROR(0xb9)
+#define CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_IB           CHIP_CORE_ERROR(0xb9)
 
 /**
- * @def CHIP_ERROR_IM_MALFORMED_EVENT_DATA_ELEMENT
+ * @def CHIP_ERROR_IM_MALFORMED_EVENT_DATA_IB
  *
  * @brief
- *   The Event DataElement is malformed: it either does not contain
+ *   The Event Data IB is malformed: it does not contain
  *   the required elements
  */
-#define CHIP_ERROR_IM_MALFORMED_EVENT_DATA_ELEMENT             CHIP_CORE_ERROR(0xba)
+#define CHIP_ERROR_IM_MALFORMED_EVENT_DATA_IB             CHIP_CORE_ERROR(0xba)
 
 /**
- * @def CHIP_ERROR_IM_MALFORMED_STATUS_CODE
+ * @def CHIP_ERROR_IM_MALFORMED_STATUS_IB
  *
  * @brief
- *   The Attribute DataElement is malformed: it either does not contain
+ *   The Attribute Data IB is malformed: it does not contain
  *   the required elements
  */
-#define CHIP_ERROR_IM_MALFORMED_STATUS_CODE                    CHIP_CORE_ERROR(0xbb)
+#define CHIP_ERROR_IM_MALFORMED_STATUS_IB                    CHIP_CORE_ERROR(0xbb)
 
 /**
  * @def CHIP_ERROR_PEER_NODE_NOT_FOUND
@@ -2213,7 +2233,7 @@
  * @def CHIP_ERROR_IM_MALFORMED_COMMAND_STATUS_IB
  *
  * @brief
- *   The CommandStatusCodeIB is malformed: it either does not contain
+ *   The Command Status IB is malformed: it does not contain
  *   the required elements
  */
 #define CHIP_ERROR_IM_MALFORMED_COMMAND_STATUS_IB         CHIP_CORE_ERROR(0xcb)
@@ -2222,7 +2242,7 @@
  * @def CHIP_ERROR_IM_MALFORMED_INVOKE_RESPONSE_IB
  *
  * @brief
- *   The InvokeResponseIB is malformed: it either does not contain
+ *   The Invoke Response IB is malformed: it does not contain
  *   the required elements
  */
 #define CHIP_ERROR_IM_MALFORMED_INVOKE_RESPONSE_IB         CHIP_CORE_ERROR(0xcc)
@@ -2231,7 +2251,7 @@
  * @def CHIP_ERROR_IM_MALFORMED_INVOKE_REQUEST_MESSAGE
  *
  * @brief
- *   The InvokeResponseMessage is malformed: it either does not contain
+ *   The Invoke Request Message is malformed: it does not contain
  *   the required elements
  */
 #define CHIP_ERROR_IM_MALFORMED_INVOKE_REQUEST_MESSAGE    CHIP_CORE_ERROR(0xcd)
@@ -2240,7 +2260,7 @@
  * @def CHIP_ERROR_IM_MALFORMED_INVOKE_RESPONSE_MESSAGE
  *
  * @brief
- *   The InvokeResponseMessage is malformed: it either does not contain
+ *   The Invoke Response Message is malformed: it does not contain
  *   the required elements
  */
 #define CHIP_ERROR_IM_MALFORMED_INVOKE_RESPONSE_MESSAGE    CHIP_CORE_ERROR(0xce)
@@ -2249,7 +2269,7 @@
  * @def CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_REPORT_MESSAGE
  *
  * @brief
- *   The InvokeResponseMessage is malformed: it either does not contain
+ *   The Attribute Response Message is malformed: it does not contain
  *   the required elements
  */
 #define CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_REPORT_MESSAGE    CHIP_CORE_ERROR(0xcf)
@@ -2258,25 +2278,25 @@
  * @def CHIP_ERROR_IM_MALFORMED_WRITE_REQUEST_MESSAGE
  *
  * @brief
- *   The WriteRequestMessage is malformed: it either does not contain
+ *   The Write Request Message is malformed: it does not contain
  *   the required elements
  */
 #define CHIP_ERROR_IM_MALFORMED_WRITE_REQUEST_MESSAGE    CHIP_CORE_ERROR(0xd0)
 
 /**
- * @def CHIP_ERROR_IM_MALFORMED_WRITE_RESPONSE_MESSAGE
+ * @def CHIP_ERROR_IM_MALFORMED_EVENT_FILTER_IB
  *
  * @brief
- *   The WriteResponseMessage is malformed: it either does not contain
+ *   The Event Filter IB is malformed: it does not contain
  *   the required elements
  */
-#define CHIP_ERROR_IM_MALFORMED_WRITE_RESPONSE_MESSAGE    CHIP_CORE_ERROR(0xd1)
+#define CHIP_ERROR_IM_MALFORMED_EVENT_FILTER_IB    CHIP_CORE_ERROR(0xd1)
 
 /**
  * @def CHIP_ERROR_IM_MALFORMED_READ_REQUEST_MESSAGE
  *
  * @brief
- *   The ReadRequestMessage is malformed: it either does not contain
+ *   The Read Request Message is malformed: it does not contain
  *   the required elements
  */
 #define CHIP_ERROR_IM_MALFORMED_READ_REQUEST_MESSAGE    CHIP_CORE_ERROR(0xd2)
@@ -2285,7 +2305,7 @@
  * @def CHIP_ERROR_IM_MALFORMED_SUBSCRIBE_REQUEST_MESSAGE
  *
  * @brief
- *   The SubscribeRequestMessage is malformed: it either does not contain
+ *   The Subscribe Request Message is malformed: it does not contain
  *   the required elements
  */
 #define CHIP_ERROR_IM_MALFORMED_SUBSCRIBE_REQUEST_MESSAGE    CHIP_CORE_ERROR(0xd3)
@@ -2294,7 +2314,7 @@
  * @def CHIP_ERROR_IM_MALFORMED_SUBSCRIBE_RESPONSE_MESSAGE
  *
  * @brief
- *   The SubscribeResponseMessage is malformed: it either does not contain
+ *   The Subscribe Response Message is malformed: it does not contain
  *   the required elements
  */
 #define CHIP_ERROR_IM_MALFORMED_SUBSCRIBE_RESPONSE_MESSAGE    CHIP_CORE_ERROR(0xd4)
@@ -2303,7 +2323,7 @@
  * @def CHIP_ERROR_IM_MALFORMED_EVENT_REPORT_IB
  *
  * @brief
- *   The EventReportIB is malformed: it either does not contain
+ *   The Event Report IB is malformed: it does not contain
  *   the required elements
  */
 #define CHIP_ERROR_IM_MALFORMED_EVENT_REPORT_IB             CHIP_CORE_ERROR(0xd5)
@@ -2312,7 +2332,7 @@
  * @def CHIP_ERROR_IM_MALFORMED_CLUSTER_PATH_IB
  *
  * @brief
- *   The ClusterPathIB is malformed: it either does not contain
+ *   The Cluster Path IB is malformed: it does not contain
  *   the required elements
  */
 #define CHIP_ERROR_IM_MALFORMED_CLUSTER_PATH_IB                CHIP_CORE_ERROR(0xd6)
@@ -2321,7 +2341,7 @@
  * @def CHIP_ERROR_IM_MALFORMED_DATA_VERSION_FILTER_IB
  *
  * @brief
- *   The DataVersionFilterIB is malformed: it either does not contain
+ *   The Data Version Filter IB is malformed: it does not contain
  *   the required elements
  */
 #define CHIP_ERROR_IM_MALFORMED_DATA_VERSION_FILTER_IB             CHIP_CORE_ERROR(0xd7)
@@ -2338,7 +2358,7 @@
  * @def CHIP_ERROR_IM_MALFORMED_TIMED_REQUEST_MESSAGE
  *
  * @brief
- *   The Attribute DataElement is malformed: it either does not contain
+ *   The Timed Request Message is malformed: it does not contain
  *   the required elements
  */
 #define CHIP_ERROR_IM_MALFORMED_TIMED_REQUEST_MESSAGE                    CHIP_CORE_ERROR(0xd9)
@@ -2401,15 +2421,6 @@
  */
 #define CHIP_ERROR_MISSING_URI_SEPARATOR                      CHIP_CORE_ERROR(0xe0)
 
-/**
- * @def CHIP_ERROR_IM_MALFORMED_STATUS_RESPONSE_MESSAGE
- *
- * @brief
- *   The Attribute DataElement is malformed: it either does not contain
- *   the required elements
- */
-#define CHIP_ERROR_IM_MALFORMED_STATUS_RESPONSE_MESSAGE      CHIP_CORE_ERROR(0xe1)
-
 // clang-format on
 
 // !!!!! IMPORTANT !!!!!  If you add new CHIP errors, please update the translation
diff --git a/src/lib/core/tests/TestCHIPErrorStr.cpp b/src/lib/core/tests/TestCHIPErrorStr.cpp
index ba3101f..259d6bb 100644
--- a/src/lib/core/tests/TestCHIPErrorStr.cpp
+++ b/src/lib/core/tests/TestCHIPErrorStr.cpp
@@ -167,6 +167,12 @@
     CHIP_ERROR_CANCELLED,
     CHIP_ERROR_DRBG_ENTROPY_SOURCE_FAILED,
     CHIP_ERROR_TLV_TAG_NOT_FOUND,
+    CHIP_ERROR_MISSING_SECURE_SESSION,
+    CHIP_ERROR_INVALID_ADMIN_SUBJECT,
+    CHIP_ERROR_INSUFFICIENT_PRIVILEGE,
+    CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_REPORT_IB,
+    CHIP_ERROR_IM_MALFORMED_EVENT_STATUS_IB,
+    CHIP_ERROR_IM_MALFORMED_STATUS_RESPONSE_MESSAGE,
     CHIP_ERROR_FABRIC_EXISTS,
     CHIP_ERROR_KEY_NOT_FOUND_FROM_PEER,
     CHIP_ERROR_WRONG_ENCRYPTION_TYPE_FROM_PEER,
@@ -197,7 +203,7 @@
     CHIP_ERROR_UNAUTHORIZED_KEY_EXPORT_RESPONSE,
     CHIP_ERROR_EXPORTED_KEY_AUTHENTICATION_FAILED,
     CHIP_ERROR_TOO_MANY_SHARED_SESSION_END_NODES,
-    CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_DATA_ELEMENT,
+    CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_DATA_IB,
     CHIP_ERROR_WRONG_CERT_TYPE,
     CHIP_ERROR_DEFAULT_EVENT_HANDLER_NOT_CALLED,
     CHIP_ERROR_PERSISTED_STORAGE_FAILED,
@@ -221,13 +227,13 @@
     CHIP_ERROR_UNSUPPORTED_WIRELESS_REGULATORY_DOMAIN,
     CHIP_ERROR_UNSUPPORTED_WIRELESS_OPERATING_LOCATION,
     CHIP_ERROR_MDNS_COLLISION,
-    CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH,
-    CHIP_ERROR_IM_MALFORMED_EVENT_PATH,
-    CHIP_ERROR_IM_MALFORMED_COMMAND_PATH,
-    CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_STATUS_ELEMENT,
-    CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_ELEMENT,
-    CHIP_ERROR_IM_MALFORMED_EVENT_DATA_ELEMENT,
-    CHIP_ERROR_IM_MALFORMED_STATUS_CODE,
+    CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_PATH_IB,
+    CHIP_ERROR_IM_MALFORMED_EVENT_PATH_IB,
+    CHIP_ERROR_IM_MALFORMED_COMMAND_PATH_IB,
+    CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_STATUS_IB,
+    CHIP_ERROR_IM_MALFORMED_COMMAND_DATA_IB,
+    CHIP_ERROR_IM_MALFORMED_EVENT_DATA_IB,
+    CHIP_ERROR_IM_MALFORMED_STATUS_IB,
     CHIP_ERROR_PEER_NODE_NOT_FOUND,
     CHIP_ERROR_HSM,
     CHIP_ERROR_IM_STATUS_CODE_RECEIVED,
@@ -237,7 +243,7 @@
     CHIP_ERROR_IM_MALFORMED_INVOKE_RESPONSE_MESSAGE,
     CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_REPORT_MESSAGE,
     CHIP_ERROR_IM_MALFORMED_WRITE_REQUEST_MESSAGE,
-    CHIP_ERROR_IM_MALFORMED_WRITE_RESPONSE_MESSAGE,
+    CHIP_ERROR_IM_MALFORMED_EVENT_FILTER_IB,
     CHIP_ERROR_IM_MALFORMED_READ_REQUEST_MESSAGE,
     CHIP_ERROR_IM_MALFORMED_SUBSCRIBE_REQUEST_MESSAGE,
     CHIP_ERROR_IM_MALFORMED_SUBSCRIBE_RESPONSE_MESSAGE,
@@ -256,7 +262,9 @@
     CHIP_ERROR_IM_MALFORMED_STATUS_RESPONSE_MESSAGE,
     CHIP_ERROR_IM_MALFORMED_TIMED_REQUEST_MESSAGE,
     CHIP_ERROR_INVALID_FILE_IDENTIFIER,
-    CHIP_ERROR_BUSY
+    CHIP_ERROR_BUSY,
+    CHIP_ERROR_IM_MALFORMED_ATTRIBUTE_REPORT_IB,
+    CHIP_ERROR_IM_MALFORMED_EVENT_STATUS_IB,
 };
 // clang-format on