diff --git a/src/core/net/ip6.cpp b/src/core/net/ip6.cpp index f7d1e65ae..5ed12028d 100644 --- a/src/core/net/ip6.cpp +++ b/src/core/net/ip6.cpp @@ -950,7 +950,18 @@ Error Ip6::HandlePayload(Header & aIp6Header, Error error = kErrorNone; Message *message = (aMessageOwnership == Message::kTakeCustody) ? &aMessage : nullptr; - VerifyOrExit(aIpProto == kProtoTcp || aIpProto == kProtoUdp || aIpProto == kProtoIcmp6); + switch (aIpProto) + { + case kProtoUdp: + case kProtoIcmp6: + break; +#if OPENTHREAD_CONFIG_TCP_ENABLE + case kProtoTcp: + break; +#endif + default: + ExitNow(); + } if (aMessageOwnership == Message::kCopyToUse) {