Hello community, here is the log from the commit of package ethtool for openSUSE:Factory checked in at 2017-04-17 10:20:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ethtool (Old) and /work/SRC/openSUSE:Factory/.ethtool.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ethtool" Mon Apr 17 10:20:43 2017 rev:46 rq:483738 version:4.10 Changes: -------- --- /work/SRC/openSUSE:Factory/ethtool/ethtool.changes 2016-10-22 13:01:34.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.ethtool.new/ethtool.changes 2017-04-17 10:20:46.121310884 +0200 @@ -1,0 +2,9 @@ +Thu Mar 30 05:57:23 UTC 2017 - mkube...@suse.cz + +- Update to new upstream release 4.10 + * Fix: Fix the "advertise" parameter logic. + * Feature: Implement ETHTOOL_PHY_GTUNABLE/ETHTOOL_PHY_STUNABLE and PHY downshift + * Feature: add register dump support for fjes driver (-d option) +- add keyring with John Linville's key for tarball verification + +------------------------------------------------------------------- Old: ---- ethtool-4.8.tar.sign ethtool-4.8.tar.xz New: ---- ethtool-4.10.tar.sign ethtool-4.10.tar.xz ethtool.keyring ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ethtool.spec ++++++ --- /var/tmp/diff_new_pack.voj60v/_old 2017-04-17 10:20:46.885202699 +0200 +++ /var/tmp/diff_new_pack.voj60v/_new 2017-04-17 10:20:46.889202132 +0200 @@ -1,7 +1,7 @@ # # spec file for package ethtool # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: ethtool -Version: 4.8 +Version: 4.10 Release: 0 Summary: Examine and Tune Ethernet-Based Network Interfaces License: GPL-2.0 @@ -27,6 +27,7 @@ #Git-Clone: git://git.kernel.org/pub/scm/network/ethtool/ethtool Source: http://kernel.org/pub/software/network/ethtool/%{name}-%{version}.tar.xz Source2: http://kernel.org/pub/software/network/ethtool/%{name}-%{version}.tar.sign +Source3: %{name}.keyring BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: xz ++++++ ethtool-4.8.tar.xz -> ethtool-4.10.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ethtool-4.8/Makefile.am new/ethtool-4.10/Makefile.am --- old/ethtool-4.8/Makefile.am 2016-08-24 21:47:26.000000000 +0200 +++ new/ethtool-4.10/Makefile.am 2016-11-23 15:52:43.000000000 +0100 @@ -14,7 +14,7 @@ pcnet32.c realtek.c tg3.c marvell.c vioc.c \ smsc911x.c at76c50x-usb.c sfc.c stmmac.c \ sff-common.c sff-common.h sfpid.c sfpdiag.c \ - ixgbevf.c tse.c vmxnet3.c qsfp.c qsfp.h + ixgbevf.c tse.c vmxnet3.c qsfp.c qsfp.h fjes.c endif TESTS = test-cmdline test-features diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ethtool-4.8/Makefile.in new/ethtool-4.10/Makefile.in --- old/ethtool-4.8/Makefile.in 2016-10-04 16:53:05.000000000 +0200 +++ new/ethtool-4.10/Makefile.in 2017-03-24 18:53:18.000000000 +0100 @@ -93,7 +93,7 @@ @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ pcnet32.c realtek.c tg3.c marvell.c vioc.c \ @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ smsc911x.c at76c50x-usb.c sfc.c stmmac.c \ @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ sff-common.c sff-common.h sfpid.c sfpdiag.c \ -@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ ixgbevf.c tse.c vmxnet3.c qsfp.c qsfp.h +@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ ixgbevf.c tse.c vmxnet3.c qsfp.c qsfp.h fjes.c TESTS = test-cmdline$(EXEEXT) test-features$(EXEEXT) check_PROGRAMS = test-cmdline$(EXEEXT) test-features$(EXEEXT) @@ -118,7 +118,7 @@ natsemi.c pcnet32.c realtek.c tg3.c marvell.c vioc.c \ smsc911x.c at76c50x-usb.c sfc.c stmmac.c sff-common.c \ sff-common.h sfpid.c sfpdiag.c ixgbevf.c tse.c vmxnet3.c \ - qsfp.c qsfp.h + qsfp.c qsfp.h fjes.c @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@am__objects_1 = amd8111e.$(OBJEXT) \ @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ de2104x.$(OBJEXT) \ @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ e100.$(OBJEXT) \ @@ -145,7 +145,7 @@ @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ ixgbevf.$(OBJEXT) \ @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ tse.$(OBJEXT) \ @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ vmxnet3.$(OBJEXT) \ -@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ qsfp.$(OBJEXT) +@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ qsfp.$(OBJEXT) fjes.$(OBJEXT) am_ethtool_OBJECTS = ethtool.$(OBJEXT) rxclass.$(OBJEXT) \ $(am__objects_1) ethtool_OBJECTS = $(am_ethtool_OBJECTS) @@ -157,7 +157,7 @@ ibm_emac.c ixgb.c ixgbe.c natsemi.c pcnet32.c realtek.c tg3.c \ marvell.c vioc.c smsc911x.c at76c50x-usb.c sfc.c stmmac.c \ sff-common.c sff-common.h sfpid.c sfpdiag.c ixgbevf.c tse.c \ - vmxnet3.c qsfp.c qsfp.h + vmxnet3.c qsfp.c qsfp.h fjes.c @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@am__objects_2 = test_cmdline-amd8111e.$(OBJEXT) \ @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ test_cmdline-de2104x.$(OBJEXT) \ @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ test_cmdline-e100.$(OBJEXT) \ @@ -184,7 +184,8 @@ @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ test_cmdline-ixgbevf.$(OBJEXT) \ @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ test_cmdline-tse.$(OBJEXT) \ @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ test_cmdline-vmxnet3.$(OBJEXT) \ -@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ test_cmdline-qsfp.$(OBJEXT) +@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ test_cmdline-qsfp.$(OBJEXT) \ +@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ test_cmdline-fjes.$(OBJEXT) am__objects_3 = test_cmdline-ethtool.$(OBJEXT) \ test_cmdline-rxclass.$(OBJEXT) $(am__objects_2) am_test_cmdline_OBJECTS = test_cmdline-test-cmdline.$(OBJEXT) \ @@ -200,7 +201,7 @@ fec_8xx.c ibm_emac.c ixgb.c ixgbe.c natsemi.c pcnet32.c \ realtek.c tg3.c marvell.c vioc.c smsc911x.c at76c50x-usb.c \ sfc.c stmmac.c sff-common.c sff-common.h sfpid.c sfpdiag.c \ - ixgbevf.c tse.c vmxnet3.c qsfp.c qsfp.h + ixgbevf.c tse.c vmxnet3.c qsfp.c qsfp.h fjes.c @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@am__objects_4 = test_features-amd8111e.$(OBJEXT) \ @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ test_features-de2104x.$(OBJEXT) \ @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ test_features-e100.$(OBJEXT) \ @@ -227,7 +228,8 @@ @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ test_features-ixgbevf.$(OBJEXT) \ @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ test_features-tse.$(OBJEXT) \ @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ test_features-vmxnet3.$(OBJEXT) \ -@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ test_features-qsfp.$(OBJEXT) +@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ test_features-qsfp.$(OBJEXT) \ +@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@ test_features-fjes.$(OBJEXT) am__objects_5 = test_features-ethtool.$(OBJEXT) \ test_features-rxclass.$(OBJEXT) $(am__objects_4) am_test_features_OBJECTS = test_features-test-features.$(OBJEXT) \ @@ -755,6 +757,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/et131x.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ethtool.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fec_8xx.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fjes.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ibm_emac.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/igb.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ixgb.Po@am__quote@ @@ -780,6 +783,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_cmdline-et131x.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_cmdline-ethtool.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_cmdline-fec_8xx.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_cmdline-fjes.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_cmdline-ibm_emac.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_cmdline-igb.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_cmdline-ixgb.Po@am__quote@ @@ -811,6 +815,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_features-et131x.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_features-ethtool.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_features-fec_8xx.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_features-fjes.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_features-ibm_emac.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_features-igb.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_features-ixgb.Po@am__quote@ @@ -1287,6 +1292,20 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_cmdline_CFLAGS) $(CFLAGS) -c -o test_cmdline-qsfp.obj `if test -f 'qsfp.c'; then $(CYGPATH_W) 'qsfp.c'; else $(CYGPATH_W) '$(srcdir)/qsfp.c'; fi` +test_cmdline-fjes.o: fjes.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_cmdline_CFLAGS) $(CFLAGS) -MT test_cmdline-fjes.o -MD -MP -MF $(DEPDIR)/test_cmdline-fjes.Tpo -c -o test_cmdline-fjes.o `test -f 'fjes.c' || echo '$(srcdir)/'`fjes.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_cmdline-fjes.Tpo $(DEPDIR)/test_cmdline-fjes.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fjes.c' object='test_cmdline-fjes.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_cmdline_CFLAGS) $(CFLAGS) -c -o test_cmdline-fjes.o `test -f 'fjes.c' || echo '$(srcdir)/'`fjes.c + +test_cmdline-fjes.obj: fjes.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_cmdline_CFLAGS) $(CFLAGS) -MT test_cmdline-fjes.obj -MD -MP -MF $(DEPDIR)/test_cmdline-fjes.Tpo -c -o test_cmdline-fjes.obj `if test -f 'fjes.c'; then $(CYGPATH_W) 'fjes.c'; else $(CYGPATH_W) '$(srcdir)/fjes.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_cmdline-fjes.Tpo $(DEPDIR)/test_cmdline-fjes.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fjes.c' object='test_cmdline-fjes.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_cmdline_CFLAGS) $(CFLAGS) -c -o test_cmdline-fjes.obj `if test -f 'fjes.c'; then $(CYGPATH_W) 'fjes.c'; else $(CYGPATH_W) '$(srcdir)/fjes.c'; fi` + test_features-test-features.o: test-features.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_features_CFLAGS) $(CFLAGS) -MT test_features-test-features.o -MD -MP -MF $(DEPDIR)/test_features-test-features.Tpo -c -o test_features-test-features.o `test -f 'test-features.c' || echo '$(srcdir)/'`test-features.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_features-test-features.Tpo $(DEPDIR)/test_features-test-features.Po @@ -1720,6 +1739,20 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='qsfp.c' object='test_features-qsfp.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_features_CFLAGS) $(CFLAGS) -c -o test_features-qsfp.obj `if test -f 'qsfp.c'; then $(CYGPATH_W) 'qsfp.c'; else $(CYGPATH_W) '$(srcdir)/qsfp.c'; fi` + +test_features-fjes.o: fjes.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_features_CFLAGS) $(CFLAGS) -MT test_features-fjes.o -MD -MP -MF $(DEPDIR)/test_features-fjes.Tpo -c -o test_features-fjes.o `test -f 'fjes.c' || echo '$(srcdir)/'`fjes.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_features-fjes.Tpo $(DEPDIR)/test_features-fjes.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fjes.c' object='test_features-fjes.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_features_CFLAGS) $(CFLAGS) -c -o test_features-fjes.o `test -f 'fjes.c' || echo '$(srcdir)/'`fjes.c + +test_features-fjes.obj: fjes.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_features_CFLAGS) $(CFLAGS) -MT test_features-fjes.obj -MD -MP -MF $(DEPDIR)/test_features-fjes.Tpo -c -o test_features-fjes.obj `if test -f 'fjes.c'; then $(CYGPATH_W) 'fjes.c'; else $(CYGPATH_W) '$(srcdir)/fjes.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/test_features-fjes.Tpo $(DEPDIR)/test_features-fjes.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fjes.c' object='test_features-fjes.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(test_features_CFLAGS) $(CFLAGS) -c -o test_features-fjes.obj `if test -f 'fjes.c'; then $(CYGPATH_W) 'fjes.c'; else $(CYGPATH_W) '$(srcdir)/fjes.c'; fi` install-man8: $(man_MANS) @$(NORMAL_INSTALL) @list1=''; \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ethtool-4.8/NEWS new/ethtool-4.10/NEWS --- old/ethtool-4.8/NEWS 2016-10-04 16:02:53.000000000 +0200 +++ new/ethtool-4.10/NEWS 2017-03-24 18:52:01.000000000 +0100 @@ -1,3 +1,10 @@ +Version 4.10 - March 24, 2016 + + * Fix: Fix the "advertise" parameter logic. + * Feature: Implement ETHTOOL_PHY_GTUNABLE/ETHTOOL_PHY_STUNABLE and PHY downshift + * Feature: add register dump support for fjes driver (-d option) + + Version 4.8 - October 3, 2016 * Feature: QSFP Plus/QSFP28 Diagnostics Information Support diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ethtool-4.8/configure new/ethtool-4.10/configure --- old/ethtool-4.8/configure 2016-10-04 16:53:05.000000000 +0200 +++ new/ethtool-4.10/configure 2017-03-24 18:53:18.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for ethtool 4.8. +# Generated by GNU Autoconf 2.69 for ethtool 4.10. # # Report bugs to <net...@vger.kernel.org>. # @@ -580,8 +580,8 @@ # Identity of this package. PACKAGE_NAME='ethtool' PACKAGE_TARNAME='ethtool' -PACKAGE_VERSION='4.8' -PACKAGE_STRING='ethtool 4.8' +PACKAGE_VERSION='4.10' +PACKAGE_STRING='ethtool 4.10' PACKAGE_BUGREPORT='net...@vger.kernel.org' PACKAGE_URL='' @@ -1237,7 +1237,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures ethtool 4.8 to adapt to many kinds of systems. +\`configure' configures ethtool 4.10 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1303,7 +1303,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of ethtool 4.8:";; + short | recursive ) echo "Configuration of ethtool 4.10:";; esac cat <<\_ACEOF @@ -1398,7 +1398,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -ethtool configure 4.8 +ethtool configure 4.10 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1645,7 +1645,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by ethtool $as_me 4.8, which was +It was created by ethtool $as_me 4.10, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2510,7 +2510,7 @@ # Define the identity of the package. PACKAGE='ethtool' - VERSION='4.8' + VERSION='4.10' cat >>confdefs.h <<_ACEOF @@ -4695,7 +4695,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by ethtool $as_me 4.8, which was +This file was extended by ethtool $as_me 4.10, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -4761,7 +4761,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -ethtool config.status 4.8 +ethtool config.status 4.10 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ethtool-4.8/configure.ac new/ethtool-4.10/configure.ac --- old/ethtool-4.8/configure.ac 2016-10-04 16:02:53.000000000 +0200 +++ new/ethtool-4.10/configure.ac 2017-03-24 18:48:14.000000000 +0100 @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT(ethtool, 4.8, net...@vger.kernel.org) +AC_INIT(ethtool, 4.10, net...@vger.kernel.org) AC_PREREQ(2.52) AC_CONFIG_SRCDIR([ethtool.c]) AM_INIT_AUTOMAKE([gnu]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ethtool-4.8/ethtool-copy.h new/ethtool-4.10/ethtool-copy.h --- old/ethtool-4.8/ethtool-copy.h 2016-09-06 22:13:07.000000000 +0200 +++ new/ethtool-4.10/ethtool-copy.h 2016-12-02 21:10:48.000000000 +0100 @@ -117,8 +117,7 @@ static __inline__ void ethtool_cmd_speed_set(struct ethtool_cmd *ep, __u32 speed) { - - ep->speed = (__u16)speed; + ep->speed = (__u16)(speed & 0xFFFF); ep->speed_hi = (__u16)(speed >> 16); } @@ -247,6 +246,19 @@ void *data[0]; }; +#define DOWNSHIFT_DEV_DEFAULT_COUNT 0xff +#define DOWNSHIFT_DEV_DISABLE 0 + +enum phy_tunable_id { + ETHTOOL_PHY_ID_UNSPEC, + ETHTOOL_PHY_DOWNSHIFT, + /* + * Add your fresh new phy tunable attribute above and remember to update + * phy_tunable_strings[] in net/core/ethtool.c + */ + __ETHTOOL_PHY_TUNABLE_COUNT, +}; + /** * struct ethtool_regs - hardware register dump * @cmd: Command number = %ETHTOOL_GREGS @@ -547,6 +559,7 @@ * @ETH_SS_FEATURES: Device feature names * @ETH_SS_RSS_HASH_FUNCS: RSS hush function names * @ETH_SS_PHY_STATS: Statistic names, for use with %ETHTOOL_GPHYSTATS + * @ETH_SS_PHY_TUNABLES: PHY tunable names */ enum ethtool_stringset { ETH_SS_TEST = 0, @@ -557,6 +570,7 @@ ETH_SS_RSS_HASH_FUNCS, ETH_SS_TUNABLES, ETH_SS_PHY_STATS, + ETH_SS_PHY_TUNABLES, }; /** @@ -1312,7 +1326,8 @@ #define ETHTOOL_GLINKSETTINGS 0x0000004c /* Get ethtool_link_settings */ #define ETHTOOL_SLINKSETTINGS 0x0000004d /* Set ethtool_link_settings */ - +#define ETHTOOL_PHY_GTUNABLE 0x0000004e /* Get PHY tunable configuration */ +#define ETHTOOL_PHY_STUNABLE 0x0000004f /* Set PHY tunable configuration */ /* compatibility with older code */ #define SPARC_ETH_GSET ETHTOOL_GSET diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ethtool-4.8/ethtool.8 new/ethtool-4.10/ethtool.8 --- old/ethtool-4.8/ethtool.8 2016-10-04 16:53:06.000000000 +0200 +++ new/ethtool-4.10/ethtool.8 2017-03-24 18:53:19.000000000 +0100 @@ -113,7 +113,7 @@ . hy \\n(HY .. . -.TH ETHTOOL 8 "October 2016" "Ethtool version 4.8" +.TH ETHTOOL 8 "March 2017" "Ethtool version 4.10" .SH NAME ethtool \- query or control network driver and hardware settings . @@ -340,6 +340,18 @@ .B2 tx-lpi on off .BN tx-timer .BN advertise +.HP +.B ethtool \-\-set\-phy\-tunable +.I devname +.RB [ +.B downshift +.A1 on off +.BN count +.RB ] +.HP +.B ethtool \-\-get\-phy\-tunable +.I devname +.RB [ downshift ] . .\" Adjust lines (i.e. full justification) and hyphenate. .ad @@ -947,6 +959,34 @@ Sets the amount of time the device should stay in idle mode prior to asserting its Tx LPI (in microseconds). This has meaning only when Tx LPI is enabled. .RE +.TP +.B \-\-set\-phy\-tunable +Sets the PHY tunable parameters. +.RS 4 +.TP +.A2 downshift on off +Specifies whether downshift should be enabled +.TS +nokeep; +lB l. +.BI count \ N +Sets the PHY downshift re-tries count. +.TE +.PD +.RE +.TP +.B \-\-get\-phy\-tunable +Gets the PHY tunable parameters. +.RS 4 +.TP +.B downshift +For operation in cabling environments that are incompatible with 1000BASE-T, +PHY device provides an automatic link speed downshift operation. +Link speed downshift after N failed 1000BASE-T auto-negotiation attempts. +Downshift is useful where cable does not have the 4 pairs instance. + +Gets the PHY downshift count/status. +.RE .SH BUGS Not supported (in part or whole) on all network drivers. .SH AUTHOR diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ethtool-4.8/ethtool.8.in new/ethtool-4.10/ethtool.8.in --- old/ethtool-4.8/ethtool.8.in 2016-10-04 16:02:53.000000000 +0200 +++ new/ethtool-4.10/ethtool.8.in 2017-03-24 18:49:24.000000000 +0100 @@ -113,7 +113,7 @@ . hy \\n(HY .. . -.TH ETHTOOL 8 "October 2016" "Ethtool version @VERSION@" +.TH ETHTOOL 8 "March 2017" "Ethtool version @VERSION@" .SH NAME ethtool \- query or control network driver and hardware settings . @@ -340,6 +340,18 @@ .B2 tx-lpi on off .BN tx-timer .BN advertise +.HP +.B ethtool \-\-set\-phy\-tunable +.I devname +.RB [ +.B downshift +.A1 on off +.BN count +.RB ] +.HP +.B ethtool \-\-get\-phy\-tunable +.I devname +.RB [ downshift ] . .\" Adjust lines (i.e. full justification) and hyphenate. .ad @@ -947,6 +959,34 @@ Sets the amount of time the device should stay in idle mode prior to asserting its Tx LPI (in microseconds). This has meaning only when Tx LPI is enabled. .RE +.TP +.B \-\-set\-phy\-tunable +Sets the PHY tunable parameters. +.RS 4 +.TP +.A2 downshift on off +Specifies whether downshift should be enabled +.TS +nokeep; +lB l. +.BI count \ N +Sets the PHY downshift re-tries count. +.TE +.PD +.RE +.TP +.B \-\-get\-phy\-tunable +Gets the PHY tunable parameters. +.RS 4 +.TP +.B downshift +For operation in cabling environments that are incompatible with 1000BASE-T, +PHY device provides an automatic link speed downshift operation. +Link speed downshift after N failed 1000BASE-T auto-negotiation attempts. +Downshift is useful where cable does not have the 4 pairs instance. + +Gets the PHY downshift count/status. +.RE .SH BUGS Not supported (in part or whole) on all network drivers. .SH AUTHOR diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ethtool-4.8/ethtool.c new/ethtool-4.10/ethtool.c --- old/ethtool-4.8/ethtool.c 2016-10-04 16:02:53.000000000 +0200 +++ new/ethtool-4.10/ethtool.c 2016-12-02 21:10:48.000000000 +0100 @@ -1136,6 +1136,7 @@ { "et131x", et131x_dump_regs }, { "altera_tse", altera_tse_dump_regs }, { "vmxnet3", vmxnet3_dump_regs }, + { "fjes", fjes_dump_regs }, #endif }; @@ -2971,7 +2972,8 @@ fprintf(stderr, "\n"); } if (autoneg_wanted == AUTONEG_ENABLE && - advertising_wanted == NULL) { + advertising_wanted == NULL && + full_advertising_wanted == NULL) { unsigned int i; /* Auto negotiation enabled, but with @@ -4520,6 +4522,146 @@ return 0; } +static int do_get_phy_tunable(struct cmd_context *ctx) +{ + int argc = ctx->argc; + char **argp = ctx->argp; + int err, i; + u8 downshift_changed = 0; + + if (argc < 1) + exit_bad_args(); + for (i = 0; i < argc; i++) { + if (!strcmp(argp[i], "downshift")) { + downshift_changed = 1; + i += 1; + if (i < argc) + exit_bad_args(); + } else { + exit_bad_args(); + } + } + + if (downshift_changed) { + struct ethtool_tunable ds; + u8 count = 0; + + ds.cmd = ETHTOOL_PHY_GTUNABLE; + ds.id = ETHTOOL_PHY_DOWNSHIFT; + ds.type_id = ETHTOOL_TUNABLE_U8; + ds.len = 1; + ds.data[0] = &count; + err = send_ioctl(ctx, &ds); + if (err < 0) { + perror("Cannot Get PHY downshift count"); + return 87; + } + count = *((u8 *)&ds.data[0]); + if (count) + fprintf(stdout, "Downshift count: %d\n", count); + else + fprintf(stdout, "Downshift disabled\n"); + } + + return err; +} + +static int parse_named_bool(struct cmd_context *ctx, const char *name, u8 *on) +{ + if (ctx->argc < 2) + return 0; + + if (strcmp(*ctx->argp, name)) + return 0; + + if (!strcmp(*(ctx->argp + 1), "on")) { + *on = 1; + } else if (!strcmp(*(ctx->argp + 1), "off")) { + *on = 0; + } else { + fprintf(stderr, "Invalid boolean\n"); + exit_bad_args(); + } + + ctx->argc -= 2; + ctx->argp += 2; + + return 1; +} + +static int parse_named_u8(struct cmd_context *ctx, const char *name, u8 *val) +{ + if (ctx->argc < 2) + return 0; + + if (strcmp(*ctx->argp, name)) + return 0; + + *val = get_uint_range(*(ctx->argp + 1), 0, 0xff); + + ctx->argc -= 2; + ctx->argp += 2; + + return 1; +} + +static int do_set_phy_tunable(struct cmd_context *ctx) +{ + int err = 0; + u8 ds_cnt = DOWNSHIFT_DEV_DEFAULT_COUNT; + u8 ds_changed = 0, ds_has_cnt = 0, ds_enable = 0; + + if (ctx->argc == 0) + exit_bad_args(); + + /* Parse arguments */ + while (ctx->argc) { + if (parse_named_bool(ctx, "downshift", &ds_enable)) { + ds_changed = 1; + ds_has_cnt = parse_named_u8(ctx, "count", &ds_cnt); + } else { + exit_bad_args(); + } + } + + /* Validate parameters */ + if (ds_changed) { + if (!ds_enable && ds_has_cnt) { + fprintf(stderr, "'count' may not be set when downshift " + "is off.\n"); + exit_bad_args(); + } + + if (ds_enable && ds_has_cnt && ds_cnt == 0) { + fprintf(stderr, "'count' may not be zero.\n"); + exit_bad_args(); + } + + if (!ds_enable) + ds_cnt = DOWNSHIFT_DEV_DISABLE; + } + + /* Do it */ + if (ds_changed) { + struct ethtool_tunable ds; + u8 count; + + ds.cmd = ETHTOOL_PHY_STUNABLE; + ds.id = ETHTOOL_PHY_DOWNSHIFT; + ds.type_id = ETHTOOL_TUNABLE_U8; + ds.len = 1; + ds.data[0] = &count; + *((u8 *)&ds.data[0]) = ds_cnt; + err = send_ioctl(ctx, &ds); + if (err < 0) { + perror("Cannot Set PHY downshift count"); + err = 87; + } + } + + return err; +} + #ifndef TEST_ETHTOOL int send_ioctl(struct cmd_context *ctx, void *cmd) { @@ -4681,6 +4823,10 @@ " [ advertise %x ]\n" " [ tx-lpi on|off ]\n" " [ tx-timer %d ]\n"}, + { "--set-phy-tunable", 1, do_set_phy_tunable, "Set PHY tunable", + " [ downshift on|off [count N] ]\n"}, + { "--get-phy-tunable", 1, do_get_phy_tunable, "Get PHY tunable", + " [ downshift ]\n"}, { "-h|--help", 0, show_usage, "Show this help" }, { "--version", 0, do_version, "Show version number" }, {} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ethtool-4.8/ethtool.spec new/ethtool-4.10/ethtool.spec --- old/ethtool-4.8/ethtool.spec 2016-10-04 16:53:07.000000000 +0200 +++ new/ethtool-4.10/ethtool.spec 2017-03-24 18:53:19.000000000 +0100 @@ -1,5 +1,5 @@ Name : ethtool -Version : 4.8 +Version : 4.10 Release : 1 Group : Utilities diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ethtool-4.8/fjes.c new/ethtool-4.10/fjes.c --- old/ethtool-4.8/fjes.c 1970-01-01 01:00:00.000000000 +0100 +++ new/ethtool-4.10/fjes.c 2016-11-23 15:52:43.000000000 +0100 @@ -0,0 +1,89 @@ +/* Copyright (c) 2016 FUJITSU LIMITED */ +#include <stdio.h> +#include "internal.h" + +int fjes_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs) +{ + u32 *regs_buff = (u32 *)regs->data; + + if (regs->version != 1) + return -1; + + /* Information registers */ + fprintf(stdout, + "0x0000: OWNER_EPID (Owner EPID) 0x%08X\n", + regs_buff[0]); + + fprintf(stdout, + "0x0004: MAX_EP (Maximum EP) 0x%08X\n", + regs_buff[1]); + + /* Device Control registers */ + fprintf(stdout, + "0x0010: DCTL (Device Control) 0x%08X\n", + regs_buff[4]); + + /* Command Control registers */ + fprintf(stdout, + "0x0020: CR (Command request) 0x%08X\n", + regs_buff[8]); + + fprintf(stdout, + "0x0024: CS (Command status) 0x%08X\n", + regs_buff[9]); + + fprintf(stdout, + "0x0028: SHSTSAL (Share status address Low) 0x%08X\n", + regs_buff[10]); + + fprintf(stdout, + "0x002C: SHSTSAH (Share status address High) 0x%08X\n", + regs_buff[11]); + + fprintf(stdout, + "0x0034: REQBL (Request Buffer length) 0x%08X\n", + regs_buff[13]); + + fprintf(stdout, + "0x0038: REQBAL (Request Buffer Address Low) 0x%08X\n", + regs_buff[14]); + + fprintf(stdout, + "0x003C: REQBAH (Request Buffer Address High) 0x%08X\n", + regs_buff[15]); + + fprintf(stdout, + "0x0044: RESPBL (Response Buffer Length) 0x%08X\n", + regs_buff[17]); + + fprintf(stdout, + "0x0048: RESPBAL (Response Buffer Address Low) 0x%08X\n", + regs_buff[18]); + + fprintf(stdout, + "0x004C: RESPBAH (Response Buffer Address High) 0x%08X\n", + regs_buff[19]); + + /* Interrupt Control registers */ + fprintf(stdout, + "0x0080: IS (Interrupt status) 0x%08X\n", + regs_buff[32]); + + fprintf(stdout, + "0x0084: IMS (Interrupt mask set) 0x%08X\n", + regs_buff[33]); + + fprintf(stdout, + "0x0088: IMC (Interrupt mask clear) 0x%08X\n", + regs_buff[34]); + + fprintf(stdout, + "0x008C: IG (Interrupt generator) 0x%08X\n", + regs_buff[35]); + + fprintf(stdout, + "0x0090: ICTL (Interrupt control) 0x%08X\n", + regs_buff[36]); + + return 0; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ethtool-4.8/internal.h new/ethtool-4.10/internal.h --- old/ethtool-4.8/internal.h 2016-08-24 21:47:26.000000000 +0200 +++ new/ethtool-4.10/internal.h 2016-11-23 15:52:43.000000000 +0100 @@ -348,4 +348,6 @@ /* QSFP Optics diagnostics */ void sff8636_show_all(const __u8 *id, __u32 eeprom_len); +/* FUJITSU Extended Socket network device */ +int fjes_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs); #endif /* ETHTOOL_INTERNAL_H__ */