diff --git a/subprojects/ncsid/src/net_config.cpp b/subprojects/ncsid/src/net_config.cpp
index b3fc1f6..3b632c3 100644
--- a/subprojects/ncsid/src/net_config.cpp
+++ b/subprojects/ncsid/src/net_config.cpp
@@ -20,10 +20,13 @@
 #include <unistd.h>
 
 #include <sdbusplus/bus.hpp>
+#include <stdplus/fd/create.hpp>
+#include <stdplus/fd/ops.hpp>
 #include <stdplus/util/string.hpp>
 
 #include <cstdio>
 #include <cstring>
+#include <filesystem>
 #include <utility>
 #include <variant>
 
@@ -135,6 +138,28 @@
 
     try
     {
+        auto netdir = fmt::format("/run/systemd/network/00-bmc-{}.network.d",
+                                  iface_name_);
+        std::filesystem::create_directories(netdir);
+        auto netfile = fmt::format("{}/60-ncsi-mac.conf", netdir);
+        auto fd = stdplus::fd::open(
+            netfile,
+            stdplus::fd::OpenFlags(stdplus::fd::OpenAccess::WriteOnly)
+                .set(stdplus::fd::OpenFlag::Create),
+            0644);
+        auto contents = fmt::format("[Link]\nMACAddress={}\n",
+                                    std::get<std::string>(mac_value));
+        stdplus::fd::writeExact(fd, contents);
+    }
+    catch (const std::exception& ex)
+    {
+        fmt::print(stderr, "Failed to set MAC Addr `{}` writing file: {}\n",
+                   std::get<std::string>(mac_value), ex.what());
+        return -1;
+    }
+
+    try
+    {
         auto reply = bus.call(networkd_call);
     }
     catch (const sdbusplus::exception::SdBusError& ex)
