diff options
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.patch | 120 |
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 - |