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 */