diff --git a/src/neighbor.cpp b/src/neighbor.cpp
index e35d262..e15085a 100644
--- a/src/neighbor.cpp
+++ b/src/neighbor.cpp
@@ -13,11 +13,14 @@
 #include <sys/socket.h>
 #include <sys/types.h>
 
+#include <phosphor-logging/elog-errors.hpp>
+#include <phosphor-logging/elog.hpp>
 #include <stdexcept>
 #include <stdplus/raw.hpp>
 #include <string_view>
 #include <utility>
 #include <vector>
+#include <xyz/openbmc_project/Common/error.hpp>
 
 namespace phosphor
 {
@@ -104,5 +107,25 @@
     parent.deleteStaticNeighborObject(ipAddress());
 }
 
+using sdbusplus::xyz::openbmc_project::Common::Error::NotAllowed;
+using REASON =
+    phosphor::logging::xyz::openbmc_project::Common::NotAllowed::REASON;
+using phosphor::logging::elog;
+
+std::string Neighbor::ipAddress(std::string /*ipAddress*/)
+{
+    elog<NotAllowed>(REASON("Property update is not allowed"));
+}
+
+std::string Neighbor::macAddress(std::string /*macAddress*/)
+{
+    elog<NotAllowed>(REASON("Property update is not allowed"));
+}
+
+Neighbor::State Neighbor::state(State /*state*/)
+{
+    elog<NotAllowed>(REASON("Property update is not allowed"));
+}
+
 } // namespace network
 } // namespace phosphor
diff --git a/src/neighbor.hpp b/src/neighbor.hpp
index 26859c3..4672726 100644
--- a/src/neighbor.hpp
+++ b/src/neighbor.hpp
@@ -88,6 +88,13 @@
      */
     void delete_() override;
 
+    using NeighborObj::ipAddress;
+    std::string ipAddress(std::string) override;
+    using NeighborObj::macAddress;
+    std::string macAddress(std::string) override;
+    using NeighborObj::state;
+    State state(State) override;
+
   private:
     /** @brief Parent Object. */
     EthernetInterface& parent;
