diff --git a/dump-extensions/openpower-dumps/meson.build b/dump-extensions/openpower-dumps/meson.build
index abb9904..f4ef0cd 100644
--- a/dump-extensions/openpower-dumps/meson.build
+++ b/dump-extensions/openpower-dumps/meson.build
@@ -28,5 +28,6 @@
         'dump-extensions/openpower-dumps/dump_manager_system.cpp',
         'dump-extensions/openpower-dumps/system_dump_entry.cpp',
         'dump-extensions/openpower-dumps/dump_manager_resource.cpp',
-        'dump-extensions/openpower-dumps/resource_dump_entry.cpp'
+        'dump-extensions/openpower-dumps/resource_dump_entry.cpp',
+        'dump-extensions/openpower-dumps/op_dump_util.cpp'
     ]
diff --git a/dump-extensions/openpower-dumps/op_dump_util.cpp b/dump-extensions/openpower-dumps/op_dump_util.cpp
new file mode 100644
index 0000000..e8b2497
--- /dev/null
+++ b/dump-extensions/openpower-dumps/op_dump_util.cpp
@@ -0,0 +1,57 @@
+#include "op_dump_util.hpp"
+
+#include "xyz/openbmc_project/Common/error.hpp"
+#include "xyz/openbmc_project/Dump/Create/error.hpp"
+
+#include <unistd.h>
+
+#include <phosphor-logging/elog-errors.hpp>
+#include <phosphor-logging/elog.hpp>
+#include <phosphor-logging/lg2.hpp>
+
+#include <filesystem>
+
+namespace openpower
+{
+namespace dump
+{
+namespace util
+{
+
+bool isOPDumpsEnabled(sdbusplus::bus::bus& bus)
+{
+    // Set isEnabled as true by default. In a field deployment, the system dump
+    // feature is usually enabled to facilitate effective debugging in the event
+    // of a failure. If due to some error, the settings service couldn't provide
+    // the actual value, the system assumes that the dump is enabled.
+    // This approach aligns with the principle of collecting as much data as
+    // possible for debugging in case of a system failure.
+    auto isEnabled = true;
+
+    constexpr auto enable = "xyz.openbmc_project.Object.Enable";
+    constexpr auto policy = "/xyz/openbmc_project/dump/system_dump_policy";
+    constexpr auto property = "org.freedesktop.DBus.Properties";
+
+    try
+    {
+        auto service = phosphor::dump::getService(bus, policy, enable);
+
+        auto method = bus.new_method_call(service.c_str(), policy, property,
+                                          "Get");
+        method.append(enable, "Enabled");
+        auto reply = bus.call(method);
+        std::variant<bool> v;
+        reply.read(v);
+        isEnabled = std::get<bool>(v);
+    }
+    catch (const sdbusplus::exception::SdBusError& e)
+    {
+        lg2::error("Error: {ERROR} in getting dump policy, default is enabled",
+                   "ERROR", e);
+    }
+    return isEnabled;
+}
+
+} // namespace util
+} // namespace dump
+} // namespace openpower
diff --git a/dump-extensions/openpower-dumps/op_dump_util.hpp b/dump-extensions/openpower-dumps/op_dump_util.hpp
new file mode 100644
index 0000000..80c84a3
--- /dev/null
+++ b/dump-extensions/openpower-dumps/op_dump_util.hpp
@@ -0,0 +1,24 @@
+#pragma once
+
+#include "dump_utils.hpp"
+
+namespace openpower
+{
+namespace dump
+{
+namespace util
+{
+
+/** @brief Check whether OpenPOWER dumps are enabled
+ *
+ * param[in] bus - D-Bus handle
+ *
+ * If the settings service is not running then considering as
+ * the dumps are enabled.
+ * @return true - if dumps are enabled, false - if dumps are not enabled
+ */
+bool isOPDumpsEnabled(sdbusplus::bus::bus& bus);
+
+} // namespace util
+} // namespace dump
+} // namespace openpower
