From 35e295e2a161fcf146ea031de53431b2888521fa Mon Sep 17 00:00:00 2001 From: Ed Tanous Date: Mon, 19 Aug 2019 11:16:19 -0700 Subject: Sync to internal 8-19-2019 Signed-off-by: Ed Tanous --- ...Pv6-Network-changes-to-configuration-file.patch | 208 --------------------- 1 file changed, 208 deletions(-) delete mode 100644 meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0002-IPv6-Network-changes-to-configuration-file.patch (limited to 'meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network') diff --git a/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0002-IPv6-Network-changes-to-configuration-file.patch b/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0002-IPv6-Network-changes-to-configuration-file.patch deleted file mode 100644 index b46702902..000000000 --- a/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0002-IPv6-Network-changes-to-configuration-file.patch +++ /dev/null @@ -1,208 +0,0 @@ -From 53dbefc9f31dcfca06d7c7705ea3dcfc5e93ae72 Mon Sep 17 00:00:00 2001 -From: David Cobbley -Date: Wed, 6 Jun 2018 11:11:43 -0700 -Subject: [PATCH 1/2] IPv6 Network changes to configuration file - -Allow Additional parameters to be set for IPv6 - -Change-Id: If662f1ce2d265bc525073890c49231bf6f2b8a30 ---- - ethernet_interface.cpp | 109 +++++++++++++++++++++++++++++++++++++++-- - ethernet_interface.hpp | 17 +++++++ - util.cpp | 3 +- - 3 files changed, 123 insertions(+), 6 deletions(-) - -diff --git a/ethernet_interface.cpp b/ethernet_interface.cpp -index 154efcb..aa1c895 100644 ---- a/ethernet_interface.cpp -+++ b/ethernet_interface.cpp -@@ -46,6 +46,8 @@ EthernetInterface::EthernetInterface(sdbusplus::bus::bus& bus, - std::replace(intfName.begin(), intfName.end(), '_', '.'); - interfaceName(intfName); - EthernetInterfaceIntf::dHCPEnabled(dhcpEnabled); -+ EthernetInterfaceIntf::iPAddressEnables(getIPAddressEnablesFromConf()); -+ EthernetInterfaceIntf::iPv6AcceptRA(getIPv6AcceptRAFromConf()); - MacAddressIntf::mACAddress(getMACAddress(intfName)); - EthernetInterfaceIntf::nTPServers(getNTPServersFromConf()); - EthernetInterfaceIntf::nameservers(getNameServerFromConf()); -@@ -329,7 +331,16 @@ std::string EthernetInterface::generateObjectPath( - objectPath /= generateId(ipaddress, prefixLength, gateway); - return objectPath.string(); - } -- -+bool EthernetInterface::iPv6AcceptRA(bool value) -+{ -+ if (value == EthernetInterfaceIntf::iPv6AcceptRA()) -+ { -+ return value; -+ } -+ EthernetInterfaceIntf::iPv6AcceptRA(value); -+ manager.writeToConfigurationFile(); -+ return value; -+} - bool EthernetInterface::dHCPEnabled(bool value) - { - if (value == EthernetInterfaceIntf::dHCPEnabled()) -@@ -442,7 +453,80 @@ ObjectPath EthernetInterface::createVLAN(VlanId id) - - return path; - } -+bool EthernetInterface::getIPv6AcceptRAFromConf() -+{ -+ fs::path confPath = manager.getConfDir(); -+ -+ std::string fileName = systemd::config::networkFilePrefix + -+ interfaceName() + systemd::config::networkFileSuffix; -+ confPath /= fileName; -+ config::ValueList values; -+ config::Parser parser(confPath.string()); -+ auto rc = config::ReturnCode::SUCCESS; -+ std::tie(rc, values) = parser.getValues("Network", "IPv6AcceptRA"); -+ if (rc != config::ReturnCode::SUCCESS) -+ { -+ log("Unable to get the value for Network[IPv6AcceptRA]", -+ entry("rc=%d", rc)); -+ return false; -+ } -+ if (values[0] == "true") -+ { -+ return true; -+ } -+ -+ return false; -+} -+EthernetInterface::IPAllowed EthernetInterface::getIPAddressEnablesFromConf() -+{ -+ fs::path confPath = manager.getConfDir(); -+ -+ std::string fileName = systemd::config::networkFilePrefix + -+ interfaceName() + systemd::config::networkFileSuffix; -+ confPath /= fileName; -+ config::ValueList values; -+ config::Parser parser(confPath.string()); -+ auto rc = config::ReturnCode::SUCCESS; -+ std::tie(rc, values) = parser.getValues("Network", "DHCP"); -+ if (rc != config::ReturnCode::SUCCESS) -+ { -+ log("Unable to get the value for Network[DHCP]", -+ entry("rc=%d", rc)); -+ return EthernetInterface::IPAllowed::IPv4AndIPv6; -+ } -+ // true, false, ipv4, ipv6 -+ if (values[0] == "ipv6") -+ { -+ return EthernetInterface::IPAllowed::IPv6Only; -+ } -+ else if (values[0] == "ipv4") -+ { -+ return EthernetInterface::IPAllowed::IPv4Only; -+ } -+ else if (values[0] == "off") -+ { -+ // This function should not get called if DHCP == off -+ log("Function not available in static mode"); -+ return EthernetInterface::IPAllowed::IPv4AndIPv6; -+ } -+ else -+ { -+ return EthernetInterface::IPAllowed::IPv4AndIPv6; -+ } -+} -+EthernetInterface::IPAllowed -+ EthernetInterface::iPAddressEnables(EthernetInterface::IPAllowed iPAllowed) -+{ -+ if (iPAllowed == EthernetInterfaceIntf::iPAddressEnables()) -+ { -+ return iPAllowed; -+ } -+ -+ EthernetInterfaceIntf::iPAddressEnables(iPAllowed); -+ writeConfigurationFile(); - -+ return iPAllowed; -+} - ServerList EthernetInterface::getNTPServersFromConf() - { - fs::path confPath = manager.getConfDir(); -@@ -524,7 +608,8 @@ void EthernetInterface::writeConfigurationFile() - #else - stream << "LinkLocalAddressing=no\n"; - #endif -- stream << "IPv6AcceptRA=false\n"; -+ stream << std::boolalpha -+ << "IPv6AcceptRA=" << EthernetInterfaceIntf::iPv6AcceptRA() << "\n"; - - // Add the VLAN entry - for (const auto& intf : vlanInterfaces) -@@ -533,8 +618,24 @@ void EthernetInterface::writeConfigurationFile() - << "\n"; - } - // Add the DHCP entry -- auto value = dHCPEnabled() ? "true"s : "false"s; -- stream << "DHCP="s + value + "\n"; -+ std::string dhcpValue = "false"; -+ if (dHCPEnabled()) -+ { -+ IPAllowed ipAllowed = EthernetInterfaceIntf::iPAddressEnables(); -+ if (ipAllowed == IPAllowed::IPv4AndIPv6) -+ { -+ dhcpValue = "true"; -+ } -+ else if (ipAllowed == IPAllowed::IPv4Only) -+ { -+ dhcpValue = "ipv4"; -+ } -+ else if (ipAllowed == IPAllowed::IPv6Only) -+ { -+ dhcpValue = "ipv6"; -+ } -+ } -+ stream << "DHCP=" << dhcpValue << "\n"; - - // When the interface configured as dhcp, we don't need below given entries - // in config file. -diff --git a/ethernet_interface.hpp b/ethernet_interface.hpp -index c65726a..55fd7d9 100644 ---- a/ethernet_interface.hpp -+++ b/ethernet_interface.hpp -@@ -207,6 +207,23 @@ class EthernetInterface : public Ifaces - /** @brief write the dhcp section **/ - void writeDHCPSection(std::fstream& stream); - -+ /** @brief get the IPv6AcceptRA flag from the network configuration file -+ * -+ */ -+ bool getIPv6AcceptRAFromConf(); -+ -+ /** @brief check conf file for Router Advertisements -+ * -+ */ -+ bool iPv6AcceptRA(bool value) override; -+ -+ /** @brief get the allowed network modes. Similar to DHCP enabled, but -+ * more specific -+ */ -+ IPAllowed getIPAddressEnablesFromConf(); -+ -+ IPAllowed iPAddressEnables(IPAllowed) override; -+ - /** @brief get the NTP server list from the network conf - * - */ -diff --git a/util.cpp b/util.cpp -index 6bc1497..6c60d54 100644 ---- a/util.cpp -+++ b/util.cpp -@@ -461,8 +461,7 @@ bool getDHCPValue(const std::string& confDir, const std::string& intf) - entry("RC=%d", rc)); - return dhcp; - } -- // There will be only single value for DHCP key. -- if (values[0] == "true") -+ if (values[0] != "false") - { - dhcp = true; - } --- -2.17.1 - -- cgit v1.2.3