summaryrefslogtreecommitdiffstats
path: root/ethernet_interface.hpp
diff options
context:
space:
mode:
authorGunnar Mills <gmills@us.ibm.com>2018-09-14 14:42:34 -0500
committerRatan K Gupta <ratagupt@linux.vnet.ibm.com>2018-09-15 00:47:14 -0400
commit57d9c5066e2fc28d3e89b1bd9fd3ee98e27c4c48 (patch)
treef232adeab7b6a89cd392d4300be70451d335d14f /ethernet_interface.hpp
parentce26282763be6a9d7fa21fcc93d5da8682d3a021 (diff)
downloadphosphor-networkd-57d9c5066e2fc28d3e89b1bd9fd3ee98e27c4c48.tar.gz
phosphor-networkd-57d9c5066e2fc28d3e89b1bd9fd3ee98e27c4c48.zip
clang-format: Update to match docs repo
Update the .clang-format file and run clang-format-6.0. This .clang-format matches the example one in https://github.com/openbmc/docs/blob/master/cpp-style-and-conventions.md#clang-formatting Change-Id: Ia331c9a5b040e1a3c45a0ebf1b8d776d93b05ae5 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
Diffstat (limited to 'ethernet_interface.hpp')
-rw-r--r--ethernet_interface.hpp375
1 files changed, 187 insertions, 188 deletions
diff --git a/ethernet_interface.hpp b/ethernet_interface.hpp
index 7865ab3..8dad0e9 100644
--- a/ethernet_interface.hpp
+++ b/ethernet_interface.hpp
@@ -17,12 +17,11 @@ namespace phosphor
namespace network
{
-using Ifaces =
- sdbusplus::server::object::object<
- sdbusplus::xyz::openbmc_project::Network::server::EthernetInterface,
- sdbusplus::xyz::openbmc_project::Network::server::MACAddress,
- sdbusplus::xyz::openbmc_project::Network::IP::server::Create,
- sdbusplus::xyz::openbmc_project::Collection::server::DeleteAll>;
+using Ifaces = sdbusplus::server::object::object<
+ sdbusplus::xyz::openbmc_project::Network::server::EthernetInterface,
+ sdbusplus::xyz::openbmc_project::Network::server::MACAddress,
+ sdbusplus::xyz::openbmc_project::Network::IP::server::Create,
+ sdbusplus::xyz::openbmc_project::Collection::server::DeleteAll>;
using IP = sdbusplus::xyz::openbmc_project::Network::server::IP;
@@ -50,7 +49,8 @@ using VlanId = uint32_t;
using InterfaceName = std::string;
using InterfaceInfo = std::tuple<LinkSpeed, DuplexMode, Autoneg>;
using AddressMap = std::map<std::string, std::shared_ptr<IPAddress>>;
-using VlanInterfaceMap = std::map<InterfaceName, std::unique_ptr<VlanInterface>>;
+using VlanInterfaceMap =
+ std::map<InterfaceName, std::unique_ptr<VlanInterface>>;
/** @class EthernetInterface
* @brief OpenBMC Ethernet Interface implementation.
@@ -59,187 +59,186 @@ using VlanInterfaceMap = std::map<InterfaceName, std::unique_ptr<VlanInterface>>
*/
class EthernetInterface : public Ifaces
{
- public:
- EthernetInterface() = delete;
- EthernetInterface(const EthernetInterface&) = delete;
- EthernetInterface& operator=(const EthernetInterface&) = delete;
- EthernetInterface(EthernetInterface&&) = delete;
- EthernetInterface& operator=(EthernetInterface&&) = delete;
- virtual ~EthernetInterface() = default;
-
- /** @brief Constructor to put object onto bus at a dbus path.
- * @param[in] bus - Bus to attach to.
- * @param[in] objPath - Path to attach at.
- * @param[in] dhcpEnabled - is dhcp enabled(true/false).
- * @param[in] parent - parent object.
- * @param[in] emitSignal - true if the object added signal needs to be
- * send.
- */
- EthernetInterface(sdbusplus::bus::bus& bus,
- const std::string& objPath,
- bool dhcpEnabled,
- Manager& parent,
- bool emitSignal = true);
-
- /** @brief Function to create ipaddress dbus object.
- * @param[in] addressType - Type of ip address.
- * @param[in] ipaddress- IP address.
- * @param[in] prefixLength - Length of prefix.
- * @param[in] gateway - Gateway ip address.
- */
-
- void iP(IP::Protocol addressType,
- std::string ipaddress,
- uint8_t prefixLength,
- std::string gateway) override;
-
- /* @brief delete the dbus object of the given ipaddress.
- * @param[in] ipaddress - IP address.
- */
- void deleteObject(const std::string& ipaddress);
-
- /* @brief delete the vlan dbus object of the given interface.
- * Also deletes the device file and the network file.
- * @param[in] interface - VLAN Interface.
- */
- void deleteVLANObject(const std::string& interface);
-
- /* @brief creates the dbus object(IPaddres) given in the address list.
- * @param[in] addrs - address list for which dbus objects needs
- * to create.
- */
- void createIPAddressObjects();
-
- /* @brief Gets all the ip addresses.
- * @returns the list of ipaddress.
- */
- const AddressMap& getAddresses() const { return addrs; }
-
- /** Set value of DHCPEnabled */
- bool dHCPEnabled(bool value) override;
-
- /** @brief sets the MAC address.
- * @param[in] value - MAC address which needs to be set on the system.
- * @returns macAddress of the interface or throws an error.
- */
- std::string mACAddress(std::string value) override;
-
- /** @brief sets the NTP servers.
- * @param[in] value - vector of NTP servers.
- */
- ServerList nTPServers(ServerList value) override;
-
- /** @brief sets the DNS/nameservers.
- * @param[in] value - vector of DNS servers.
- */
- ServerList nameservers(ServerList value) override;
-
- /** @brief create Vlan interface.
- * @param[in] id- VLAN identifier.
- */
- void createVLAN(VlanId id);
-
- /** @brief load the vlan info from the system
- * and creates the ip address dbus objects.
- * @param[in] vlanID- VLAN identifier.
- */
- void loadVLAN(VlanId vlanID);
-
- /** @brief write the network conf file with the in-memory objects.
- */
- void writeConfigurationFile();
-
- /** @brief delete all dbus objects.
- */
- void deleteAll();
-
- using EthernetInterfaceIntf::dHCPEnabled;
- using EthernetInterfaceIntf::interfaceName;
- using MacAddressIntf::mACAddress;
-
- /** @brief Absolute path of the resolv conf file */
- static constexpr auto resolvConfFile = "/etc/resolv.conf";
-
- protected:
- /** @brief get the info of the ethernet interface.
- * @return tuple having the link speed,autonegotiation,duplexmode .
- */
- InterfaceInfo getInterfaceInfo() const;
-
- /* @brief delete the vlan interface from system.
- * @param[in] interface - vlan Interface.
- */
- void deleteVLANFromSystem(const std::string& interface);
-
- /** @brief get the mac address of the interface.
- * @param[in] interfaceName - Network interface name.
- * @return macaddress on success
- */
-
- std::string getMACAddress(const std::string& interfaceName) const;
-
- /** @brief construct the ip address dbus object path.
- * @param[in] addressType - Type of ip address.
- * @param[in] ipaddress - IP address.
- * @param[in] prefixLength - Length of prefix.
- * @param[in] gateway - Gateway address.
-
- * @return path of the address object.
- */
-
- std::string generateObjectPath(IP::Protocol addressType,
- const std::string& ipaddress,
- uint8_t prefixLength,
- const std::string& gateway) const;
-
- /** @brief generates the id by doing hash of ipaddress,
- * prefixlength and the gateway.
- * @param[in] ipaddress - IP address.
- * @param[in] prefixLength - Length of prefix.
- * @param[in] gateway - Gateway address.
- * @return hash string.
- */
-
- static std::string generateId(const std::string& ipaddress,
- uint8_t prefixLength,
- const std::string& gateway);
-
- /** @brief write the dhcp section **/
- void writeDHCPSection(std::fstream& stream);;
-
- /** @brief get the NTP server list from the network conf
- *
- */
- ServerList getNTPServersFromConf();
-
- /** @brief write the DNS entries to resolver file.
- * @param[in] dnsList - DNS server list which needs to be written.
- * @param[in] file - File to write the name server entries to.
- */
- void writeDNSEntries(const ServerList& dnsList,
- const std::string& file);
-
- /** @brief get the name server details from the network conf
- *
- */
- ServerList getNameServerFromConf();
-
- /** @brief Persistent sdbusplus DBus bus connection. */
- sdbusplus::bus::bus& bus;
-
- /** @brief Network Manager object. */
- Manager& manager;
-
- /** @brief Persistent map of IPAddress dbus objects and their names */
- AddressMap addrs;
-
- /** @brief Persistent map of VLAN interface dbus objects and their names */
- VlanInterfaceMap vlanInterfaces;
-
- /** @brief Dbus object path */
- std::string objPath;
-
- friend class TestEthernetInterface;
+ public:
+ EthernetInterface() = delete;
+ EthernetInterface(const EthernetInterface&) = delete;
+ EthernetInterface& operator=(const EthernetInterface&) = delete;
+ EthernetInterface(EthernetInterface&&) = delete;
+ EthernetInterface& operator=(EthernetInterface&&) = delete;
+ virtual ~EthernetInterface() = default;
+
+ /** @brief Constructor to put object onto bus at a dbus path.
+ * @param[in] bus - Bus to attach to.
+ * @param[in] objPath - Path to attach at.
+ * @param[in] dhcpEnabled - is dhcp enabled(true/false).
+ * @param[in] parent - parent object.
+ * @param[in] emitSignal - true if the object added signal needs to be
+ * send.
+ */
+ EthernetInterface(sdbusplus::bus::bus& bus, const std::string& objPath,
+ bool dhcpEnabled, Manager& parent,
+ bool emitSignal = true);
+
+ /** @brief Function to create ipaddress dbus object.
+ * @param[in] addressType - Type of ip address.
+ * @param[in] ipaddress- IP address.
+ * @param[in] prefixLength - Length of prefix.
+ * @param[in] gateway - Gateway ip address.
+ */
+
+ void iP(IP::Protocol addressType, std::string ipaddress,
+ uint8_t prefixLength, std::string gateway) override;
+
+ /* @brief delete the dbus object of the given ipaddress.
+ * @param[in] ipaddress - IP address.
+ */
+ void deleteObject(const std::string& ipaddress);
+
+ /* @brief delete the vlan dbus object of the given interface.
+ * Also deletes the device file and the network file.
+ * @param[in] interface - VLAN Interface.
+ */
+ void deleteVLANObject(const std::string& interface);
+
+ /* @brief creates the dbus object(IPaddres) given in the address list.
+ * @param[in] addrs - address list for which dbus objects needs
+ * to create.
+ */
+ void createIPAddressObjects();
+
+ /* @brief Gets all the ip addresses.
+ * @returns the list of ipaddress.
+ */
+ const AddressMap& getAddresses() const
+ {
+ return addrs;
+ }
+
+ /** Set value of DHCPEnabled */
+ bool dHCPEnabled(bool value) override;
+
+ /** @brief sets the MAC address.
+ * @param[in] value - MAC address which needs to be set on the system.
+ * @returns macAddress of the interface or throws an error.
+ */
+ std::string mACAddress(std::string value) override;
+
+ /** @brief sets the NTP servers.
+ * @param[in] value - vector of NTP servers.
+ */
+ ServerList nTPServers(ServerList value) override;
+
+ /** @brief sets the DNS/nameservers.
+ * @param[in] value - vector of DNS servers.
+ */
+ ServerList nameservers(ServerList value) override;
+
+ /** @brief create Vlan interface.
+ * @param[in] id- VLAN identifier.
+ */
+ void createVLAN(VlanId id);
+
+ /** @brief load the vlan info from the system
+ * and creates the ip address dbus objects.
+ * @param[in] vlanID- VLAN identifier.
+ */
+ void loadVLAN(VlanId vlanID);
+
+ /** @brief write the network conf file with the in-memory objects.
+ */
+ void writeConfigurationFile();
+
+ /** @brief delete all dbus objects.
+ */
+ void deleteAll();
+
+ using EthernetInterfaceIntf::dHCPEnabled;
+ using EthernetInterfaceIntf::interfaceName;
+ using MacAddressIntf::mACAddress;
+
+ /** @brief Absolute path of the resolv conf file */
+ static constexpr auto resolvConfFile = "/etc/resolv.conf";
+
+ protected:
+ /** @brief get the info of the ethernet interface.
+ * @return tuple having the link speed,autonegotiation,duplexmode .
+ */
+ InterfaceInfo getInterfaceInfo() const;
+
+ /* @brief delete the vlan interface from system.
+ * @param[in] interface - vlan Interface.
+ */
+ void deleteVLANFromSystem(const std::string& interface);
+
+ /** @brief get the mac address of the interface.
+ * @param[in] interfaceName - Network interface name.
+ * @return macaddress on success
+ */
+
+ std::string getMACAddress(const std::string& interfaceName) const;
+
+ /** @brief construct the ip address dbus object path.
+ * @param[in] addressType - Type of ip address.
+ * @param[in] ipaddress - IP address.
+ * @param[in] prefixLength - Length of prefix.
+ * @param[in] gateway - Gateway address.
+
+ * @return path of the address object.
+ */
+
+ std::string generateObjectPath(IP::Protocol addressType,
+ const std::string& ipaddress,
+ uint8_t prefixLength,
+ const std::string& gateway) const;
+
+ /** @brief generates the id by doing hash of ipaddress,
+ * prefixlength and the gateway.
+ * @param[in] ipaddress - IP address.
+ * @param[in] prefixLength - Length of prefix.
+ * @param[in] gateway - Gateway address.
+ * @return hash string.
+ */
+
+ static std::string generateId(const std::string& ipaddress,
+ uint8_t prefixLength,
+ const std::string& gateway);
+
+ /** @brief write the dhcp section **/
+ void writeDHCPSection(std::fstream& stream);
+ ;
+
+ /** @brief get the NTP server list from the network conf
+ *
+ */
+ ServerList getNTPServersFromConf();
+
+ /** @brief write the DNS entries to resolver file.
+ * @param[in] dnsList - DNS server list which needs to be written.
+ * @param[in] file - File to write the name server entries to.
+ */
+ void writeDNSEntries(const ServerList& dnsList, const std::string& file);
+
+ /** @brief get the name server details from the network conf
+ *
+ */
+ ServerList getNameServerFromConf();
+
+ /** @brief Persistent sdbusplus DBus bus connection. */
+ sdbusplus::bus::bus& bus;
+
+ /** @brief Network Manager object. */
+ Manager& manager;
+
+ /** @brief Persistent map of IPAddress dbus objects and their names */
+ AddressMap addrs;
+
+ /** @brief Persistent map of VLAN interface dbus objects and their names */
+ VlanInterfaceMap vlanInterfaces;
+
+ /** @brief Dbus object path */
+ std::string objPath;
+
+ friend class TestEthernetInterface;
};
} // namespace network
OpenPOWER on IntegriCloud