summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRatan Gupta <ratagupt@in.ibm.com>2017-07-11 19:18:29 +0530
committerRatan Gupta <ratagupt@in.ibm.com>2017-07-19 20:12:14 +0530
commit068a8cf24b73614cde8e19bebf2187ae1a2f5a60 (patch)
treef7ded87a09bd64203a2c339e5450f5b8bf470da2
parent1caa2309d0335c66b7fc683f9c7d7b1214672897 (diff)
downloadphosphor-networkd-068a8cf24b73614cde8e19bebf2187ae1a2f5a60.tar.gz
phosphor-networkd-068a8cf24b73614cde8e19bebf2187ae1a2f5a60.zip
Implement generic restart systemd unit function
Change-Id: Ibd0ec4e7c3b9c395898673839ccf4de85616b201 Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
-rw-r--r--network_manager.cpp18
-rw-r--r--network_manager.hpp4
-rw-r--r--util.cpp1
-rw-r--r--util.hpp21
4 files changed, 23 insertions, 21 deletions
diff --git a/network_manager.cpp b/network_manager.cpp
index 0607b0e..1612f6d 100644
--- a/network_manager.cpp
+++ b/network_manager.cpp
@@ -218,23 +218,7 @@ void Manager::writeToConfigurationFile()
stream.close();
}
- restartSystemdNetworkd();
-}
-
-void Manager::restartSystemdNetworkd()
-{
- constexpr auto systemdNetworkdService = "systemd-networkd.service";
-
- auto method = bus.new_method_call(
- SYSTEMD_BUSNAME,
- SYSTEMD_PATH,
- SYSTEMD_INTERFACE,
- "RestartUnit");
-
- method.append(systemdNetworkdService,
- "replace");
-
- bus.call_noreply(method);
+ restartSystemdUnit("systemd-networkd.service");
}
bool Manager::getDHCPValue(const std::string& intf)
diff --git a/network_manager.hpp b/network_manager.hpp
index ce61737..1854364 100644
--- a/network_manager.hpp
+++ b/network_manager.hpp
@@ -75,10 +75,6 @@ class Manager : public details::VLANCreateIface
private:
- /** @brief Restart the systemd networkd
- */
- void restartSystemdNetworkd();
-
/** @brief Persistent sdbusplus DBus bus connection. */
sdbusplus::bus::bus& bus;
diff --git a/util.cpp b/util.cpp
index 3c411cb..64a913c 100644
--- a/util.cpp
+++ b/util.cpp
@@ -1,4 +1,5 @@
#include "util.hpp"
+
#include "xyz/openbmc_project/Common/error.hpp"
#include <phosphor-logging/log.hpp>
diff --git a/util.hpp b/util.hpp
index 6f27af9..3434aca 100644
--- a/util.hpp
+++ b/util.hpp
@@ -1,7 +1,10 @@
#pragma once
#include <unistd.h>
+
+#include "config.h"
#include "types.hpp"
+#include <sdbusplus/bus.hpp>
namespace phosphor
{
@@ -42,6 +45,24 @@ std::string getNetworkID(int addressFamily, const std::string& ipaddress,
*/
IntfAddrMap getInterfaceAddrs();
+/** @brief Restart the systemd unit
+ * @param[in] unit - systemd unit name which needs to be
+ * restarted.
+ */
+inline void restartSystemdUnit(const std::string& unit)
+{
+ auto bus = sdbusplus::bus::new_default();
+ auto method = bus.new_method_call(
+ SYSTEMD_BUSNAME,
+ SYSTEMD_PATH,
+ SYSTEMD_INTERFACE,
+ "RestartUnit");
+
+ method.append(unit, "replace");
+ bus.call_noreply(method);
+
+}
+
} //namespace network
class Descriptor
OpenPOWER on IntegriCloud