diff --git a/src/ibm/hypervisor-network-mgr-src/hyp_network_manager.cpp b/src/ibm/hypervisor-network-mgr-src/hyp_network_manager.cpp
index ad0b8b4..4923cac 100644
--- a/src/ibm/hypervisor-network-mgr-src/hyp_network_manager.cpp
+++ b/src/ibm/hypervisor-network-mgr-src/hyp_network_manager.cpp
@@ -82,6 +82,19 @@
     }
 }
 
+void HypNetworkMgr::setDefaultBIOSTableAttrsOnIntf(const std::string& intf)
+{
+    biosTableAttrs.emplace("vmi_" + intf + "_ipv4_ipaddr", "0.0.0.0");
+    biosTableAttrs.emplace("vmi_" + intf + "_ipv4_gateway", "0.0.0.0");
+    biosTableAttrs.emplace("vmi_" + intf + "_ipv4_prefix_length", 0);
+    biosTableAttrs.emplace("vmi_" + intf + "_ipv4_method", "IPv4Static");
+}
+
+void HypNetworkMgr::setDefaultHostnameInBIOSTableAttrs()
+{
+    biosTableAttrs.emplace("vmi_hostname", "");
+}
+
 void HypNetworkMgr::setBIOSTableAttrs()
 {
     try
@@ -176,10 +189,6 @@
                         &std::get<biosBaseCurrValue>(item.second));
                     if (currValue != nullptr)
                     {
-                        if (item.first == "vmi_if_count")
-                        {
-                            intfCount = *currValue;
-                        }
                         biosTableAttrs.emplace(item.first, *currValue);
                     }
                 }
@@ -210,11 +219,6 @@
     }
 }
 
-uint16_t HypNetworkMgr::getIntfCount()
-{
-    return intfCount;
-}
-
 biosTableType HypNetworkMgr::getBIOSTableAttrs()
 {
     return biosTableAttrs;
@@ -224,21 +228,17 @@
 {
     setBIOSTableAttrs();
 
-    if (intfCount == 1)
+    if ((getBIOSTableAttrs()).size() == 0)
     {
-        // TODO: create eth0 object
-        log<level::INFO>("Create eth0 object");
+        setDefaultHostnameInBIOSTableAttrs();
     }
-    else if (intfCount == 2)
-    {
-        // TODO: create eth0 and eth1 objects
-        log<level::INFO>("Create eth0 and eth1 objects");
-    }
-    else
-    {
-        log<level::ERR>("More than 2 Interfaces");
-        return;
-    }
+
+    // The hypervisor can support maximum of
+    // 2 ethernet interfaces. Both eth0/1 objects are
+    // created during init time to support the static
+    // network configurations on the both.
+    // create eth0 and eth1 objects
+    log<level::INFO>("Create eth0 and eth1 objects");
 }
 
 } // namespace network
diff --git a/src/ibm/hypervisor-network-mgr-src/hyp_network_manager.hpp b/src/ibm/hypervisor-network-mgr-src/hyp_network_manager.hpp
index fa56d96..a1b4d9a 100644
--- a/src/ibm/hypervisor-network-mgr-src/hyp_network_manager.hpp
+++ b/src/ibm/hypervisor-network-mgr-src/hyp_network_manager.hpp
@@ -67,11 +67,7 @@
     HypNetworkMgr(sdbusplus::bus::bus& bus, sdeventplus::Event& event,
                   const char* path) :
         bus(bus),
-        event(event), objectPath(path)
-    {
-        // Create the hypervisor eth interface objects
-        createIfObjects();
-    };
+        event(event), objectPath(path){};
 
     /** @brief Get the BaseBiosTable attributes
      *
@@ -91,7 +87,24 @@
                           std::variant<std::string, int64_t> attrValue,
                           std::string attrType);
 
-  private:
+    /** @brief Method to set all the interface 0 attributes
+     *         to its default value in biosTableAttrs data member
+     */
+    void setDefaultBIOSTableAttrsOnIntf(const std::string& intf);
+
+    /** @brief Method to set the hostname attribute
+     *         to its default value in biosTableAttrs
+     *         data member
+     */
+    void setDefaultHostnameInBIOSTableAttrs();
+
+    /** @brief Fetch the interface and the ipaddress details
+     *         from the Bios table and create the hyp ethernet interfaces
+     *         dbus object.
+     */
+    void createIfObjects();
+
+  protected:
     /**
      * @brief get Dbus Prop
      *
@@ -104,18 +117,6 @@
     auto getDBusProp(const std::string& objectName,
                      const std::string& interface, const std::string& kw);
 
-    /** @brief Fetch the interface and the ipaddress details
-     *         from the Bios table and create the hyp ethernet interfaces
-     *         dbus object.
-     */
-    void createIfObjects();
-
-    /** @brief Get the hypervisor eth interfaces count
-     *
-     *  @return number of interfaces
-     */
-    uint16_t getIntfCount();
-
     /** @brief Setter method for biosTableAttrs data member
      *         GET operation on the BIOS table to
      *         read all the hyp attrbutes (name, value pair)
@@ -137,9 +138,6 @@
      */
     std::map<std::string, std::shared_ptr<HypEthInterface>> interfaces;
 
-    /** @brief interface count */
-    uint16_t intfCount;
-
     /** @brief map of bios table attrs and values */
     std::map<biosAttrName, biosAttrCurrValue> biosTableAttrs;
 };
diff --git a/src/ibm/hypervisor-network-mgr-src/hyp_network_manager_main.cpp b/src/ibm/hypervisor-network-mgr-src/hyp_network_manager_main.cpp
index ddb515b..d0d7b7d 100644
--- a/src/ibm/hypervisor-network-mgr-src/hyp_network_manager_main.cpp
+++ b/src/ibm/hypervisor-network-mgr-src/hyp_network_manager_main.cpp
@@ -24,6 +24,9 @@
     phosphor::network::HypNetworkMgr manager(bus, event,
                                              DEFAULT_HYP_NW_OBJPATH);
 
+    // Create the hypervisor eth interface objects
+    manager.createIfObjects();
+
     bus.request_name(HYP_DEFAULT_NETWORK_BUSNAME);
 
     event.loop();
diff --git a/test/ibm/hypervisor-network-mgr-test/meson.build b/test/ibm/hypervisor-network-mgr-test/meson.build
new file mode 100644
index 0000000..b7f97b0
--- /dev/null
+++ b/test/ibm/hypervisor-network-mgr-test/meson.build
@@ -0,0 +1,20 @@
+inc_dir = include_directories('../../../src/ibm/hypervisor-network-mgr-src/')
+
+hyp_tests = [
+  'hyp_network_manager',
+]
+
+hyp_test_src = declare_dependency(
+              sources: [
+                '../../../src/ibm/hypervisor-network-mgr-src/hyp_network_manager.cpp'])
+
+foreach t : hyp_tests
+  test(
+    t,
+    executable(
+      t.underscorify(),
+      'test_' + t + '.cpp',
+      implicit_include_directories: false,
+      include_directories: inc_dir,
+      dependencies: [test_dep, hyp_test_src]))
+endforeach
diff --git a/test/ibm/hypervisor-network-mgr-test/test_hyp_network_manager.cpp b/test/ibm/hypervisor-network-mgr-test/test_hyp_network_manager.cpp
new file mode 100644
index 0000000..abdd14c
--- /dev/null
+++ b/test/ibm/hypervisor-network-mgr-test/test_hyp_network_manager.cpp
@@ -0,0 +1,63 @@
+#include "hyp_network_manager.hpp"
+
+#include <net/if.h>
+
+#include <sdbusplus/bus.hpp>
+#include <xyz/openbmc_project/Common/error.hpp>
+
+#include <gtest/gtest.h>
+
+namespace phosphor
+{
+namespace network
+{
+
+class TestHypNetworkManager : public testing::Test
+{
+  public:
+    sdbusplus::bus::bus bus;
+    HypNetworkMgr manager;
+    sdeventplus::Event event = sdeventplus::Event::get_default();
+    TestHypNetworkManager() :
+        bus(sdbusplus::bus::new_default()),
+        manager(bus, event, "/xyz/openbmc_test/network/hypervisor")
+    {
+        // TODO: Once the support for ipv6 has been added, the below
+        // method call to set default values in the local copy
+        // of the bios attributes should be called for ipv6 as well
+
+        manager.setDefaultBIOSTableAttrsOnIntf("if0");
+        manager.setDefaultBIOSTableAttrsOnIntf("if1");
+        manager.setDefaultHostnameInBIOSTableAttrs();
+    }
+
+    ~TestHypNetworkManager() = default;
+};
+
+TEST_F(TestHypNetworkManager, getDefaultBiosTableAttr)
+{
+    biosTableType biosAttrs = manager.getBIOSTableAttrs();
+    auto itr = biosAttrs.find("vmi_if0_ipv4_method");
+    if (itr != biosAttrs.end())
+    {
+        std::string biosAttrValue = std::get<std::string>(itr->second);
+        EXPECT_EQ(biosAttrValue, "IPv4Static");
+    }
+}
+
+TEST_F(TestHypNetworkManager, setHostnameInBiosTableAndGet)
+{
+    std::string attribute = "vmi_hostname";
+    std::string value = "testHostname";
+    manager.setBIOSTableAttr(attribute, value, "String");
+    biosTableType biosAttrs = manager.getBIOSTableAttrs();
+    auto itr = biosAttrs.find("vmi_hostname");
+    if (itr != biosAttrs.end())
+    {
+        std::string biosAttrValue = std::get<std::string>(itr->second);
+        EXPECT_EQ(biosAttrValue, value);
+    }
+}
+
+} // namespace network
+} // namespace phosphor
diff --git a/test/meson.build b/test/meson.build
index 5ef050b..45f4072 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -62,3 +62,7 @@
       implicit_include_directories: false,
       dependencies: test_dep))
 endforeach
+
+if (get_option('hyp-nw-config') == true)
+  subdir('ibm/hypervisor-network-mgr-test')
+endif
