Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ethtool for openSUSE:Factory checked 
in at 2022-08-30 14:48:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ethtool (Old)
 and      /work/SRC/openSUSE:Factory/.ethtool.new.2083 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ethtool"

Tue Aug 30 14:48:09 2022 rev:74 rq:999729 version:5.19

Changes:
--------
--- /work/SRC/openSUSE:Factory/ethtool/ethtool.changes  2022-06-23 
10:22:14.447607666 +0200
+++ /work/SRC/openSUSE:Factory/.ethtool.new.2083/ethtool.changes        
2022-08-30 14:48:09.607915747 +0200
@@ -1,0 +2,10 @@
+Sun Aug 21 23:31:47 UTC 2022 - Michal Kube??ek <mkube...@suse.cz>
+
+- update to upstream release 5.19
+  * Feature: get/set tx push (-g and -G)
+  * Feature: register dump support for TI CPSW
+  * Feature: register dump support for lan743x chipset
+  * Fix: fix missing sff-8472 output in netlink path
+  * Fix: fix EEPROM byte write
+
+-------------------------------------------------------------------

Old:
----
  ethtool-5.18.tar.sign
  ethtool-5.18.tar.xz

New:
----
  ethtool-5.19.tar.sign
  ethtool-5.19.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ethtool.spec ++++++
--- /var/tmp/diff_new_pack.OwE4Uf/_old  2022-08-30 14:48:10.203917401 +0200
+++ /var/tmp/diff_new_pack.OwE4Uf/_new  2022-08-30 14:48:10.207917412 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           ethtool
-Version:        5.18
+Version:        5.19
 Release:        0
 Summary:        Utility for examining and tuning Ethernet-based network 
interfaces
 License:        GPL-2.0-only

++++++ ethtool-5.18.tar.xz -> ethtool-5.19.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-5.18/Makefile.am new/ethtool-5.19/Makefile.am
--- old/ethtool-5.18/Makefile.am        2022-01-19 00:46:20.000000000 +0100
+++ new/ethtool-5.19/Makefile.am        2022-08-06 23:53:42.000000000 +0200
@@ -18,7 +18,7 @@
                  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 fjes.c lan78xx.c \
-                 igc.c cmis.c cmis.h bnxt.c
+                 igc.c cmis.c cmis.h bnxt.c cpsw.c lan743x.c
 endif
 
 if ENABLE_BASH_COMPLETION
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-5.18/Makefile.in new/ethtool-5.19/Makefile.in
--- old/ethtool-5.18/Makefile.in        2022-06-14 00:56:19.000000000 +0200
+++ new/ethtool-5.19/Makefile.in        2022-08-22 01:21:44.000000000 +0200
@@ -95,7 +95,7 @@
 @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 fjes.c lan78xx.c \
-@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@                igc.c cmis.c cmis.h bnxt.c
+@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@                igc.c cmis.c cmis.h bnxt.c 
cpsw.c lan743x.c
 
 @ETHTOOL_ENABLE_NETLINK_TRUE@am__append_2 = \
 @ETHTOOL_ENABLE_NETLINK_TRUE@            netlink/netlink.c netlink/netlink.h 
netlink/extapi.h \
@@ -147,16 +147,17 @@
        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 fjes.c lan78xx.c igc.c \
-       cmis.c cmis.h bnxt.c netlink/netlink.c netlink/netlink.h \
-       netlink/extapi.h netlink/msgbuff.c netlink/msgbuff.h \
-       netlink/nlsock.c netlink/nlsock.h netlink/strset.c \
-       netlink/strset.h netlink/monitor.c netlink/bitset.c \
-       netlink/bitset.h netlink/settings.c netlink/parser.c \
-       netlink/parser.h netlink/permaddr.c netlink/prettymsg.c \
-       netlink/prettymsg.h netlink/features.c netlink/privflags.c \
-       netlink/rings.c netlink/channels.c netlink/coalesce.c \
-       netlink/pause.c netlink/eee.c netlink/tsinfo.c netlink/fec.c \
-       netlink/stats.c netlink/desc-ethtool.c netlink/desc-genlctrl.c \
+       cmis.c cmis.h bnxt.c cpsw.c lan743x.c netlink/netlink.c \
+       netlink/netlink.h netlink/extapi.h netlink/msgbuff.c \
+       netlink/msgbuff.h netlink/nlsock.c netlink/nlsock.h \
+       netlink/strset.c netlink/strset.h netlink/monitor.c \
+       netlink/bitset.c netlink/bitset.h netlink/settings.c \
+       netlink/parser.c netlink/parser.h netlink/permaddr.c \
+       netlink/prettymsg.c netlink/prettymsg.h netlink/features.c \
+       netlink/privflags.c netlink/rings.c netlink/channels.c \
+       netlink/coalesce.c netlink/pause.c netlink/eee.c \
+       netlink/tsinfo.c netlink/fec.c netlink/stats.c \
+       netlink/desc-ethtool.c netlink/desc-genlctrl.c \
        netlink/module-eeprom.c netlink/module.c netlink/desc-rtnl.c \
        netlink/cable_test.c netlink/tunnels.c \
        uapi/linux/ethtool_netlink.h uapi/linux/netlink.h \
@@ -191,7 +192,8 @@
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      qsfp.$(OBJEXT) fjes.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      lan78xx.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      igc.$(OBJEXT) cmis.$(OBJEXT) \
-@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      bnxt.$(OBJEXT)
+@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      bnxt.$(OBJEXT) cpsw.$(OBJEXT) \
+@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      lan743x.$(OBJEXT)
 am__dirstamp = $(am__leading_dot)dirstamp
 @ETHTOOL_ENABLE_NETLINK_TRUE@am__objects_2 =  \
 @ETHTOOL_ENABLE_NETLINK_TRUE@  netlink/netlink.$(OBJEXT) \
@@ -237,16 +239,16 @@
        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 fjes.c lan78xx.c igc.c cmis.c cmis.h bnxt.c \
-       netlink/netlink.c netlink/netlink.h netlink/extapi.h \
-       netlink/msgbuff.c netlink/msgbuff.h netlink/nlsock.c \
-       netlink/nlsock.h netlink/strset.c netlink/strset.h \
-       netlink/monitor.c netlink/bitset.c netlink/bitset.h \
-       netlink/settings.c netlink/parser.c netlink/parser.h \
-       netlink/permaddr.c netlink/prettymsg.c netlink/prettymsg.h \
-       netlink/features.c netlink/privflags.c netlink/rings.c \
-       netlink/channels.c netlink/coalesce.c netlink/pause.c \
-       netlink/eee.c netlink/tsinfo.c netlink/fec.c netlink/stats.c \
-       netlink/desc-ethtool.c netlink/desc-genlctrl.c \
+       cpsw.c lan743x.c netlink/netlink.c netlink/netlink.h \
+       netlink/extapi.h netlink/msgbuff.c netlink/msgbuff.h \
+       netlink/nlsock.c netlink/nlsock.h netlink/strset.c \
+       netlink/strset.h netlink/monitor.c netlink/bitset.c \
+       netlink/bitset.h netlink/settings.c netlink/parser.c \
+       netlink/parser.h netlink/permaddr.c netlink/prettymsg.c \
+       netlink/prettymsg.h netlink/features.c netlink/privflags.c \
+       netlink/rings.c netlink/channels.c netlink/coalesce.c \
+       netlink/pause.c netlink/eee.c netlink/tsinfo.c netlink/fec.c \
+       netlink/stats.c netlink/desc-ethtool.c netlink/desc-genlctrl.c \
        netlink/module-eeprom.c netlink/module.c netlink/desc-rtnl.c \
        netlink/cable_test.c netlink/tunnels.c \
        uapi/linux/ethtool_netlink.h uapi/linux/netlink.h \
@@ -285,7 +287,9 @@
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_cmdline-lan78xx.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_cmdline-igc.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_cmdline-cmis.$(OBJEXT) \
-@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_cmdline-bnxt.$(OBJEXT)
+@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_cmdline-bnxt.$(OBJEXT) \
+@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_cmdline-cpsw.$(OBJEXT) \
+@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_cmdline-lan743x.$(OBJEXT)
 @ETHTOOL_ENABLE_NETLINK_TRUE@am__objects_4 = 
netlink/test_cmdline-netlink.$(OBJEXT) \
 @ETHTOOL_ENABLE_NETLINK_TRUE@  netlink/test_cmdline-msgbuff.$(OBJEXT) \
 @ETHTOOL_ENABLE_NETLINK_TRUE@  netlink/test_cmdline-nlsock.$(OBJEXT) \
@@ -334,16 +338,17 @@
        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 fjes.c lan78xx.c igc.c \
-       cmis.c cmis.h bnxt.c netlink/netlink.c netlink/netlink.h \
-       netlink/extapi.h netlink/msgbuff.c netlink/msgbuff.h \
-       netlink/nlsock.c netlink/nlsock.h netlink/strset.c \
-       netlink/strset.h netlink/monitor.c netlink/bitset.c \
-       netlink/bitset.h netlink/settings.c netlink/parser.c \
-       netlink/parser.h netlink/permaddr.c netlink/prettymsg.c \
-       netlink/prettymsg.h netlink/features.c netlink/privflags.c \
-       netlink/rings.c netlink/channels.c netlink/coalesce.c \
-       netlink/pause.c netlink/eee.c netlink/tsinfo.c netlink/fec.c \
-       netlink/stats.c netlink/desc-ethtool.c netlink/desc-genlctrl.c \
+       cmis.c cmis.h bnxt.c cpsw.c lan743x.c netlink/netlink.c \
+       netlink/netlink.h netlink/extapi.h netlink/msgbuff.c \
+       netlink/msgbuff.h netlink/nlsock.c netlink/nlsock.h \
+       netlink/strset.c netlink/strset.h netlink/monitor.c \
+       netlink/bitset.c netlink/bitset.h netlink/settings.c \
+       netlink/parser.c netlink/parser.h netlink/permaddr.c \
+       netlink/prettymsg.c netlink/prettymsg.h netlink/features.c \
+       netlink/privflags.c netlink/rings.c netlink/channels.c \
+       netlink/coalesce.c netlink/pause.c netlink/eee.c \
+       netlink/tsinfo.c netlink/fec.c netlink/stats.c \
+       netlink/desc-ethtool.c netlink/desc-genlctrl.c \
        netlink/module-eeprom.c netlink/module.c netlink/desc-rtnl.c \
        netlink/cable_test.c netlink/tunnels.c \
        uapi/linux/ethtool_netlink.h uapi/linux/netlink.h \
@@ -382,7 +387,9 @@
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_features-lan78xx.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_features-igc.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_features-cmis.$(OBJEXT) \
-@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_features-bnxt.$(OBJEXT)
+@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_features-bnxt.$(OBJEXT) \
+@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_features-cpsw.$(OBJEXT) \
+@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_features-lan743x.$(OBJEXT)
 @ETHTOOL_ENABLE_NETLINK_TRUE@am__objects_7 = 
netlink/test_features-netlink.$(OBJEXT) \
 @ETHTOOL_ENABLE_NETLINK_TRUE@  netlink/test_features-msgbuff.$(OBJEXT) \
 @ETHTOOL_ENABLE_NETLINK_TRUE@  netlink/test_features-nlsock.$(OBJEXT) \
@@ -1120,6 +1127,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bnxt.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cmis.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/common.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cpsw.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/de2104x.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dsa.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/e100.Po@am__quote@
@@ -1137,6 +1145,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ixgbevf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/json_print.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/json_writer.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lan743x.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lan78xx.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/marvell.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/natsemi.Po@am__quote@
@@ -1155,6 +1164,7 @@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_cmdline-bnxt.Po@am__quote@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_cmdline-cmis.Po@am__quote@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_cmdline-common.Po@am__quote@
+@AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_cmdline-cpsw.Po@am__quote@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_cmdline-de2104x.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_cmdline-dsa.Po@am__quote@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_cmdline-e100.Po@am__quote@
@@ -1172,6 +1182,7 @@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_cmdline-ixgbevf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_cmdline-json_print.Po@am__quote@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_cmdline-json_writer.Po@am__quote@
+@AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_cmdline-lan743x.Po@am__quote@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_cmdline-lan78xx.Po@am__quote@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_cmdline-marvell.Po@am__quote@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_cmdline-natsemi.Po@am__quote@
@@ -1196,6 +1207,7 @@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_features-bnxt.Po@am__quote@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_features-cmis.Po@am__quote@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_features-common.Po@am__quote@
+@AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_features-cpsw.Po@am__quote@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_features-de2104x.Po@am__quote@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_features-dsa.Po@am__quote@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_features-e100.Po@am__quote@
@@ -1213,6 +1225,7 @@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_features-ixgbevf.Po@am__quote@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_features-json_print.Po@am__quote@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_features-json_writer.Po@am__quote@
+@AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_features-lan743x.Po@am__quote@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_features-lan78xx.Po@am__quote@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_features-marvell.Po@am__quote@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_features-natsemi.Po@am__quote@
@@ -1908,6 +1921,34 @@
 @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-bnxt.obj `if test -f 'bnxt.c'; then $(CYGPATH_W) 'bnxt.c'; else 
$(CYGPATH_W) '$(srcdir)/bnxt.c'; fi`
 
+test_cmdline-cpsw.o: cpsw.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) 
$(AM_CPPFLAGS) $(CPPFLAGS) $(test_cmdline_CFLAGS) $(CFLAGS) -MT 
test_cmdline-cpsw.o -MD -MP -MF $(DEPDIR)/test_cmdline-cpsw.Tpo -c -o 
test_cmdline-cpsw.o `test -f 'cpsw.c' || echo '$(srcdir)/'`cpsw.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/test_cmdline-cpsw.Tpo 
$(DEPDIR)/test_cmdline-cpsw.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='cpsw.c' 
object='test_cmdline-cpsw.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-cpsw.o `test -f 'cpsw.c' || echo '$(srcdir)/'`cpsw.c
+
+test_cmdline-cpsw.obj: cpsw.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) 
$(AM_CPPFLAGS) $(CPPFLAGS) $(test_cmdline_CFLAGS) $(CFLAGS) -MT 
test_cmdline-cpsw.obj -MD -MP -MF $(DEPDIR)/test_cmdline-cpsw.Tpo -c -o 
test_cmdline-cpsw.obj `if test -f 'cpsw.c'; then $(CYGPATH_W) 'cpsw.c'; else 
$(CYGPATH_W) '$(srcdir)/cpsw.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/test_cmdline-cpsw.Tpo 
$(DEPDIR)/test_cmdline-cpsw.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='cpsw.c' 
object='test_cmdline-cpsw.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-cpsw.obj `if test -f 'cpsw.c'; then $(CYGPATH_W) 'cpsw.c'; else 
$(CYGPATH_W) '$(srcdir)/cpsw.c'; fi`
+
+test_cmdline-lan743x.o: lan743x.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) 
$(AM_CPPFLAGS) $(CPPFLAGS) $(test_cmdline_CFLAGS) $(CFLAGS) -MT 
test_cmdline-lan743x.o -MD -MP -MF $(DEPDIR)/test_cmdline-lan743x.Tpo -c -o 
test_cmdline-lan743x.o `test -f 'lan743x.c' || echo '$(srcdir)/'`lan743x.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/test_cmdline-lan743x.Tpo 
$(DEPDIR)/test_cmdline-lan743x.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='lan743x.c' 
object='test_cmdline-lan743x.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-lan743x.o `test -f 'lan743x.c' || echo '$(srcdir)/'`lan743x.c
+
+test_cmdline-lan743x.obj: lan743x.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) 
$(AM_CPPFLAGS) $(CPPFLAGS) $(test_cmdline_CFLAGS) $(CFLAGS) -MT 
test_cmdline-lan743x.obj -MD -MP -MF $(DEPDIR)/test_cmdline-lan743x.Tpo -c -o 
test_cmdline-lan743x.obj `if test -f 'lan743x.c'; then $(CYGPATH_W) 
'lan743x.c'; else $(CYGPATH_W) '$(srcdir)/lan743x.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/test_cmdline-lan743x.Tpo 
$(DEPDIR)/test_cmdline-lan743x.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='lan743x.c' 
object='test_cmdline-lan743x.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-lan743x.obj `if test -f 'lan743x.c'; then $(CYGPATH_W) 
'lan743x.c'; else $(CYGPATH_W) '$(srcdir)/lan743x.c'; fi`
+
 netlink/test_cmdline-netlink.o: netlink/netlink.c
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) 
$(AM_CPPFLAGS) $(CPPFLAGS) $(test_cmdline_CFLAGS) $(CFLAGS) -MT 
netlink/test_cmdline-netlink.o -MD -MP -MF 
netlink/$(DEPDIR)/test_cmdline-netlink.Tpo -c -o netlink/test_cmdline-netlink.o 
`test -f 'netlink/netlink.c' || echo '$(srcdir)/'`netlink/netlink.c
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) 
netlink/$(DEPDIR)/test_cmdline-netlink.Tpo 
netlink/$(DEPDIR)/test_cmdline-netlink.Po
@@ -2860,6 +2901,34 @@
 @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-bnxt.obj `if test -f 'bnxt.c'; then $(CYGPATH_W) 'bnxt.c'; else 
$(CYGPATH_W) '$(srcdir)/bnxt.c'; fi`
 
+test_features-cpsw.o: cpsw.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) 
$(AM_CPPFLAGS) $(CPPFLAGS) $(test_features_CFLAGS) $(CFLAGS) -MT 
test_features-cpsw.o -MD -MP -MF $(DEPDIR)/test_features-cpsw.Tpo -c -o 
test_features-cpsw.o `test -f 'cpsw.c' || echo '$(srcdir)/'`cpsw.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/test_features-cpsw.Tpo 
$(DEPDIR)/test_features-cpsw.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='cpsw.c' 
object='test_features-cpsw.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-cpsw.o `test -f 'cpsw.c' || echo '$(srcdir)/'`cpsw.c
+
+test_features-cpsw.obj: cpsw.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) 
$(AM_CPPFLAGS) $(CPPFLAGS) $(test_features_CFLAGS) $(CFLAGS) -MT 
test_features-cpsw.obj -MD -MP -MF $(DEPDIR)/test_features-cpsw.Tpo -c -o 
test_features-cpsw.obj `if test -f 'cpsw.c'; then $(CYGPATH_W) 'cpsw.c'; else 
$(CYGPATH_W) '$(srcdir)/cpsw.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/test_features-cpsw.Tpo 
$(DEPDIR)/test_features-cpsw.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='cpsw.c' 
object='test_features-cpsw.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-cpsw.obj `if test -f 'cpsw.c'; then $(CYGPATH_W) 'cpsw.c'; else 
$(CYGPATH_W) '$(srcdir)/cpsw.c'; fi`
+
+test_features-lan743x.o: lan743x.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) 
$(AM_CPPFLAGS) $(CPPFLAGS) $(test_features_CFLAGS) $(CFLAGS) -MT 
test_features-lan743x.o -MD -MP -MF $(DEPDIR)/test_features-lan743x.Tpo -c -o 
test_features-lan743x.o `test -f 'lan743x.c' || echo '$(srcdir)/'`lan743x.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/test_features-lan743x.Tpo 
$(DEPDIR)/test_features-lan743x.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='lan743x.c' 
object='test_features-lan743x.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-lan743x.o `test -f 'lan743x.c' || echo '$(srcdir)/'`lan743x.c
+
+test_features-lan743x.obj: lan743x.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) 
$(AM_CPPFLAGS) $(CPPFLAGS) $(test_features_CFLAGS) $(CFLAGS) -MT 
test_features-lan743x.obj -MD -MP -MF $(DEPDIR)/test_features-lan743x.Tpo -c -o 
test_features-lan743x.obj `if test -f 'lan743x.c'; then $(CYGPATH_W) 
'lan743x.c'; else $(CYGPATH_W) '$(srcdir)/lan743x.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/test_features-lan743x.Tpo 
$(DEPDIR)/test_features-lan743x.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='lan743x.c' 
object='test_features-lan743x.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-lan743x.obj `if test -f 'lan743x.c'; then $(CYGPATH_W) 
'lan743x.c'; else $(CYGPATH_W) '$(srcdir)/lan743x.c'; fi`
+
 netlink/test_features-netlink.o: netlink/netlink.c
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) 
$(AM_CPPFLAGS) $(CPPFLAGS) $(test_features_CFLAGS) $(CFLAGS) -MT 
netlink/test_features-netlink.o -MD -MP -MF 
netlink/$(DEPDIR)/test_features-netlink.Tpo -c -o 
netlink/test_features-netlink.o `test -f 'netlink/netlink.c' || echo 
'$(srcdir)/'`netlink/netlink.c
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) 
netlink/$(DEPDIR)/test_features-netlink.Tpo 
netlink/$(DEPDIR)/test_features-netlink.Po
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-5.18/NEWS new/ethtool-5.19/NEWS
--- old/ethtool-5.18/NEWS       2022-06-14 00:54:43.000000000 +0200
+++ new/ethtool-5.19/NEWS       2022-08-22 01:17:50.000000000 +0200
@@ -1,3 +1,10 @@
+Version 5.19 - August 22, 2022
+       * Feature: get/set tx push (-g and -G)
+       * Feature: register dump support for TI CPSW
+       * Feature: register dump support for lan743x chipset
+       * Fix: fix missing sff-8472 output in netlink path
+       * Fix: fix EEPROM byte write
+
 Version 5.18 - June 14, 2022
        * Feature: get/set cqe size (-g and -G)
        * Fix: fix typo in man page
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-5.18/configure new/ethtool-5.19/configure
--- old/ethtool-5.18/configure  2022-06-14 00:56:18.000000000 +0200
+++ new/ethtool-5.19/configure  2022-08-22 01:21:43.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for ethtool 5.18.
+# Generated by GNU Autoconf 2.69 for ethtool 5.19.
 #
 # Report bugs to <net...@vger.kernel.org>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='ethtool'
 PACKAGE_TARNAME='ethtool'
-PACKAGE_VERSION='5.18'
-PACKAGE_STRING='ethtool 5.18'
+PACKAGE_VERSION='5.19'
+PACKAGE_STRING='ethtool 5.19'
 PACKAGE_BUGREPORT='net...@vger.kernel.org'
 PACKAGE_URL=''
 
@@ -1254,7 +1254,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 5.18 to adapt to many kinds of systems.
+\`configure' configures ethtool 5.19 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1320,7 +1320,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of ethtool 5.18:";;
+     short | recursive ) echo "Configuration of ethtool 5.19:";;
    esac
   cat <<\_ACEOF
 
@@ -1430,7 +1430,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-ethtool configure 5.18
+ethtool configure 5.19
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1677,7 +1677,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 5.18, which was
+It was created by ethtool $as_me 5.19, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2542,7 +2542,7 @@
 
 # Define the identity of the package.
  PACKAGE='ethtool'
- VERSION='5.18'
+ VERSION='5.19'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -5122,7 +5122,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 5.18, which was
+This file was extended by ethtool $as_me 5.19, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -5188,7 +5188,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 5.18
+ethtool config.status 5.19
 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-5.18/configure.ac 
new/ethtool-5.19/configure.ac
--- old/ethtool-5.18/configure.ac       2022-06-14 00:51:11.000000000 +0200
+++ new/ethtool-5.19/configure.ac       2022-08-22 01:13:49.000000000 +0200
@@ -1,5 +1,5 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_INIT(ethtool, 5.18, net...@vger.kernel.org)
+AC_INIT(ethtool, 5.19, net...@vger.kernel.org)
 AC_PREREQ(2.52)
 AC_CONFIG_SRCDIR([ethtool.c])
 AM_INIT_AUTOMAKE([gnu subdir-objects])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-5.18/cpsw.c new/ethtool-5.19/cpsw.c
--- old/ethtool-5.18/cpsw.c     1970-01-01 01:00:00.000000000 +0100
+++ new/ethtool-5.19/cpsw.c     2022-08-06 23:53:42.000000000 +0200
@@ -0,0 +1,193 @@
+// SPDX-License-Identifier: GPL-2.0
+/* Code to dump registers for TI CPSW switch devices.
+ *
+ * Copyright (c) 2022 Linutronix GmbH
+ * Author: Benedikt Spranger <b.spran...@linutronix.de>
+ */
+
+#include <stdio.h>
+#include <string.h>
+
+#include "internal.h"
+
+#define ALE_ENTRY_BITS         68
+#define ALE_ENTRY_WORDS DIV_ROUND_UP(ALE_ENTRY_BITS, 32)
+#define ALE_ENTRY_BYTES (ALE_ENTRY_WORDS * 4)
+
+struct address_table_entry
+{
+       u8 port;
+       u8 reserved1;
+       u8 reserved2;
+       u8 reserved3;
+       u8 addr2;
+       u8 addr1;
+       u16 vlan;
+       u8 addr6;
+       u8 addr5;
+       u8 addr4;
+       u8 addr3;
+} __attribute__((packed));
+
+struct vlan_table_entry
+{
+       u8 reserved1;
+       u8 reserved2;
+       u8 reserved3;
+       u8 reserved4;
+       u8 reserved5;
+       u8 reserved6;
+       u16 vlan;
+       u8 member;
+       u8 mc_unreg;
+       u8 mc_reg;
+       u8 untag;
+} __attribute__((packed));
+
+union ale_entry {
+       struct address_table_entry addr;
+       struct vlan_table_entry vlan;
+       u32 val[3];
+       u8 byte[12];
+};
+
+enum entry_type {
+       FREE_ENTRY = 0,
+       ADDR_ENTRY,
+       VLAN_ENTRY,
+       VLAN_ADDR_ENTRY,
+       LAST_ENTRY
+};
+
+static char *fwd_state_name[] = {
+       "Forwarding",
+       "Blocking/Forwarding/Learning",
+       "Forwarding/Learning",
+       "Forwarding",
+};
+
+static char *type_name[] = {
+       "free entry",
+       "address entry",
+       "VLAN entry",
+       "VLAN address entry",
+       "invalid"
+};
+
+enum entry_type decode_type(union ale_entry *entry)
+{
+       /* Entry Type (61:60) */
+       return (entry->byte[7] >> 4) & 0x3;
+}
+
+static void print_addr(u8 *data)
+{
+       printf("%02x:%02x:%02x:%02x:%02x:%02x",
+              data[5], data[4], data[11], data[10], data[9], data[8]);
+}
+
+static void decode_multi_addr(union ale_entry *entry, int vlan)
+{
+       printf("      MULTI: ");
+       print_addr(entry->byte);
+       printf(" %s", fwd_state_name[entry->addr.vlan >> 14]);
+       printf("%s", (entry->addr.port & 0x02) ? " Super" : "");
+       printf(" Ports: 0x%x", (entry->addr.port >> 2) & 0x3);
+       if (vlan)
+               printf(" VLAN: %04d", entry->addr.vlan & 0x0fff);
+       printf("\n");
+}
+
+static void decode_uni_addr(union ale_entry *entry, int vlan)
+{
+       printf("      UNI  : ");
+       print_addr(entry->byte);
+       printf("%s", (entry->addr.port & 0x01) ? " Secure" : "");
+       printf("%s", (entry->addr.port & 0x02) ? " Block" : "");
+       printf("%s", (entry->addr.port & 0x20) ? " DLR" : "");
+       printf(" Ports: 0x%x", (entry->addr.port >> 2) & 0x3);
+       if (vlan)
+               printf(" VLAN: %04d", entry->addr.vlan & 0x0fff);
+       printf("\n");
+}
+
+static void decode_oui_addr(union ale_entry *entry)
+{
+       printf("      OUI  : ");
+       print_addr(entry->byte);
+       printf("\n");
+}
+
+static void decode_vlan(union ale_entry *entry)
+{
+       printf("      VLAN ");
+       printf("%04d: ", entry->vlan.vlan & 0x0fff);
+       printf("member: 0x%x ", entry->vlan.member & 0x7);
+       printf("mc flood unreg: 0x%x ", entry->vlan.mc_unreg & 0x7);
+       printf("mc flood reg: 0x%x ", entry->vlan.mc_reg & 0x7);
+       printf("untag: 0x%x\n", entry->vlan.untag & 0x7);
+}
+
+static enum entry_type decode_ale_entry(unsigned int idx, const u8 *data,
+                                       bool last_was_free)
+{
+       union ale_entry *entry = (union ale_entry *) data;
+       enum entry_type type;
+
+       entry = entry + idx;
+       type = decode_type(entry);
+
+       if (!last_was_free || type != FREE_ENTRY)
+               printf("%04d: %s\n", idx, type_name[type]);
+
+       switch (type)
+       {
+       case FREE_ENTRY:
+               goto out;
+               break;
+
+       case ADDR_ENTRY:
+               /* Multicast: OUI 01:00:5e:xx:xx:xx */
+               if (entry->addr.addr1 == 0x01)
+                       decode_multi_addr(entry, 0);
+               else
+                       if ((entry->addr.vlan >> 14) == 0x2)
+                               decode_oui_addr(entry);
+                       else
+                               decode_uni_addr(entry, 0);
+               break;
+
+       case VLAN_ENTRY:
+               decode_vlan(entry);
+               break;
+
+       case VLAN_ADDR_ENTRY:
+               /* Check for Individual/Group bit */
+               if (entry->addr.addr1 & 0x01)
+                       decode_multi_addr(entry, 1);
+               else
+                       decode_uni_addr(entry, 1);
+               break;
+
+       default:
+               printf("internal failure.\n");
+       }
+
+out:
+       return type;
+}
+
+int cpsw_dump_regs(struct ethtool_drvinfo *info __maybe_unused,
+                  struct ethtool_regs *regs)
+{
+       unsigned int entries = regs->len/ALE_ENTRY_BYTES;
+       enum entry_type type = LAST_ENTRY;
+       unsigned int i;
+
+       printf("ALE Entries (%d):\n", entries);
+
+       for (i = 0; i < entries; i++)
+               type = decode_ale_entry(i, regs->data, (type == FREE_ENTRY));
+
+       return 0;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-5.18/ethtool.8 new/ethtool-5.19/ethtool.8
--- old/ethtool-5.18/ethtool.8  2022-06-14 00:56:20.000000000 +0200
+++ new/ethtool-5.19/ethtool.8  2022-08-22 01:21:45.000000000 +0200
@@ -117,7 +117,7 @@
 .  hy \\n(HY
 ..
 .
-.TH ETHTOOL 8 "June 2022" "Ethtool version 5.18"
+.TH ETHTOOL 8 "August 2022" "Ethtool version 5.19"
 .SH NAME
 ethtool \- query or control network driver and hardware settings
 .
@@ -200,6 +200,7 @@
 .BN tx
 .BN rx\-buf\-len
 .BN cqe\-size
+.BN tx\-push
 .HP
 .B ethtool \-i|\-\-driver
 .I devname
@@ -577,6 +578,9 @@
 .TP
 .BI cqe\-size \ N
 Changes the size of completion queue event.
+.TP
+.BI tx\-push \ on|off
+Specifies whether TX push should be enabled.
 .RE
 .TP
 .B \-i \-\-driver
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-5.18/ethtool.8.in 
new/ethtool-5.19/ethtool.8.in
--- old/ethtool-5.18/ethtool.8.in       2022-06-14 00:51:01.000000000 +0200
+++ new/ethtool-5.19/ethtool.8.in       2022-08-22 01:14:06.000000000 +0200
@@ -117,7 +117,7 @@
 .  hy \\n(HY
 ..
 .
-.TH ETHTOOL 8 "June 2022" "Ethtool version @VERSION@"
+.TH ETHTOOL 8 "August 2022" "Ethtool version @VERSION@"
 .SH NAME
 ethtool \- query or control network driver and hardware settings
 .
@@ -200,6 +200,7 @@
 .BN tx
 .BN rx\-buf\-len
 .BN cqe\-size
+.BN tx\-push
 .HP
 .B ethtool \-i|\-\-driver
 .I devname
@@ -577,6 +578,9 @@
 .TP
 .BI cqe\-size \ N
 Changes the size of completion queue event.
+.TP
+.BI tx\-push \ on|off
+Specifies whether TX push should be enabled.
 .RE
 .TP
 .B \-i \-\-driver
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-5.18/ethtool.c new/ethtool-5.19/ethtool.c
--- old/ethtool-5.18/ethtool.c  2022-06-14 00:49:00.000000000 +0200
+++ new/ethtool-5.19/ethtool.c  2022-08-22 01:12:51.000000000 +0200
@@ -1129,6 +1129,8 @@
        { "fec", fec_dump_regs },
        { "igc", igc_dump_regs },
        { "bnxt_en", bnxt_dump_regs },
+       { "cpsw-switch", cpsw_dump_regs },
+       { "lan743x", lan743x_dump_regs },
 };
 #endif
 
@@ -3527,12 +3529,16 @@
                return 74;
        }
 
-       if (seeprom_value_seen)
+       if (seeprom_value_seen && !seeprom_length_seen)
                seeprom_length = 1;
-
-       if (!seeprom_length_seen)
+       else if (!seeprom_length_seen)
                seeprom_length = drvinfo.eedump_len;
 
+       if (seeprom_value_seen && (seeprom_length != 1)) {
+               fprintf(stderr, "value requires length 1\n");
+               return 1;
+       }
+
        if (drvinfo.eedump_len < seeprom_offset + seeprom_length) {
                fprintf(stderr, "offset & length out of bounds\n");
                return 1;
@@ -5734,6 +5740,7 @@
                          "             [ tx N ]\n"
                          "             [ rx-buf-len N]\n"
                          "             [ cqe-size N]\n"
+                         "             [ tx-push on|off]\n"
        },
        {
                .opts   = "-k|--show-features|--show-offload",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-5.18/ethtool.spec 
new/ethtool-5.19/ethtool.spec
--- old/ethtool-5.18/ethtool.spec       2022-06-14 00:56:20.000000000 +0200
+++ new/ethtool-5.19/ethtool.spec       2022-08-22 01:21:45.000000000 +0200
@@ -1,5 +1,5 @@
 Name           : ethtool
-Version                : 5.18
+Version                : 5.19
 Release                : 1
 Group          : Utilities
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-5.18/internal.h new/ethtool-5.19/internal.h
--- old/ethtool-5.18/internal.h 2021-12-02 22:38:42.000000000 +0100
+++ new/ethtool-5.19/internal.h 2022-08-06 23:53:42.000000000 +0200
@@ -412,4 +412,10 @@
 /* Broadcom Ethernet Controller */
 int bnxt_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
 
+/* TI CPSW Ethernet Switch */
+int cpsw_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
+
+/* Microchip Ethernet Controller */
+int lan743x_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
+
 #endif /* ETHTOOL_INTERNAL_H__ */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-5.18/lan743x.c new/ethtool-5.19/lan743x.c
--- old/ethtool-5.18/lan743x.c  1970-01-01 01:00:00.000000000 +0100
+++ new/ethtool-5.19/lan743x.c  2022-08-06 23:53:42.000000000 +0200
@@ -0,0 +1,73 @@
+// SPDX-License-Identifier: GPL-2.0+
+/* Copyright (c) 2022 Microchip Technology Inc. and its subsidiaries. */
+
+#include <stdio.h>
+#include <string.h>
+#include "internal.h"
+
+#define LAN743X_ETH_REG_VERSION                1
+
+enum {
+       ETH_PRIV_FLAGS,
+       ETH_ID_REV,
+       ETH_FPGA_REV,
+       ETH_STRAP_READ,
+       ETH_INT_STS,
+       ETH_HW_CFG,
+       ETH_PMT_CTL,
+       ETH_E2P_CMD,
+       ETH_E2P_DATA,
+       ETH_MAC_CR,
+       ETH_MAC_RX,
+       ETH_MAC_TX,
+       ETH_FLOW,
+       ETH_MII_ACC,
+       ETH_MII_DATA,
+       ETH_EEE_TX_LPI_REQ_DLY,
+       ETH_WUCSR,
+       ETH_WK_SRC,
+
+       /* Add new registers above */
+       MAX_LAN743X_ETH_REGS
+};
+
+void lan743x_comm_dump_regs(struct ethtool_drvinfo *info __maybe_unused,
+                           struct ethtool_regs *regs)
+{
+       u32 *lan743x_reg = (u32 *)regs->data;
+
+       fprintf(stdout, "LAN743x Registers:\n");
+       fprintf(stdout, "------------------\n");
+       fprintf(stdout, "CHIP_ID_REV  = 0x%08X\n", lan743x_reg[ETH_ID_REV]);
+       fprintf(stdout, "FPGA_REV     = 0x%08X\n", lan743x_reg[ETH_FPGA_REV]);
+       fprintf(stdout, "STRAP_READ   = 0x%08X\n", lan743x_reg[ETH_STRAP_READ]);
+       fprintf(stdout, "INT_STS      = 0x%08X\n", lan743x_reg[ETH_INT_STS]);
+       fprintf(stdout, "HW_CFG       = 0x%08X\n", lan743x_reg[ETH_HW_CFG]);
+       fprintf(stdout, "PMT_CTRL     = 0x%08X\n", lan743x_reg[ETH_PMT_CTL]);
+       fprintf(stdout, "E2P_CMD      = 0x%08X\n", lan743x_reg[ETH_E2P_CMD]);
+       fprintf(stdout, "E2P_DATA     = 0x%08X\n", lan743x_reg[ETH_E2P_DATA]);
+       fprintf(stdout, "\n");
+
+       fprintf(stdout, "MAC Registers:\n");
+       fprintf(stdout, "--------------\n");
+       fprintf(stdout, "MAC_CR       = 0x%08X\n", lan743x_reg[ETH_MAC_CR]);
+       fprintf(stdout, "MAC_RX       = 0x%08X\n", lan743x_reg[ETH_MAC_RX]);
+       fprintf(stdout, "MAC_TX       = 0x%08X\n", lan743x_reg[ETH_MAC_TX]);
+       fprintf(stdout, "FLOW         = 0x%08X\n", lan743x_reg[ETH_FLOW]);
+       fprintf(stdout, "MII_ACC      = 0x%08X\n", lan743x_reg[ETH_MII_ACC]);
+       fprintf(stdout, "MII_DATA     = 0x%08X\n", lan743x_reg[ETH_MII_DATA]);
+       fprintf(stdout, "WUCSR        = 0x%08X\n", lan743x_reg[ETH_WUCSR]);
+       fprintf(stdout, "WK_SRC       = 0x%08X\n", lan743x_reg[ETH_WK_SRC]);
+       fprintf(stdout, "EEE_TX_LPI_REQ_DLY = 0x%08X\n",
+                                       lan743x_reg[ETH_EEE_TX_LPI_REQ_DLY]);
+       fprintf(stdout, "\n");
+}
+
+int lan743x_dump_regs(struct ethtool_drvinfo *info __maybe_unused,
+                     struct ethtool_regs *regs)
+{
+
+       lan743x_comm_dump_regs(info, regs);
+
+       return 0;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-5.18/netlink/desc-ethtool.c 
new/ethtool-5.19/netlink/desc-ethtool.c
--- old/ethtool-5.18/netlink/desc-ethtool.c     2022-06-14 00:47:07.000000000 
+0200
+++ new/ethtool-5.19/netlink/desc-ethtool.c     2022-06-14 01:37:04.000000000 
+0200
@@ -148,6 +148,7 @@
        NLATTR_DESC_U32(ETHTOOL_A_RINGS_RX_BUF_LEN),
        NLATTR_DESC_U8_ENUM(ETHTOOL_A_RINGS_TCP_DATA_SPLIT, 
rings_tcp_data_split),
        NLATTR_DESC_U32(ETHTOOL_A_RINGS_CQE_SIZE),
+       NLATTR_DESC_BOOL(ETHTOOL_A_RINGS_TX_PUSH),
 };
 
 static const struct pretty_nla_desc __channels_desc[] = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-5.18/netlink/rings.c 
new/ethtool-5.19/netlink/rings.c
--- old/ethtool-5.18/netlink/rings.c    2022-06-14 00:47:00.000000000 +0200
+++ new/ethtool-5.19/netlink/rings.c    2022-06-14 01:30:05.000000000 +0200
@@ -48,6 +48,7 @@
        show_u32(tb[ETHTOOL_A_RINGS_TX], "TX:\t\t");
        show_u32(tb[ETHTOOL_A_RINGS_RX_BUF_LEN], "RX Buf Len:\t\t");
        show_u32(tb[ETHTOOL_A_RINGS_CQE_SIZE], "CQE Size:\t\t");
+       show_bool("tx-push", "TX Push:\t%s\n", tb[ETHTOOL_A_RINGS_TX_PUSH]);
 
        return MNL_CB_OK;
 }
@@ -112,6 +113,12 @@
                .handler        = nl_parse_direct_u32,
                .min_argc       = 1,
        },
+       {
+               .arg            = "tx-push",
+               .type           = ETHTOOL_A_RINGS_TX_PUSH,
+               .handler        = nl_parse_u8bool,
+               .min_argc       = 1,
+       },
        {}
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-5.18/sfpid.c new/ethtool-5.19/sfpid.c
--- old/ethtool-5.18/sfpid.c    2021-12-02 22:38:42.000000000 +0100
+++ new/ethtool-5.19/sfpid.c    2022-08-22 01:01:53.000000000 +0200
@@ -13,8 +13,9 @@
 #include "sff-common.h"
 #include "netlink/extapi.h"
 
-#define SFF8079_PAGE_SIZE      0x80
-#define SFF8079_I2C_ADDRESS_LOW        0x50
+#define SFF8079_PAGE_SIZE              0x80
+#define SFF8079_I2C_ADDRESS_LOW                0x50
+#define SFF8079_I2C_ADDRESS_HIGH       0x51
 
 static void sff8079_show_identifier(const __u8 *id)
 {
@@ -450,18 +451,55 @@
        sff8079_show_all_common(id);
 }
 
-int sff8079_show_all_nl(struct cmd_context *ctx)
+static int sff8079_get_eeprom_page(struct cmd_context *ctx, u8 i2c_address,
+                                  __u8 *buf)
 {
        struct ethtool_module_eeprom request = {
                .length = SFF8079_PAGE_SIZE,
-               .i2c_address = SFF8079_I2C_ADDRESS_LOW,
+               .i2c_address = i2c_address,
        };
        int ret;
 
        ret = nl_get_eeprom_page(ctx, &request);
-       if (ret < 0)
-               return ret;
-       sff8079_show_all_common(request.data);
+       if (!ret)
+               memcpy(buf, request.data, SFF8079_PAGE_SIZE);
+
+       return ret;
+}
+
+int sff8079_show_all_nl(struct cmd_context *ctx)
+{
+       u8 *buf;
+       int ret;
+
+       /* The SFF-8472 parser expects a single buffer that contains the
+        * concatenation of the first 256 bytes from addresses A0h and A2h,
+        * respectively.
+        */
+       buf = calloc(1, ETH_MODULE_SFF_8472_LEN);
+       if (!buf)
+               return -ENOMEM;
+
+       /* Read A0h page */
+       ret = sff8079_get_eeprom_page(ctx, SFF8079_I2C_ADDRESS_LOW, buf);
+       if (ret)
+               goto out;
+
+       sff8079_show_all_common(buf);
+
+       /* Finish if A2h page is not present */
+       if (!(buf[92] & (1 << 6)))
+               goto out;
+
+       /* Read A2h page */
+       ret = sff8079_get_eeprom_page(ctx, SFF8079_I2C_ADDRESS_HIGH,
+                                     buf + ETH_MODULE_SFF_8079_LEN);
+       if (ret)
+               goto out;
+
+       sff8472_show_all(buf);
+out:
+       free(buf);
 
-       return 0;
+       return ret;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-5.18/uapi/linux/ethtool.h 
new/ethtool-5.19/uapi/linux/ethtool.h
--- old/ethtool-5.18/uapi/linux/ethtool.h       2022-06-13 23:50:26.000000000 
+0200
+++ new/ethtool-5.19/uapi/linux/ethtool.h       2022-06-14 01:30:05.000000000 
+0200
@@ -1689,6 +1689,7 @@
        ETHTOOL_LINK_MODE_400000baseCR4_Full_BIT         = 89,
        ETHTOOL_LINK_MODE_100baseFX_Half_BIT             = 90,
        ETHTOOL_LINK_MODE_100baseFX_Full_BIT             = 91,
+       ETHTOOL_LINK_MODE_10baseT1L_Full_BIT             = 92,
        /* must be last entry */
        __ETHTOOL_LINK_MODE_MASK_NBITS
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-5.18/uapi/linux/ethtool_netlink.h 
new/ethtool-5.19/uapi/linux/ethtool_netlink.h
--- old/ethtool-5.18/uapi/linux/ethtool_netlink.h       2022-06-13 
23:52:49.000000000 +0200
+++ new/ethtool-5.19/uapi/linux/ethtool_netlink.h       2022-06-14 
01:25:33.000000000 +0200
@@ -338,6 +338,7 @@
        ETHTOOL_A_RINGS_RX_BUF_LEN,                     /* u32 */
        ETHTOOL_A_RINGS_TCP_DATA_SPLIT,                 /* u8 */
        ETHTOOL_A_RINGS_CQE_SIZE,                       /* u32 */
+       ETHTOOL_A_RINGS_TX_PUSH,                        /* u8 */
 
        /* add new constants above here */
        __ETHTOOL_A_RINGS_CNT,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-5.18/uapi/linux/if_link.h 
new/ethtool-5.19/uapi/linux/if_link.h
--- old/ethtool-5.18/uapi/linux/if_link.h       2022-06-13 23:52:49.000000000 
+0200
+++ new/ethtool-5.19/uapi/linux/if_link.h       2022-06-14 01:30:05.000000000 
+0200
@@ -211,6 +211,9 @@
  * @rx_nohandler: Number of packets received on the interface
  *   but dropped by the networking stack because the device is
  *   not designated to receive packets (e.g. backup link in a bond).
+ *
+ * @rx_otherhost_dropped: Number of packets dropped due to mismatch
+ *   in destination MAC address.
  */
 struct rtnl_link_stats64 {
        __u64   rx_packets;
@@ -243,6 +246,8 @@
        __u64   rx_compressed;
        __u64   tx_compressed;
        __u64   rx_nohandler;
+
+       __u64   rx_otherhost_dropped;
 };
 
 /* Subset of link stats useful for in-HW collection. Meaning of the fields is 
as
@@ -363,6 +368,8 @@
        IFLA_PARENT_DEV_NAME,
        IFLA_PARENT_DEV_BUS_NAME,
        IFLA_GRO_MAX_SIZE,
+       IFLA_TSO_MAX_SIZE,
+       IFLA_TSO_MAX_SEGS,
 
        __IFLA_MAX
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-5.18/uapi/linux/netlink.h 
new/ethtool-5.19/uapi/linux/netlink.h
--- old/ethtool-5.18/uapi/linux/netlink.h       2022-06-13 23:52:49.000000000 
+0200
+++ new/ethtool-5.19/uapi/linux/netlink.h       2022-06-14 01:25:33.000000000 
+0200
@@ -72,6 +72,7 @@
 
 /* Modifiers to DELETE request */
 #define NLM_F_NONREC   0x100   /* Do not delete recursively    */
+#define NLM_F_BULK     0x200   /* Delete multiple objects      */
 
 /* Flags for ACK message */
 #define NLM_F_CAPPED   0x100   /* request was capped */

Reply via email to