1 #include "hyp_network_manager.hpp" 2 3 #include <phosphor-logging/log.hpp> 4 #include <sdeventplus/event.hpp> 5 #include <stdplus/print.hpp> 6 7 using phosphor::logging::entry; 8 using phosphor::logging::level; 9 using phosphor::logging::log; 10 11 constexpr char DEFAULT_HYP_NW_OBJPATH[] = 12 "/xyz/openbmc_project/network/hypervisor"; 13 constexpr char HYP_DEFAULT_NETWORK_BUSNAME[] = 14 "xyz.openbmc_project.Network.Hypervisor"; 15 16 namespace phosphor 17 { 18 namespace network 19 { 20 21 int main() 22 { 23 auto bus = sdbusplus::bus::new_default(); 24 25 // Add sdbusplus ObjectManager 26 sdbusplus::server::manager_t objManager(bus, DEFAULT_HYP_NW_OBJPATH); 27 28 // Get default event loop 29 auto event = sdeventplus::Event::get_default(); 30 31 // Attach the bus to sd_event to service user requests 32 bus.attach_event(event.get(), SD_EVENT_PRIORITY_NORMAL); 33 34 // Create hypervisor network manager dbus object 35 auto manager = std::make_unique<HypNetworkMgr>(bus, DEFAULT_HYP_NW_OBJPATH); 36 37 // Create the hypervisor eth interface objects 38 manager->createIfObjects(); 39 40 // Create the hypervisor system config object 41 manager->createSysConfObj(); 42 const SystemConfPtr& systemConfigObj = manager->getSystemConf(); 43 systemConfigObj->setHostName(); 44 45 bus.request_name(HYP_DEFAULT_NETWORK_BUSNAME); 46 47 return event.loop(); 48 } 49 50 } // namespace network 51 } // namespace phosphor 52 53 int main(int /*argc*/, char** /*argv*/) 54 { 55 try 56 { 57 return phosphor::network::main(); 58 } 59 catch (const std::exception& e) 60 { 61 stdplus::print(stderr, "FAILED: {}", e.what()); 62 fflush(stderr); 63 return 1; 64 } 65 } 66