diff --git a/ipaddress.cpp b/ipaddress.cpp
index 43433e2..f983975 100644
--- a/ipaddress.cpp
+++ b/ipaddress.cpp
@@ -8,7 +8,6 @@
 #include <phosphor-logging/elog-errors.hpp>
 #include <phosphor-logging/log.hpp>
 #include <xyz/openbmc_project/Common/error.hpp>
-
 namespace phosphor
 {
 namespace network
@@ -16,6 +15,8 @@
 
 using namespace phosphor::logging;
 using namespace sdbusplus::xyz::openbmc_project::Common::Error;
+using NotAllowed = sdbusplus::xyz::openbmc_project::Common::Error::NotAllowed;
+using Reason = xyz::openbmc_project::Common::NotAllowed::REASON;
 
 IPAddress::IPAddress(sdbusplus::bus::bus& bus, const char* objPath,
                      EthernetInterface& parent, IP::Protocol type,
@@ -24,16 +25,36 @@
     IPIfaces(bus, objPath, true),
     parent(parent)
 {
-    this->address(ipaddress);
-    this->prefixLength(prefixLength);
-    this->gateway(gateway);
-    this->type(type);
-    this->origin(origin);
+
+    IP::address(ipaddress);
+    IP::prefixLength(prefixLength);
+    IP::gateway(gateway);
+    IP::type(type);
+    IP::origin(origin);
 
     // Emit deferred signal.
     emit_object_added();
 }
-
+std::string IPAddress::address(std::string ipAddress)
+{
+    elog<NotAllowed>(Reason("Property update is not allowed"));
+}
+uint8_t IPAddress::prefixLength(uint8_t value)
+{
+    elog<NotAllowed>(Reason("Property update is not allowed"));
+}
+std::string IPAddress::gateway(std::string gateway)
+{
+    elog<NotAllowed>(Reason("Property update is not allowed"));
+}
+IP::Protocol IPAddress::type(IP::Protocol type)
+{
+    elog<NotAllowed>(Reason("Property update is not allowed"));
+}
+IP::AddressOrigin IPAddress::origin(IP::AddressOrigin origin)
+{
+    elog<NotAllowed>(Reason("Property update is not allowed"));
+}
 void IPAddress::delete_()
 {
     if (parent.dHCPEnabled())
