diff --git a/src/ipaddress.cpp b/src/ipaddress.cpp
index becb5b3..85e5bca 100644
--- a/src/ipaddress.cpp
+++ b/src/ipaddress.cpp
@@ -37,8 +37,6 @@
 
 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_t& bus, const char* objPath,
                      EthernetInterface& parent, IP::Protocol type,
@@ -57,26 +55,7 @@
     // 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 (origin() != IP::AddressOrigin::Static)
diff --git a/src/ipaddress.hpp b/src/ipaddress.hpp
index b46d64e..0047d11 100644
--- a/src/ipaddress.hpp
+++ b/src/ipaddress.hpp
@@ -81,12 +81,6 @@
               const std::string& ipAddress, IP::AddressOrigin origin,
               uint8_t prefixLength, const std::string& gateway);
 
-    std::string address(std::string ipAddress) override;
-    uint8_t prefixLength(uint8_t) override;
-    std::string gateway(std::string gateway) override;
-    IP::Protocol type(IP::Protocol type) override;
-    IP::AddressOrigin origin(IP::AddressOrigin origin) override;
-
     /** @brief Delete this d-bus object.
      */
     void delete_() override;
