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-12-21 16:06:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ethtool (Old)
 and      /work/SRC/openSUSE:Factory/.ethtool.new.1835 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ethtool"

Wed Dec 21 16:06:04 2022 rev:76 rq:1043943 version:6.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/ethtool/ethtool.changes  2022-10-13 
15:39:55.682466177 +0200
+++ /work/SRC/openSUSE:Factory/.ethtool.new.1835/ethtool.changes        
2022-12-21 16:06:11.598409757 +0100
@@ -1,0 +2,10 @@
+Mon Dec 19 22:33:34 UTC 2022 - Michal Kubecek <mkube...@suse.cz>
+
+- update to upstream release 6.1
+  * Feature: update link mode tables
+  * Feature: register dump for NXP ENETC driver (-d)
+  * Feature: report TCP header-data split (-g)
+  * Feature: support new message types in pretty print
+  * Fix: man page syntax fixes
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ ethtool.spec ++++++
--- /var/tmp/diff_new_pack.x7NRm5/_old  2022-12-21 16:06:12.238413209 +0100
+++ /var/tmp/diff_new_pack.x7NRm5/_new  2022-12-21 16:06:12.242413230 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           ethtool
-Version:        6.0
+Version:        6.1
 Release:        0
 Summary:        Utility for examining and tuning Ethernet-based network 
interfaces
 License:        GPL-2.0-only

++++++ ethtool-6.0.tar.xz -> ethtool-6.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.0/Makefile.am new/ethtool-6.1/Makefile.am
--- old/ethtool-6.0/Makefile.am 2022-08-06 23:53:42.000000000 +0200
+++ new/ethtool-6.1/Makefile.am 2022-12-16 11:00:26.000000000 +0100
@@ -1,4 +1,4 @@
-AM_CFLAGS = -Wall -Wextra
+AM_CFLAGS = -Wall -Wextra -D_POSIX_C_SOURCE=200809L
 AM_CPPFLAGS = -I$(top_srcdir)/uapi
 LDADD = -lm
 
@@ -13,8 +13,8 @@
 if ETHTOOL_ENABLE_PRETTY_DUMP
 ethtool_SOURCES += \
                  amd8111e.c de2104x.c dsa.c e100.c e1000.c et131x.c igb.c      
\
-                 fec.c fec_8xx.c ibm_emac.c ixgb.c ixgbe.c natsemi.c   \
-                 pcnet32.c realtek.c tg3.c marvell.c vioc.c    \
+                 fec.c fec_8xx.c fsl_enetc.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 fjes.c lan78xx.c \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.0/Makefile.in new/ethtool-6.1/Makefile.in
--- old/ethtool-6.0/Makefile.in 2022-10-10 18:38:35.000000000 +0200
+++ new/ethtool-6.1/Makefile.in 2022-12-19 23:15:07.000000000 +0100
@@ -90,8 +90,8 @@
 sbin_PROGRAMS = ethtool$(EXEEXT)
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@am__append_1 = \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@                amd8111e.c de2104x.c dsa.c 
e100.c e1000.c et131x.c igb.c      \
-@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@                fec.c fec_8xx.c ibm_emac.c 
ixgb.c ixgbe.c natsemi.c   \
-@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@                pcnet32.c realtek.c tg3.c 
marvell.c vioc.c    \
+@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@                fec.c fec_8xx.c fsl_enetc.c 
ibm_emac.c ixgb.c ixgbe.c \
+@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@                natsemi.c 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 fjes.c lan78xx.c \
@@ -143,20 +143,20 @@
        uapi/linux/net_tstamp.h rxclass.c common.c common.h \
        json_writer.c json_writer.h json_print.c json_print.h list.h \
        amd8111e.c de2104x.c dsa.c e100.c e1000.c et131x.c igb.c fec.c \
-       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 fjes.c lan78xx.c igc.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 \
+       fec_8xx.c fsl_enetc.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 \
+       fjes.c lan78xx.c igc.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 \
@@ -170,6 +170,7 @@
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      et131x.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      igb.$(OBJEXT) fec.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      fec_8xx.$(OBJEXT) \
+@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      fsl_enetc.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      ibm_emac.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      ixgb.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      ixgbe.$(OBJEXT) \
@@ -234,12 +235,12 @@
        uapi/linux/ethtool.h internal.h uapi/linux/net_tstamp.h \
        rxclass.c common.c common.h json_writer.c json_writer.h \
        json_print.c json_print.h list.h amd8111e.c de2104x.c dsa.c \
-       e100.c e1000.c et131x.c igb.c fec.c 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 fjes.c lan78xx.c igc.c cmis.c cmis.h bnxt.c \
-       cpsw.c lan743x.c netlink/netlink.c netlink/netlink.h \
+       e100.c e1000.c et131x.c igb.c fec.c fec_8xx.c fsl_enetc.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 fjes.c lan78xx.c igc.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 \
@@ -263,6 +264,7 @@
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_cmdline-igb.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_cmdline-fec.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_cmdline-fec_8xx.$(OBJEXT) \
+@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_cmdline-fsl_enetc.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_cmdline-ibm_emac.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_cmdline-ixgb.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_cmdline-ixgbe.$(OBJEXT) \
@@ -334,20 +336,20 @@
        uapi/linux/net_tstamp.h rxclass.c common.c common.h \
        json_writer.c json_writer.h json_print.c json_print.h list.h \
        amd8111e.c de2104x.c dsa.c e100.c e1000.c et131x.c igb.c fec.c \
-       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 fjes.c lan78xx.c igc.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 \
+       fec_8xx.c fsl_enetc.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 \
+       fjes.c lan78xx.c igc.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 \
@@ -363,6 +365,7 @@
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_features-igb.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_features-fec.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_features-fec_8xx.$(OBJEXT) \
+@ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_features-fsl_enetc.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_features-ibm_emac.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_features-ixgb.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_features-ixgbe.$(OBJEXT) \
@@ -817,7 +820,7 @@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-AM_CFLAGS = -Wall -Wextra
+AM_CFLAGS = -Wall -Wextra -D_POSIX_C_SOURCE=200809L
 AM_CPPFLAGS = -I$(top_srcdir)/uapi $(am__append_3)
 LDADD = -lm $(am__append_4)
 man_MANS = ethtool.8
@@ -1137,6 +1140,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fec.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)/fsl_enetc.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)/igc.Po@am__quote@
@@ -1174,6 +1178,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_cmdline-fec.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-fsl_enetc.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-igc.Po@am__quote@
@@ -1217,6 +1222,7 @@
 @AMDEP_TRUE@@am__include@ 
@am__quote@./$(DEPDIR)/test_features-fec.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-fsl_enetc.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-igc.Po@am__quote@
@@ -1571,6 +1577,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-fec_8xx.obj `if test -f 'fec_8xx.c'; then $(CYGPATH_W) 
'fec_8xx.c'; else $(CYGPATH_W) '$(srcdir)/fec_8xx.c'; fi`
 
+test_cmdline-fsl_enetc.o: fsl_enetc.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) 
$(AM_CPPFLAGS) $(CPPFLAGS) $(test_cmdline_CFLAGS) $(CFLAGS) -MT 
test_cmdline-fsl_enetc.o -MD -MP -MF $(DEPDIR)/test_cmdline-fsl_enetc.Tpo -c -o 
test_cmdline-fsl_enetc.o `test -f 'fsl_enetc.c' || echo '$(srcdir)/'`fsl_enetc.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) 
$(DEPDIR)/test_cmdline-fsl_enetc.Tpo $(DEPDIR)/test_cmdline-fsl_enetc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='fsl_enetc.c' 
object='test_cmdline-fsl_enetc.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-fsl_enetc.o `test -f 'fsl_enetc.c' || echo '$(srcdir)/'`fsl_enetc.c
+
+test_cmdline-fsl_enetc.obj: fsl_enetc.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) 
$(AM_CPPFLAGS) $(CPPFLAGS) $(test_cmdline_CFLAGS) $(CFLAGS) -MT 
test_cmdline-fsl_enetc.obj -MD -MP -MF $(DEPDIR)/test_cmdline-fsl_enetc.Tpo -c 
-o test_cmdline-fsl_enetc.obj `if test -f 'fsl_enetc.c'; then $(CYGPATH_W) 
'fsl_enetc.c'; else $(CYGPATH_W) '$(srcdir)/fsl_enetc.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) 
$(DEPDIR)/test_cmdline-fsl_enetc.Tpo $(DEPDIR)/test_cmdline-fsl_enetc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='fsl_enetc.c' 
object='test_cmdline-fsl_enetc.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-fsl_enetc.obj `if test -f 'fsl_enetc.c'; then $(CYGPATH_W) 
'fsl_enetc.c'; else $(CYGPATH_W) '$(srcdir)/fsl_enetc.c'; fi`
+
 test_cmdline-ibm_emac.o: ibm_emac.c
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) 
$(AM_CPPFLAGS) $(CPPFLAGS) $(test_cmdline_CFLAGS) $(CFLAGS) -MT 
test_cmdline-ibm_emac.o -MD -MP -MF $(DEPDIR)/test_cmdline-ibm_emac.Tpo -c -o 
test_cmdline-ibm_emac.o `test -f 'ibm_emac.c' || echo '$(srcdir)/'`ibm_emac.c
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) $(DEPDIR)/test_cmdline-ibm_emac.Tpo 
$(DEPDIR)/test_cmdline-ibm_emac.Po
@@ -2551,6 +2571,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_features_CFLAGS) $(CFLAGS) -c -o 
test_features-fec_8xx.obj `if test -f 'fec_8xx.c'; then $(CYGPATH_W) 
'fec_8xx.c'; else $(CYGPATH_W) '$(srcdir)/fec_8xx.c'; fi`
 
+test_features-fsl_enetc.o: fsl_enetc.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) 
$(AM_CPPFLAGS) $(CPPFLAGS) $(test_features_CFLAGS) $(CFLAGS) -MT 
test_features-fsl_enetc.o -MD -MP -MF $(DEPDIR)/test_features-fsl_enetc.Tpo -c 
-o test_features-fsl_enetc.o `test -f 'fsl_enetc.c' || echo 
'$(srcdir)/'`fsl_enetc.c
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) 
$(DEPDIR)/test_features-fsl_enetc.Tpo $(DEPDIR)/test_features-fsl_enetc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='fsl_enetc.c' 
object='test_features-fsl_enetc.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-fsl_enetc.o `test -f 'fsl_enetc.c' || echo 
'$(srcdir)/'`fsl_enetc.c
+
+test_features-fsl_enetc.obj: fsl_enetc.c
+@am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) 
$(AM_CPPFLAGS) $(CPPFLAGS) $(test_features_CFLAGS) $(CFLAGS) -MT 
test_features-fsl_enetc.obj -MD -MP -MF $(DEPDIR)/test_features-fsl_enetc.Tpo 
-c -o test_features-fsl_enetc.obj `if test -f 'fsl_enetc.c'; then $(CYGPATH_W) 
'fsl_enetc.c'; else $(CYGPATH_W) '$(srcdir)/fsl_enetc.c'; fi`
+@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) 
$(DEPDIR)/test_features-fsl_enetc.Tpo $(DEPDIR)/test_features-fsl_enetc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='fsl_enetc.c' 
object='test_features-fsl_enetc.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-fsl_enetc.obj `if test -f 'fsl_enetc.c'; then $(CYGPATH_W) 
'fsl_enetc.c'; else $(CYGPATH_W) '$(srcdir)/fsl_enetc.c'; fi`
+
 test_features-ibm_emac.o: ibm_emac.c
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) 
$(AM_CPPFLAGS) $(CPPFLAGS) $(test_features_CFLAGS) $(CFLAGS) -MT 
test_features-ibm_emac.o -MD -MP -MF $(DEPDIR)/test_features-ibm_emac.Tpo -c -o 
test_features-ibm_emac.o `test -f 'ibm_emac.c' || echo '$(srcdir)/'`ibm_emac.c
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) 
$(DEPDIR)/test_features-ibm_emac.Tpo $(DEPDIR)/test_features-ibm_emac.Po
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.0/NEWS new/ethtool-6.1/NEWS
--- old/ethtool-6.0/NEWS        2022-10-10 18:34:42.000000000 +0200
+++ new/ethtool-6.1/NEWS        2022-12-19 23:05:44.000000000 +0100
@@ -1,3 +1,11 @@
+Version 6.1 - December 19, 2022
+       * Feature: update link mode tables
+       * Feature: register dump for NXP ENETC driver (-d)
+       * Feature: report TCP header-data split (-g)
+       * Feature: support new message types in pretty print
+       * Fix: fix compiler warnings
+       * Fix: man page syntax fixes
+
 Version 6.0 - October 10, 2022
        * Fix: advertisement modes autoselection by lanes (-s)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.0/bnxt.c new/ethtool-6.1/bnxt.c
--- old/ethtool-6.0/bnxt.c      2020-09-28 15:41:49.000000000 +0200
+++ new/ethtool-6.1/bnxt.c      2022-11-02 09:01:53.000000000 +0100
@@ -63,7 +63,7 @@
                return 0;
 
        if (regs->len < (BNXT_PXP_REG_LEN + BNXT_PCIE_STATS_LEN)) {
-               fprintf(stdout, "Length is too short, expected 0x%lx\n",
+               fprintf(stdout, "Length is too short, expected 0x%zx\n",
                        BNXT_PXP_REG_LEN + BNXT_PCIE_STATS_LEN);
                return -1;
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.0/configure new/ethtool-6.1/configure
--- old/ethtool-6.0/configure   2022-10-10 18:38:35.000000000 +0200
+++ new/ethtool-6.1/configure   2022-12-19 23:15:06.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 6.0.
+# Generated by GNU Autoconf 2.69 for ethtool 6.1.
 #
 # Report bugs to <net...@vger.kernel.org>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='ethtool'
 PACKAGE_TARNAME='ethtool'
-PACKAGE_VERSION='6.0'
-PACKAGE_STRING='ethtool 6.0'
+PACKAGE_VERSION='6.1'
+PACKAGE_STRING='ethtool 6.1'
 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 6.0 to adapt to many kinds of systems.
+\`configure' configures ethtool 6.1 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 6.0:";;
+     short | recursive ) echo "Configuration of ethtool 6.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1430,7 +1430,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-ethtool configure 6.0
+ethtool configure 6.1
 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 6.0, which was
+It was created by ethtool $as_me 6.1, 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='6.0'
+ VERSION='6.1'
 
 
 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 6.0, which was
+This file was extended by ethtool $as_me 6.1, 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 6.0
+ethtool config.status 6.1
 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-6.0/configure.ac new/ethtool-6.1/configure.ac
--- old/ethtool-6.0/configure.ac        2022-10-10 18:34:42.000000000 +0200
+++ new/ethtool-6.1/configure.ac        2022-12-19 22:59:47.000000000 +0100
@@ -1,5 +1,5 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_INIT(ethtool, 6.0, net...@vger.kernel.org)
+AC_INIT(ethtool, 6.1, 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-6.0/ethtool.8 new/ethtool-6.1/ethtool.8
--- old/ethtool-6.0/ethtool.8   2022-10-10 18:38:36.000000000 +0200
+++ new/ethtool-6.1/ethtool.8   2022-12-19 23:15:08.000000000 +0100
@@ -79,7 +79,7 @@
 .\"    \(*NC - Network Classifier type values
 .\"
 .ds NC 
\fBether\fP|\fBip4\fP|\fBtcp4\fP|\fBudp4\fP|\fBsctp4\fP|\fBah4\fP|\fBesp4\fP|\fBip6\fP|\fBtcp6\fP|\fBudp6\fP|\fBah6\fP|\fBesp6\fP|\fBsctp6\fP
-..
+.
 .\"
 .\" Start URL.
 .de UR
@@ -117,7 +117,7 @@
 .  hy \\n(HY
 ..
 .
-.TH ETHTOOL 8 "October 2022" "Ethtool version 6.0"
+.TH ETHTOOL 8 "December 2022" "Ethtool version 6.1"
 .SH NAME
 ethtool \- query or control network driver and hardware settings
 .
@@ -249,7 +249,7 @@
 .RB [\fBeth\-phy\fP]
 .RB [\fBeth\-mac\fP]
 .RB [\fBeth\-ctrl\fP]
-.RN [\fBrmon\fP]
+.RB [\fBrmon\fP]
 .RB ]
 .HP
 .B ethtool \-\-phy\-statistics
@@ -695,7 +695,6 @@
 .RS 4
 .TP
 .B \fB\-\-all\-groups
-.E
 .TP
 .B \fB\-\-groups [\fBeth\-phy\fP] [\fBeth\-mac\fP] [\fBeth\-ctrl\fP] 
[\fBrmon\fP]
 Request groups of standard device statistics.
@@ -776,6 +775,7 @@
 lB     l       lB.
 0x001  10baseT Half
 0x002  10baseT Full
+0x100000000000000000000000     10baseT1L Full
 0x004  100baseT Half
 0x008  100baseT Full
 0x80000000000000000    100baseT1 Full
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.0/ethtool.8.in new/ethtool-6.1/ethtool.8.in
--- old/ethtool-6.0/ethtool.8.in        2022-10-10 18:34:42.000000000 +0200
+++ new/ethtool-6.1/ethtool.8.in        2022-12-19 23:00:08.000000000 +0100
@@ -79,7 +79,7 @@
 .\"    \(*NC - Network Classifier type values
 .\"
 .ds NC 
\fBether\fP|\fBip4\fP|\fBtcp4\fP|\fBudp4\fP|\fBsctp4\fP|\fBah4\fP|\fBesp4\fP|\fBip6\fP|\fBtcp6\fP|\fBudp6\fP|\fBah6\fP|\fBesp6\fP|\fBsctp6\fP
-..
+.
 .\"
 .\" Start URL.
 .de UR
@@ -117,7 +117,7 @@
 .  hy \\n(HY
 ..
 .
-.TH ETHTOOL 8 "October 2022" "Ethtool version @VERSION@"
+.TH ETHTOOL 8 "December 2022" "Ethtool version @VERSION@"
 .SH NAME
 ethtool \- query or control network driver and hardware settings
 .
@@ -249,7 +249,7 @@
 .RB [\fBeth\-phy\fP]
 .RB [\fBeth\-mac\fP]
 .RB [\fBeth\-ctrl\fP]
-.RN [\fBrmon\fP]
+.RB [\fBrmon\fP]
 .RB ]
 .HP
 .B ethtool \-\-phy\-statistics
@@ -695,7 +695,6 @@
 .RS 4
 .TP
 .B \fB\-\-all\-groups
-.E
 .TP
 .B \fB\-\-groups [\fBeth\-phy\fP] [\fBeth\-mac\fP] [\fBeth\-ctrl\fP] 
[\fBrmon\fP]
 Request groups of standard device statistics.
@@ -776,6 +775,7 @@
 lB     l       lB.
 0x001  10baseT Half
 0x002  10baseT Full
+0x100000000000000000000000     10baseT1L Full
 0x004  100baseT Half
 0x008  100baseT Full
 0x80000000000000000    100baseT1 Full
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.0/ethtool.c new/ethtool-6.1/ethtool.c
--- old/ethtool-6.0/ethtool.c   2022-10-10 18:27:16.000000000 +0200
+++ new/ethtool-6.1/ethtool.c   2022-12-16 11:00:26.000000000 +0100
@@ -31,6 +31,7 @@
 
 #include "internal.h"
 #include <string.h>
+#include <strings.h>
 #include <stdlib.h>
 #include <sys/stat.h>
 #include <stdio.h>
@@ -46,6 +47,7 @@
 #include <netinet/in.h>
 #include <arpa/inet.h>
 
+#include <linux/ioctl.h>
 #include <linux/sockios.h>
 #include <linux/netlink.h>
 
@@ -301,7 +303,7 @@
                                case CMDL_IP4: {
                                        u32 *p = info[idx].wanted_val;
                                        struct in_addr in;
-                                       if (!inet_aton(argp[i], &in))
+                                       if (!inet_pton(AF_INET, argp[i], &in))
                                                exit_bad_args();
                                        *p = in.s_addr;
                                        break;
@@ -475,6 +477,7 @@
                ETHTOOL_LINK_MODE_400000baseCR4_Full_BIT,
                ETHTOOL_LINK_MODE_100baseFX_Half_BIT,
                ETHTOOL_LINK_MODE_100baseFX_Full_BIT,
+               ETHTOOL_LINK_MODE_10baseT1L_Full_BIT,
        };
        static const enum ethtool_link_mode_bit_indices
                additional_advertised_flags_bits[] = {
@@ -715,6 +718,8 @@
                  "100baseFX/Half" },
                { 1, ETHTOOL_LINK_MODE_100baseFX_Full_BIT,
                  "100baseFX/Full" },
+               { 0, ETHTOOL_LINK_MODE_10baseT1L_Full_BIT,
+                 "10baseT1L/Full" },
        };
        int indent;
        int did1, new_line_pend;
@@ -1131,6 +1136,8 @@
        { "bnxt_en", bnxt_dump_regs },
        { "cpsw-switch", cpsw_dump_regs },
        { "lan743x", lan743x_dump_regs },
+       { "fsl_enetc", fsl_enetc_dump_regs },
+       { "fsl_enetc_vf", fsl_enetc_dump_regs },
 };
 #endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.0/ethtool.spec new/ethtool-6.1/ethtool.spec
--- old/ethtool-6.0/ethtool.spec        2022-10-10 18:38:37.000000000 +0200
+++ new/ethtool-6.1/ethtool.spec        2022-12-19 23:15:09.000000000 +0100
@@ -1,5 +1,5 @@
 Name           : ethtool
-Version                : 6.0
+Version                : 6.1
 Release                : 1
 Group          : Utilities
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.0/fsl_enetc.c new/ethtool-6.1/fsl_enetc.c
--- old/ethtool-6.0/fsl_enetc.c 1970-01-01 01:00:00.000000000 +0100
+++ new/ethtool-6.1/fsl_enetc.c 2022-12-08 13:20:15.000000000 +0100
@@ -0,0 +1,259 @@
+/* Code to dump registers for the Freescale/NXP ENETC controller.
+ *
+ * Copyright 2022 NXP
+ */
+#include <stdio.h>
+#include "internal.h"
+
+#define BIT(x)                 (1U << (x))
+
+enum enetc_bdr_type {TX, RX};
+#define ENETC_SIMR             0
+#define ENETC_SIPMAR0          0x80
+#define ENETC_SIPMAR1          0x84
+#define ENETC_SICBDRMR         0x800
+#define ENETC_SICBDRSR         0x804
+#define ENETC_SICBDRBAR0       0x810
+#define ENETC_SICBDRBAR1       0x814
+#define ENETC_SICBDRPIR                0x818
+#define ENETC_SICBDRCIR                0x81c
+#define ENETC_SICBDRLENR       0x820
+#define ENETC_SICAPR0          0x900
+#define ENETC_SICAPR1          0x904
+#define ENETC_SIUEFDCR         0xe28
+
+#define ENETC_BDR_OFF(i)       ((i) * 0x200)
+#define ENETC_BDR(t, i, r)     (0x8000 + (t) * 0x100 + ENETC_BDR_OFF(i) + (r))
+
+/* RX BDR reg offsets */
+#define ENETC_RBMR             0
+#define ENETC_RBSR             0x4
+#define ENETC_RBBSR            0x8
+#define ENETC_RBCIR            0xc
+#define ENETC_RBBAR0           0x10
+#define ENETC_RBBAR1           0x14
+#define ENETC_RBPIR            0x18
+#define ENETC_RBLENR           0x20
+#define ENETC_RBIER            0xa0
+#define ENETC_RBICR0           0xa8
+#define ENETC_RBICR1           0xac
+
+/* TX BDR reg offsets */
+#define ENETC_TBMR             0
+#define ENETC_TBSR             0x4
+#define ENETC_TBBAR0           0x10
+#define ENETC_TBBAR1           0x14
+#define ENETC_TBPIR            0x18
+#define ENETC_TBCIR            0x1c
+#define ENETC_TBLENR           0x20
+#define ENETC_TBIER            0xa0
+#define ENETC_TBIDR            0xa4
+#define ENETC_TBICR0           0xa8
+#define ENETC_TBICR1           0xac
+
+/* Port registers */
+#define ENETC_PORT_BASE                0x10000
+#define ENETC_PMR              ENETC_PORT_BASE + 0x0000
+#define ENETC_PSR              ENETC_PORT_BASE + 0x0004
+#define ENETC_PSIPMR           ENETC_PORT_BASE + 0x0018
+#define ENETC_PSIPMAR0(n)      ENETC_PORT_BASE + (0x0100 + (n) * 0x8) /* n = 
SI index */
+#define ENETC_PSIPMAR1(n)      ENETC_PORT_BASE + (0x0104 + (n) * 0x8)
+#define ENETC_PTXMBAR          ENETC_PORT_BASE + 0x0608
+#define ENETC_PCAPR0           ENETC_PORT_BASE + 0x0900
+#define ENETC_PCAPR1           ENETC_PORT_BASE + 0x0904
+#define ENETC_PSICFGR0(n)      ENETC_PORT_BASE + (0x0940 + (n) * 0xc)  /* n = 
SI index */
+
+#define ENETC_PRFSCAPR         ENETC_PORT_BASE + 0x1804
+#define ENETC_PTCMSDUR(n)      ENETC_PORT_BASE + (0x2020 + (n) * 4) /* n = TC 
index [0..7] */
+
+#define ENETC_PM0_CMD_CFG      ENETC_PORT_BASE + 0x8008
+#define ENETC_PM0_CMD_TX_EN            BIT(0)
+#define ENETC_PM0_CMD_RX_EN            BIT(1)
+#define ENETC_PM0_CMD_WAN              BIT(3)
+#define ENETC_PM0_CMD_PROMISC          BIT(4)
+#define ENETC_PM0_CMD_PAD              BIT(5)
+#define ENETC_PM0_CMD_CRC              BIT(6)
+#define ENETC_PM0_CMD_PAUSE_FWD                BIT(7)
+#define ENETC_PM0_CMD_PAUSE_IGN                BIT(8)
+#define ENETC_PM0_CMD_TX_ADDR_INS      BIT(9)
+#define ENETC_PM0_CMD_XGLP             BIT(10)
+#define ENETC_PM0_CMD_TXP              BIT(11)
+#define ENETC_PM0_CMD_SWR              BIT(12)
+#define ENETC_PM0_CMD_CNT_FRM_EN       BIT(13)
+#define ENETC_PM0_CMD_SEND_IDLE                BIT(16)
+#define ENETC_PM0_CMD_NO_LEN_CHK       BIT(17)
+#define ENETC_PM0_CMD_SFD              BIT(21)
+#define ENETC_PM0_CMD_TX_LOWP_ENA      BIT(23)
+#define ENETC_PM0_CMD_REG_LOWP_RXETY   BIT(24)
+#define ENETC_PM0_CMD_RXSTP            BIT(29)
+#define ENETC_PM0_CMD_MG               BIT(31)
+
+#define ENETC_PM0_MAXFRM       ENETC_PORT_BASE + 0x8014
+#define ENETC_PM0_IF_MODE      ENETC_PORT_BASE + 0x8300
+
+struct enetc_register {
+       u32 addr;
+       const char *name;
+       void (*decode)(u32 val, char *buf);
+};
+
+#define REG(_reg, _name)       { .addr = (_reg), .name = (_name) }
+
+#define REG_DEC(_reg, _name, _decode) \
+       { .addr = (_reg), .name = (_name), .decode = (_decode) }
+
+static void decode_cmd_cfg(u32 val, char *buf)
+{
+       sprintf(buf, "\tMG %d\n\tRXSTP %d\n\tREG_LOWP_RXETY %d\n"
+               "\tTX_LOWP_ENA %d\n\tSFD %d\n\tNO_LEN_CHK %d\n\tSEND_IDLE %d\n"
+               "\tCNT_FRM_EN %d\n\tSWR %d\n\tTXP %d\n\tXGLP %d\n"
+               "\tTX_ADDR_INS %d\n\tPAUSE_IGN %d\n\tPAUSE_FWD %d\n\tCRC %d\n"
+               "\tPAD %d\n\tPROMIS %d\n\tWAN %d\n\tRX_EN %d\n\tTX_EN %d\n",
+               !!(val & ENETC_PM0_CMD_MG),
+               !!(val & ENETC_PM0_CMD_RXSTP),
+               !!(val & ENETC_PM0_CMD_REG_LOWP_RXETY),
+               !!(val & ENETC_PM0_CMD_TX_LOWP_ENA),
+               !!(val & ENETC_PM0_CMD_SFD),
+               !!(val & ENETC_PM0_CMD_NO_LEN_CHK),
+               !!(val & ENETC_PM0_CMD_SEND_IDLE),
+               !!(val & ENETC_PM0_CMD_CNT_FRM_EN),
+               !!(val & ENETC_PM0_CMD_SWR),
+               !!(val & ENETC_PM0_CMD_TXP),
+               !!(val & ENETC_PM0_CMD_XGLP),
+               !!(val & ENETC_PM0_CMD_TX_ADDR_INS),
+               !!(val & ENETC_PM0_CMD_PAUSE_IGN),
+               !!(val & ENETC_PM0_CMD_PAUSE_FWD),
+               !!(val & ENETC_PM0_CMD_CRC),
+               !!(val & ENETC_PM0_CMD_PAD),
+               !!(val & ENETC_PM0_CMD_PROMISC),
+               !!(val & ENETC_PM0_CMD_WAN),
+               !!(val & ENETC_PM0_CMD_RX_EN),
+               !!(val & ENETC_PM0_CMD_TX_EN));
+}
+
+#define RXBDR_REGS(_i) \
+       REG(ENETC_BDR(RX, (_i), ENETC_RBMR), "RX BDR " #_i " mode register"), \
+       REG(ENETC_BDR(RX, (_i), ENETC_RBSR), "RX BDR " #_i " status register"), 
\
+       REG(ENETC_BDR(RX, (_i), ENETC_RBBSR), "RX BDR " #_i " buffer size 
register"), \
+       REG(ENETC_BDR(RX, (_i), ENETC_RBPIR), "RX BDR " #_i " producer index 
register"), \
+       REG(ENETC_BDR(RX, (_i), ENETC_RBCIR), "RX BDR " #_i " consumer index 
register"), \
+       REG(ENETC_BDR(RX, (_i), ENETC_RBBAR0), "RX BDR " #_i " base address 
register 0"), \
+       REG(ENETC_BDR(RX, (_i), ENETC_RBBAR1), "RX BDR " #_i " base address 
register 1"), \
+       REG(ENETC_BDR(RX, (_i), ENETC_RBLENR), "RX BDR " #_i " length 
register"), \
+       REG(ENETC_BDR(RX, (_i), ENETC_RBIER), "RX BDR " #_i " interrupt enable 
register"), \
+       REG(ENETC_BDR(RX, (_i), ENETC_RBICR0), "RX BDR " #_i " interrupt 
coalescing register 0"), \
+       REG(ENETC_BDR(RX, (_i), ENETC_RBICR1), "RX BDR " #_i " interrupt 
coalescing register 1")
+
+#define TXBDR_REGS(_i) \
+       REG(ENETC_BDR(TX, (_i), ENETC_TBMR), "TX BDR " #_i " mode register"), \
+       REG(ENETC_BDR(TX, (_i), ENETC_TBSR), "TX BDR " #_i " status register"), 
\
+       REG(ENETC_BDR(TX, (_i), ENETC_TBBAR0), "TX BDR " #_i " base address 
register 0"), \
+       REG(ENETC_BDR(TX, (_i), ENETC_TBBAR1), "TX BDR " #_i " base address 
register 1"), \
+       REG(ENETC_BDR(TX, (_i), ENETC_TBPIR), "TX BDR " #_i " producer index 
register"), \
+       REG(ENETC_BDR(TX, (_i), ENETC_TBCIR), "TX BDR " #_i " consumer index 
register"), \
+       REG(ENETC_BDR(TX, (_i), ENETC_TBLENR), "TX BDR " #_i " length 
register"), \
+       REG(ENETC_BDR(TX, (_i), ENETC_TBIER), "TX BDR " #_i " interrupt enable 
register"), \
+       REG(ENETC_BDR(TX, (_i), ENETC_TBICR0), "TX BDR " #_i " interrupt 
coalescing register 0"), \
+       REG(ENETC_BDR(TX, (_i), ENETC_TBICR1), "TX BDR " #_i " interrupt 
coalescing register 1")
+
+static const struct enetc_register known_enetc_regs[] = {
+       REG(ENETC_SIMR, "SI mode register"),
+       REG(ENETC_SIPMAR0, "SI primary MAC address register 0"),
+       REG(ENETC_SIPMAR1, "SI primary MAC address register 1"),
+       REG(ENETC_SICBDRMR, "SI control BDR mode register"),
+       REG(ENETC_SICBDRSR, "SI control BDR status register"),
+       REG(ENETC_SICBDRBAR0, "SI control BDR base address register 0"),
+       REG(ENETC_SICBDRBAR1, "SI control BDR base address register 1"),
+       REG(ENETC_SICBDRPIR, "SI control BDR producer index register"),
+       REG(ENETC_SICBDRCIR, "SI control BDR consumer index register"),
+       REG(ENETC_SICBDRLENR, "SI control BDR length register"),
+       REG(ENETC_SICAPR0, "SI capability register 0"),
+       REG(ENETC_SICAPR1, "SI capability register 1"),
+       REG(ENETC_SIUEFDCR, "SI uncorrectable error frame drop count register"),
+
+       TXBDR_REGS(0), TXBDR_REGS(1), TXBDR_REGS(2), TXBDR_REGS(3),
+       TXBDR_REGS(4), TXBDR_REGS(5), TXBDR_REGS(6), TXBDR_REGS(7),
+       TXBDR_REGS(8), TXBDR_REGS(9), TXBDR_REGS(10), TXBDR_REGS(11),
+       TXBDR_REGS(12), TXBDR_REGS(13), TXBDR_REGS(14), TXBDR_REGS(15),
+
+       RXBDR_REGS(0), RXBDR_REGS(1), RXBDR_REGS(2), RXBDR_REGS(3),
+       RXBDR_REGS(4), RXBDR_REGS(5), RXBDR_REGS(6), RXBDR_REGS(7),
+       RXBDR_REGS(8), RXBDR_REGS(9), RXBDR_REGS(10), RXBDR_REGS(11),
+       RXBDR_REGS(12), RXBDR_REGS(13), RXBDR_REGS(14), RXBDR_REGS(15),
+
+       REG(ENETC_PMR, "Port mode register"),
+       REG(ENETC_PSR, "Port status register"),
+       REG(ENETC_PSIPMR, "Port SI promiscuous mode register"),
+       REG(ENETC_PSIPMAR0(0), "Port SI0 primary MAC address register 0"),
+       REG(ENETC_PSIPMAR1(0), "Port SI0 primary MAC address register 1"),
+       REG(ENETC_PTXMBAR, "Port HTA transmit memory buffer allocation 
register"),
+       REG(ENETC_PCAPR0, "Port capability register 0"),
+       REG(ENETC_PCAPR1, "Port capability register 1"),
+       REG(ENETC_PSICFGR0(0), "Port SI0 configuration register 0"),
+       REG(ENETC_PRFSCAPR, "Port RFS capability register"),
+       REG(ENETC_PTCMSDUR(0), "Port traffic class 0 maximum SDU register"),
+       REG_DEC(ENETC_PM0_CMD_CFG, "Port eMAC Command and Configuration 
Register",
+               decode_cmd_cfg),
+       REG(ENETC_PM0_MAXFRM, "Port eMAC Maximum Frame Length Register"),
+       REG(ENETC_PM0_IF_MODE, "Port eMAC Interface Mode Control Register"),
+};
+
+static void decode_known_reg(const struct enetc_register *reg, u32 val)
+{
+       char buf[512];
+
+       reg->decode(val, buf);
+       fprintf(stdout, "%s: 0x%x\n%s", reg->name, val, buf);
+}
+
+static void dump_known_reg(const struct enetc_register *reg, u32 val)
+{
+       fprintf(stdout, "%s: 0x%x\n", reg->name, val);
+}
+
+static void dump_unknown_reg(u32 addr, u32 val)
+{
+       fprintf(stdout, "Reg 0x%x: 0x%x\n", addr, val);
+}
+
+static void dump_reg(u32 addr, u32 val)
+{
+       const struct enetc_register *reg;
+       u32 i;
+
+       for (i = 0; i < ARRAY_SIZE(known_enetc_regs); i++) {
+               reg = &known_enetc_regs[i];
+               if (reg->addr == addr) {
+                       if (reg->decode)
+                               decode_known_reg(reg, val);
+                       else
+                               dump_known_reg(reg, val);
+                       return;
+               }
+       }
+
+       dump_unknown_reg(addr, val);
+}
+
+/* Registers are structured in an array of key/value u32 pairs.
+ * Compare each key to our list of known registers, or print it
+ * as a raw address otherwise.
+ */
+int fsl_enetc_dump_regs(struct ethtool_drvinfo *info __maybe_unused,
+                       struct ethtool_regs *regs)
+{
+       u32 *data = (u32 *)regs->data;
+       u32 len = regs->len;
+
+       if (len % 8) {
+               fprintf(stdout, "Expected length to be multiple of 8 bytes\n");
+               return -1;
+       }
+
+       while (len) {
+               dump_reg(data[0], data[1]);
+               data += 2; len -= 8;
+       }
+
+       return 0;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.0/internal.h new/ethtool-6.1/internal.h
--- old/ethtool-6.0/internal.h  2022-08-06 23:53:42.000000000 +0200
+++ new/ethtool-6.1/internal.h  2022-12-16 11:00:26.000000000 +0100
@@ -21,7 +21,7 @@
 #include <unistd.h>
 #include <endian.h>
 #include <sys/ioctl.h>
-#include <net/if.h>
+#include <linux/if.h>
 
 #include "json_writer.h"
 #include "json_print.h"
@@ -406,6 +406,9 @@
 /* i.MX Fast Ethernet Controller */
 int fec_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
 
+/* Freescale/NXP ENETC Ethernet Controller */
+int fsl_enetc_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs 
*regs);
+
 /* Intel(R) Ethernet Controller I225-LM/I225-V adapter family */
 int igc_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.0/netlink/desc-ethtool.c 
new/ethtool-6.1/netlink/desc-ethtool.c
--- old/ethtool-6.0/netlink/desc-ethtool.c      2022-06-14 01:37:04.000000000 
+0200
+++ new/ethtool-6.1/netlink/desc-ethtool.c      2022-12-19 18:20:15.000000000 
+0100
@@ -77,6 +77,13 @@
        NLATTR_DESC_U8(ETHTOOL_A_LINKINFO_TRANSCEIVER),
 };
 
+static const char *__linkmodes_rate_matching_names[] = {
+       [RATE_MATCH_NONE]       = "RATE_MATCH_NONE",
+       [RATE_MATCH_PAUSE]      = "RATE_MATCH_PAUSE",
+       [RATE_MATCH_CRS]        = "RATE_MATCH_CRS",
+       [RATE_MATCH_OPEN_LOOP]  = "RATE_MATCH_OPEN_LOOP",
+};
+
 static const struct pretty_nla_desc __linkmodes_desc[] = {
        NLATTR_DESC_INVALID(ETHTOOL_A_LINKMODES_UNSPEC),
        NLATTR_DESC_NESTED(ETHTOOL_A_LINKMODES_HEADER, header),
@@ -88,6 +95,8 @@
        NLATTR_DESC_U8(ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG),
        NLATTR_DESC_U8(ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE),
        NLATTR_DESC_U32(ETHTOOL_A_LINKMODES_LANES),
+       NLATTR_DESC_U8_ENUM(ETHTOOL_A_LINKMODES_RATE_MATCHING,
+                           linkmodes_rate_matching),
 };
 
 static const struct pretty_nla_desc __linkstate_desc[] = {
@@ -409,6 +418,30 @@
        NLATTR_DESC_U8(ETHTOOL_A_MODULE_POWER_MODE),
 };
 
+static const char *__pse_admin_state_names[] = {
+       [ETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN]  = 
"ETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN",
+       [ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED] = 
"ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED",
+       [ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED]  = 
"ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED",
+};
+
+static const char *__pse_pw_d_status_names[] = {
+       [ETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN]          = 
"ETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN",
+       [ETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED]         = 
"ETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED",
+       [ETHTOOL_PODL_PSE_PW_D_STATUS_SEARCHING]        = 
"ETHTOOL_PODL_PSE_PW_D_STATUS_SEARCHING",
+       [ETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING]       = 
"ETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING",
+       [ETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP]            = 
"ETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP",
+       [ETHTOOL_PODL_PSE_PW_D_STATUS_IDLE]             = 
"ETHTOOL_PODL_PSE_PW_D_STATUS_IDLE",
+       [ETHTOOL_PODL_PSE_PW_D_STATUS_ERROR]            = 
"ETHTOOL_PODL_PSE_PW_D_STATUS_ERROR",
+};
+
+static const struct pretty_nla_desc __pse_desc[] = {
+       NLATTR_DESC_INVALID(ETHTOOL_A_PSE_UNSPEC),
+       NLATTR_DESC_NESTED(ETHTOOL_A_PSE_HEADER, header),
+       NLATTR_DESC_U32_ENUM(ETHTOOL_A_PODL_PSE_ADMIN_STATE, pse_admin_state),
+       NLATTR_DESC_U32_ENUM(ETHTOOL_A_PODL_PSE_ADMIN_CONTROL, pse_admin_state),
+       NLATTR_DESC_U32_ENUM(ETHTOOL_A_PODL_PSE_PW_D_STATUS, pse_pw_d_status),
+};
+
 const struct pretty_nlmsg_desc ethnl_umsg_desc[] = {
        NLMSG_DESC_INVALID(ETHTOOL_MSG_USER_NONE),
        NLMSG_DESC(ETHTOOL_MSG_STRSET_GET, strset),
@@ -446,6 +479,8 @@
        NLMSG_DESC(ETHTOOL_MSG_PHC_VCLOCKS_GET, phc_vclocks),
        NLMSG_DESC(ETHTOOL_MSG_MODULE_GET, module),
        NLMSG_DESC(ETHTOOL_MSG_MODULE_SET, module),
+       NLMSG_DESC(ETHTOOL_MSG_PSE_GET, pse),
+       NLMSG_DESC(ETHTOOL_MSG_PSE_SET, pse),
 };
 
 const unsigned int ethnl_umsg_n_desc = ARRAY_SIZE(ethnl_umsg_desc);
@@ -488,6 +523,7 @@
        NLMSG_DESC(ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY, phc_vclocks),
        NLMSG_DESC(ETHTOOL_MSG_MODULE_GET_REPLY, module),
        NLMSG_DESC(ETHTOOL_MSG_MODULE_NTF, module),
+       NLMSG_DESC(ETHTOOL_MSG_PSE_GET_REPLY, pse),
 };
 
 const unsigned int ethnl_kmsg_n_desc = ARRAY_SIZE(ethnl_kmsg_desc);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.0/netlink/fec.c 
new/ethtool-6.1/netlink/fec.c
--- old/ethtool-6.0/netlink/fec.c       2022-06-14 01:30:05.000000000 +0200
+++ new/ethtool-6.1/netlink/fec.c       2022-12-16 11:00:26.000000000 +0100
@@ -9,6 +9,7 @@
 #include <ctype.h>
 #include <inttypes.h>
 #include <string.h>
+#include <strings.h>
 #include <stdio.h>
 
 #include "../internal.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.0/netlink/rings.c 
new/ethtool-6.1/netlink/rings.c
--- old/ethtool-6.0/netlink/rings.c     2022-06-14 01:30:05.000000000 +0200
+++ new/ethtool-6.1/netlink/rings.c     2022-12-04 17:51:19.000000000 +0100
@@ -20,6 +20,7 @@
        const struct nlattr *tb[ETHTOOL_A_RINGS_MAX + 1] = {};
        DECLARE_ATTR_TB_INFO(tb);
        struct nl_context *nlctx = data;
+       unsigned char tcp_hds;
        bool silent;
        int err_ret;
        int ret;
@@ -50,6 +51,24 @@
        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]);
 
+       tcp_hds = tb[ETHTOOL_A_RINGS_TCP_DATA_SPLIT] ?
+               mnl_attr_get_u8(tb[ETHTOOL_A_RINGS_TCP_DATA_SPLIT]) : 0;
+       printf("TCP data split:\t");
+       switch (tcp_hds) {
+       case ETHTOOL_TCP_DATA_SPLIT_UNKNOWN:
+               printf("n/a\n");
+               break;
+       case ETHTOOL_TCP_DATA_SPLIT_DISABLED:
+               printf("off\n");
+               break;
+       case ETHTOOL_TCP_DATA_SPLIT_ENABLED:
+               printf("on\n");
+               break;
+       default:
+               printf("unknown(%d)\n", tcp_hds);
+               break;
+       }
+
        return MNL_CB_OK;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.0/netlink/settings.c 
new/ethtool-6.1/netlink/settings.c
--- old/ethtool-6.0/netlink/settings.c  2022-10-10 18:27:16.000000000 +0200
+++ new/ethtool-6.1/netlink/settings.c  2022-12-19 18:00:47.000000000 +0100
@@ -164,6 +164,7 @@
        [ETHTOOL_LINK_MODE_400000baseCR4_Full_BIT]      = __REAL(400000),
        [ETHTOOL_LINK_MODE_100baseFX_Half_BIT]          = __HALF_DUPLEX(100),
        [ETHTOOL_LINK_MODE_100baseFX_Full_BIT]          = __REAL(100),
+       [ETHTOOL_LINK_MODE_10baseT1L_Full_BIT]          = __REAL(10),
 };
 const unsigned int link_modes_count = ARRAY_SIZE(link_modes);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.0/uapi/linux/ethtool.h 
new/ethtool-6.1/uapi/linux/ethtool.h
--- old/ethtool-6.0/uapi/linux/ethtool.h        2022-10-10 18:32:21.000000000 
+0200
+++ new/ethtool-6.1/uapi/linux/ethtool.h        2022-12-19 18:00:47.000000000 
+0100
@@ -735,6 +735,51 @@
 };
 
 /**
+ * enum ethtool_podl_pse_admin_state - operational state of the PoDL PSE
+ *     functions. IEEE 802.3-2018 30.15.1.1.2 aPoDLPSEAdminState
+ * @ETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN: state of PoDL PSE functions are
+ *     unknown
+ * @ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED: PoDL PSE functions are disabled
+ * @ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED: PoDL PSE functions are enabled
+ */
+enum ethtool_podl_pse_admin_state {
+       ETHTOOL_PODL_PSE_ADMIN_STATE_UNKNOWN = 1,
+       ETHTOOL_PODL_PSE_ADMIN_STATE_DISABLED,
+       ETHTOOL_PODL_PSE_ADMIN_STATE_ENABLED,
+};
+
+/**
+ * enum ethtool_podl_pse_pw_d_status - power detection status of the PoDL PSE.
+ *     IEEE 802.3-2018 30.15.1.1.3 aPoDLPSEPowerDetectionStatus:
+ * @ETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN: PoDL PSE
+ * @ETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED: "The enumeration “disabled” is
+ *     asserted true when the PoDL PSE state diagram variable mr_pse_enable is
+ *     false"
+ * @ETHTOOL_PODL_PSE_PW_D_STATUS_SEARCHING: "The enumeration “searching” is
+ *     asserted true when either of the PSE state diagram variables
+ *     pi_detecting or pi_classifying is true."
+ * @ETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING: "The enumeration 
“deliveringPower”
+ *     is asserted true when the PoDL PSE state diagram variable pi_powered is
+ *     true."
+ * @ETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP: "The enumeration “sleep” is 
asserted
+ *     true when the PoDL PSE state diagram variable pi_sleeping is true."
+ * @ETHTOOL_PODL_PSE_PW_D_STATUS_IDLE: "The enumeration “idle” is asserted 
true
+ *     when the logical combination of the PoDL PSE state diagram variables
+ *     pi_prebiased*!pi_sleeping is true."
+ * @ETHTOOL_PODL_PSE_PW_D_STATUS_ERROR: "The enumeration “error” is 
asserted
+ *     true when the PoDL PSE state diagram variable overload_held is true."
+ */
+enum ethtool_podl_pse_pw_d_status {
+       ETHTOOL_PODL_PSE_PW_D_STATUS_UNKNOWN = 1,
+       ETHTOOL_PODL_PSE_PW_D_STATUS_DISABLED,
+       ETHTOOL_PODL_PSE_PW_D_STATUS_SEARCHING,
+       ETHTOOL_PODL_PSE_PW_D_STATUS_DELIVERING,
+       ETHTOOL_PODL_PSE_PW_D_STATUS_SLEEP,
+       ETHTOOL_PODL_PSE_PW_D_STATUS_IDLE,
+       ETHTOOL_PODL_PSE_PW_D_STATUS_ERROR,
+};
+
+/**
  * struct ethtool_gstrings - string set for data tagging
  * @cmd: Command number = %ETHTOOL_GSTRINGS
  * @string_set: String set ID; one of &enum ethtool_stringset
@@ -1838,6 +1883,20 @@
 #define MASTER_SLAVE_STATE_SLAVE               3
 #define MASTER_SLAVE_STATE_ERR                 4
 
+/* These are used to throttle the rate of data on the phy interface when the
+ * native speed of the interface is higher than the link speed. These should
+ * not be used for phy interfaces which natively support multiple speeds (e.g.
+ * MII or SGMII).
+ */
+/* No rate matching performed. */
+#define RATE_MATCH_NONE                0
+/* The phy sends pause frames to throttle the MAC. */
+#define RATE_MATCH_PAUSE       1
+/* The phy asserts CRS to prevent the MAC from transmitting. */
+#define RATE_MATCH_CRS         2
+/* The MAC is programmed with a sufficiently-large IPG. */
+#define RATE_MATCH_OPEN_LOOP   3
+
 /* Which connector port. */
 #define PORT_TP                        0x00
 #define PORT_AUI               0x01
@@ -2031,8 +2090,8 @@
  *     reported consistently by PHYLIB.  Read-only.
  * @master_slave_cfg: Master/slave port mode.
  * @master_slave_state: Master/slave port state.
+ * @rate_matching: Rate adaptation performed by the PHY
  * @reserved: Reserved for future use; see the note on reserved space.
- * @reserved1: Reserved for future use; see the note on reserved space.
  * @link_mode_masks: Variable length bitmaps.
  *
  * If autonegotiation is disabled, the speed and @duplex represent the
@@ -2083,7 +2142,7 @@
        __u8    transceiver;
        __u8    master_slave_cfg;
        __u8    master_slave_state;
-       __u8    reserved1[1];
+       __u8    rate_matching;
        __u32   reserved[7];
        __u32   link_mode_masks[];
        /* layout of link_mode_masks fields:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.0/uapi/linux/ethtool_netlink.h 
new/ethtool-6.1/uapi/linux/ethtool_netlink.h
--- old/ethtool-6.0/uapi/linux/ethtool_netlink.h        2022-10-10 
18:32:21.000000000 +0200
+++ new/ethtool-6.1/uapi/linux/ethtool_netlink.h        2022-12-19 
18:00:47.000000000 +0100
@@ -49,6 +49,8 @@
        ETHTOOL_MSG_PHC_VCLOCKS_GET,
        ETHTOOL_MSG_MODULE_GET,
        ETHTOOL_MSG_MODULE_SET,
+       ETHTOOL_MSG_PSE_GET,
+       ETHTOOL_MSG_PSE_SET,
 
        /* add new constants above here */
        __ETHTOOL_MSG_USER_CNT,
@@ -94,6 +96,7 @@
        ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY,
        ETHTOOL_MSG_MODULE_GET_REPLY,
        ETHTOOL_MSG_MODULE_NTF,
+       ETHTOOL_MSG_PSE_GET_REPLY,
 
        /* add new constants above here */
        __ETHTOOL_MSG_KERNEL_CNT,
@@ -242,6 +245,7 @@
        ETHTOOL_A_LINKMODES_MASTER_SLAVE_CFG,   /* u8 */
        ETHTOOL_A_LINKMODES_MASTER_SLAVE_STATE, /* u8 */
        ETHTOOL_A_LINKMODES_LANES,              /* u32 */
+       ETHTOOL_A_LINKMODES_RATE_MATCHING,      /* u8 */
 
        /* add new constants above here */
        __ETHTOOL_A_LINKMODES_CNT,
@@ -862,6 +866,19 @@
        ETHTOOL_A_MODULE_MAX = (__ETHTOOL_A_MODULE_CNT - 1)
 };
 
+/* Power Sourcing Equipment */
+enum {
+       ETHTOOL_A_PSE_UNSPEC,
+       ETHTOOL_A_PSE_HEADER,                   /* nest - _A_HEADER_* */
+       ETHTOOL_A_PODL_PSE_ADMIN_STATE,         /* u32 */
+       ETHTOOL_A_PODL_PSE_ADMIN_CONTROL,       /* u32 */
+       ETHTOOL_A_PODL_PSE_PW_D_STATUS,         /* u32 */
+
+       /* add new constants above here */
+       __ETHTOOL_A_PSE_CNT,
+       ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
+};
+
 /* generic netlink info */
 #define ETHTOOL_GENL_NAME "ethtool"
 #define ETHTOOL_GENL_VERSION 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.0/uapi/linux/if_link.h 
new/ethtool-6.1/uapi/linux/if_link.h
--- old/ethtool-6.0/uapi/linux/if_link.h        2022-10-10 18:32:21.000000000 
+0200
+++ new/ethtool-6.1/uapi/linux/if_link.h        2022-12-19 18:00:47.000000000 
+0100
@@ -370,6 +370,7 @@
        IFLA_GRO_MAX_SIZE,
        IFLA_TSO_MAX_SIZE,
        IFLA_TSO_MAX_SEGS,
+       IFLA_ALLMULTI,          /* Allmulti count: > 0 means acts ALLMULTI */
 
        __IFLA_MAX
 };
@@ -692,6 +693,7 @@
        IFLA_XFRM_UNSPEC,
        IFLA_XFRM_LINK,
        IFLA_XFRM_IF_ID,
+       IFLA_XFRM_COLLECT_METADATA,
        __IFLA_XFRM_MAX
 };
 
@@ -1372,4 +1374,14 @@
 
 #define IFLA_MCTP_MAX (__IFLA_MCTP_MAX - 1)
 
+/* DSA section */
+
+enum {
+       IFLA_DSA_UNSPEC,
+       IFLA_DSA_MASTER,
+       __IFLA_DSA_MAX,
+};
+
+#define IFLA_DSA_MAX   (__IFLA_DSA_MAX - 1)
+
 #endif /* _LINUX_IF_LINK_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.0/uapi/linux/netlink.h 
new/ethtool-6.1/uapi/linux/netlink.h
--- old/ethtool-6.0/uapi/linux/netlink.h        2022-10-10 18:32:21.000000000 
+0200
+++ new/ethtool-6.1/uapi/linux/netlink.h        2022-12-16 10:49:20.000000000 
+0100
@@ -20,7 +20,7 @@
 #define NETLINK_CONNECTOR      11
 #define NETLINK_NETFILTER      12      /* netfilter subsystem */
 #define NETLINK_IP6_FW         13
-#define NETLINK_DNRTMSG                14      /* DECnet routing messages */
+#define NETLINK_DNRTMSG                14      /* DECnet routing messages 
(obsolete) */
 #define NETLINK_KOBJECT_UEVENT 15      /* Kernel messages to userspace */
 #define NETLINK_GENERIC                16
 /* leave room for NETLINK_DM (DM Events) */
@@ -41,12 +41,20 @@
                __u32           nl_groups;      /* multicast groups mask */
 };
 
+/**
+ * struct nlmsghdr - fixed format metadata header of Netlink messages
+ * @nlmsg_len:   Length of message including header
+ * @nlmsg_type:  Message content type
+ * @nlmsg_flags: Additional flags
+ * @nlmsg_seq:   Sequence number
+ * @nlmsg_pid:   Sending process port ID
+ */
 struct nlmsghdr {
-       __u32           nlmsg_len;      /* Length of message including header */
-       __u16           nlmsg_type;     /* Message content */
-       __u16           nlmsg_flags;    /* Additional flags */
-       __u32           nlmsg_seq;      /* Sequence number */
-       __u32           nlmsg_pid;      /* Sending process port ID */
+       __u32           nlmsg_len;
+       __u16           nlmsg_type;
+       __u16           nlmsg_flags;
+       __u32           nlmsg_seq;
+       __u32           nlmsg_pid;
 };
 
 /* Flags values */
@@ -54,7 +62,7 @@
 #define NLM_F_REQUEST          0x01    /* It is request message.       */
 #define NLM_F_MULTI            0x02    /* Multipart message, terminated by 
NLMSG_DONE */
 #define NLM_F_ACK              0x04    /* Reply with ack, with zero or error 
code */
-#define NLM_F_ECHO             0x08    /* Echo this request            */
+#define NLM_F_ECHO             0x08    /* Receive resulting notifications */
 #define NLM_F_DUMP_INTR                0x10    /* Dump was inconsistent due to 
sequence change */
 #define NLM_F_DUMP_FILTERED    0x20    /* Dump was filtered as requested */
 
@@ -132,6 +140,10 @@
  *     be used - in the success case - to identify a created
  *     object or operation or similar (binary)
  * @NLMSGERR_ATTR_POLICY: policy for a rejected attribute
+ * @NLMSGERR_ATTR_MISS_TYPE: type of a missing required attribute,
+ *     %NLMSGERR_ATTR_MISS_NEST will not be present if the attribute was
+ *     missing at the message level
+ * @NLMSGERR_ATTR_MISS_NEST: offset of the nest where attribute was missing
  * @__NLMSGERR_ATTR_MAX: number of attributes
  * @NLMSGERR_ATTR_MAX: highest attribute number
  */
@@ -141,6 +153,8 @@
        NLMSGERR_ATTR_OFFS,
        NLMSGERR_ATTR_COOKIE,
        NLMSGERR_ATTR_POLICY,
+       NLMSGERR_ATTR_MISS_TYPE,
+       NLMSGERR_ATTR_MISS_NEST,
 
        __NLMSGERR_ATTR_MAX,
        NLMSGERR_ATTR_MAX = __NLMSGERR_ATTR_MAX - 1
@@ -333,6 +347,9 @@
  *     bitfield32 type (U32)
  * @NL_POLICY_TYPE_ATTR_MASK: mask of valid bits for unsigned integers (U64)
  * @NL_POLICY_TYPE_ATTR_PAD: pad attribute for 64-bit alignment
+ *
+ * @__NL_POLICY_TYPE_ATTR_MAX: number of attributes
+ * @NL_POLICY_TYPE_ATTR_MAX: highest attribute number
  */
 enum netlink_policy_type_attr {
        NL_POLICY_TYPE_ATTR_UNSPEC,

Reply via email to