diff options
| author | Ratan Gupta <ratagupt@in.ibm.com> | 2017-07-11 19:18:29 +0530 |
|---|---|---|
| committer | Ratan Gupta <ratagupt@in.ibm.com> | 2017-07-19 20:12:14 +0530 |
| commit | 068a8cf24b73614cde8e19bebf2187ae1a2f5a60 (patch) | |
| tree | f7ded87a09bd64203a2c339e5450f5b8bf470da2 | |
| parent | 1caa2309d0335c66b7fc683f9c7d7b1214672897 (diff) | |
| download | phosphor-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.cpp | 18 | ||||
| -rw-r--r-- | network_manager.hpp | 4 | ||||
| -rw-r--r-- | util.cpp | 1 | ||||
| -rw-r--r-- | util.hpp | 21 |
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; @@ -1,4 +1,5 @@ #include "util.hpp" + #include "xyz/openbmc_project/Common/error.hpp" #include <phosphor-logging/log.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 |

