summaryrefslogtreecommitdiff
path: root/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0005-Enable-conditional-use-of-ETHTOOL-features-in-the-NI.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0005-Enable-conditional-use-of-ETHTOOL-features-in-the-NI.patch')
-rw-r--r--meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0005-Enable-conditional-use-of-ETHTOOL-features-in-the-NI.patch120
1 files changed, 0 insertions, 120 deletions
diff --git a/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0005-Enable-conditional-use-of-ETHTOOL-features-in-the-NI.patch b/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0005-Enable-conditional-use-of-ETHTOOL-features-in-the-NI.patch
deleted file mode 100644
index c05088990..000000000
--- a/meta-openbmc-mods/meta-common/recipes-network/network/phosphor-network/0005-Enable-conditional-use-of-ETHTOOL-features-in-the-NI.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-From 6d3d50c506e2d6b4982ff6040af9fd61edaa8beb Mon Sep 17 00:00:00 2001
-From: Johnathan Mantey <johnathanx.mantey@intel.com>
-Date: Fri, 24 Jan 2020 13:30:39 -0800
-Subject: [PATCH] Enable conditional use of ETHTOOL features in the NIC driver
-
-The retrieval of the NIC speed, duplex, and autonegotiation
-capabilities using the ETHTOOL driver extensions is not supported in
-every NIC.
-
-Depending on the driver, the use of the ETHTOOL_GSET command may
-result in undesirable messages being printed by the kernel. In order
-to avoid these kernel messages a compile time switch is added. By
-default the switch disables the use of the ETHTOOL features. Enable
-the ETHTOOL feature by adding:
- EXTRA_OECONF_append = " --enable-nic-ethtool=yes"
-to the phosphor-network bbappend file.
-
-Tested:
-Compiled the source without changing the bbappend file. The code
-compiled as is, and after code was added that would cause a compile
-time failure.
-Loaded the code, and performed a Redfish read of the NIC. The
-SpeedMbps field was confirmed to be set to 0.
-
-Enabled compiling the code by adding the EXTRA_OECONF entry to the
-bbappend file. The code compiled as is, and failed to compile after
-adding invalid code to the protected blocks.
-Loaded the code, and performed a Redfish read of the NIC. The
-SpeedMbps reported the correct link speed.
-
-Change-Id: If03e7d473d439ebb4a01b5d3f45e37ede2a5a84f
-Signed-off-by: Johnathan Mantey <johnathanx.mantey@intel.com>
----
- Makefile.am | 3 +++
- configure.ac | 10 ++++++++++
- ethernet_interface.cpp | 13 ++++++++-----
- 3 files changed, 21 insertions(+), 5 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 2a54797..ff252fc 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -99,6 +99,9 @@ phosphor_network_manager_CXXFLAGS = \
- $(PHOSPHOR_LOGGING_CFLAGS) \
- -DBOOST_ASIO_DISABLE_THREADS \
- -flto
-+if FEATURE_NIC_ETHTOOL
-+phosphor_network_manager_CXXFLAGS += -DNIC_SUPPORTS_ETHTOOL
-+endif
-
- xyz/openbmc_project/Network/VLAN/Create/server.cpp: xyz/openbmc_project/Network/VLAN/Create.interface.yaml xyz/openbmc_project/Network/VLAN/Create/server.hpp
- @mkdir -p `dirname $@`
-diff --git a/configure.ac b/configure.ac
-index 00b23bc..fed3e09 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -114,6 +114,16 @@ AC_SUBST(DEFAULT_BUSNAME, ["$DEFAULT_BUSNAME"])
- AC_ARG_VAR(SYSTEMD_TARGET, "Target for starting this service")
- AS_IF([test "x$SYSTEMD_TARGET" == "x"], [SYSTEMD_TARGET="multi-user.target"])
-
-+AC_ARG_ENABLE([nic_ethtool],
-+ [ --enable-nic-ethtool Enable/disable the use of ETHTOOL features in the NIC driver],
-+ [case "${enableval}" in
-+ yes) nic_ethtool=true ;;
-+ no) nic_ethtool=false ;;
-+ *) AC_MSG_ERROR([bad value ${nic_ethtool} for --enable-nic-ethtool]) ;;
-+ esac],[nic_ethtool=false]
-+ )
-+AM_CONDITIONAL([FEATURE_NIC_ETHTOOL], [test x$nic_ethtool = xtrue])
-+
- # Create configured output.
- AC_CONFIG_FILES([Makefile test/Makefile])
- AC_CONFIG_FILES([xyz.openbmc_project.Network.service])
-diff --git a/ethernet_interface.cpp b/ethernet_interface.cpp
-index 7f81003..ba6195e 100644
---- a/ethernet_interface.cpp
-+++ b/ethernet_interface.cpp
-@@ -57,10 +57,12 @@ EthernetInterface::EthernetInterface(sdbusplus::bus::bus& bus,
- MacAddressIntf::mACAddress(getMACAddress(intfName));
- EthernetInterfaceIntf::nTPServers(getNTPServersFromConf());
- EthernetInterfaceIntf::nameservers(getNameServerFromConf());
-+#if NIC_SUPPORTS_ETHTOOL
- InterfaceInfo ifInfo = EthernetInterface::getInterfaceInfo();
-
- EthernetInterfaceIntf::autoNeg(std::get<2>(ifInfo));
- EthernetInterfaceIntf::speed(std::get<0>(ifInfo));
-+#endif
- getChannelPrivilege(intfName);
-
- // Emit deferred signal.
-@@ -283,13 +285,13 @@ ObjectPath EthernetInterface::neighbor(std::string iPAddress,
- return objectPath;
- }
-
-+#if NIC_SUPPORTS_ETHTOOL
- /*
--Note: We don't have support for ethtool now
--will enable this code once we bring the ethtool
--in the image.
--TODO: https://github.com/openbmc/openbmc/issues/1484
-+ Enable this code if your NIC driver supports the ETHTOOL features.
-+ Do this by adding the following to your phosphor-network*.bbappend file.
-+ EXTRA_OECONF_append = " --enable-nic-ethtool=yes"
-+ The default compile mode is to omit getInterfaceInfo()
- */
--
- InterfaceInfo EthernetInterface::getInterfaceInfo() const
- {
- int sock{-1};
-@@ -330,6 +332,7 @@ InterfaceInfo EthernetInterface::getInterfaceInfo() const
- }
- return std::make_tuple(speed, duplex, autoneg);
- }
-+#endif
-
- /** @brief get the mac address of the interface.
- * @return macaddress on success
---
-2.24.1
-