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