Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package ethtool for openSUSE:Factory checked 
in at 2023-12-01 21:24:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ethtool (Old)
 and      /work/SRC/openSUSE:Factory/.ethtool.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ethtool"

Fri Dec  1 21:24:53 2023 rev:81 rq:1130109 version:6.6

Changes:
--------
--- /work/SRC/openSUSE:Factory/ethtool/ethtool.changes  2023-09-21 
22:13:59.793154899 +0200
+++ /work/SRC/openSUSE:Factory/.ethtool.new.25432/ethtool.changes       
2023-12-01 21:25:04.417228729 +0100
@@ -1,0 +2,7 @@
+Thu Nov 23 21:44:24 UTC 2023 - Michal Kubecek <mkube...@suse.cz>
+
+- update to upstream release 6.6
+  * Feature: support for more CMIS transceiver modules (-m)
+  * Fix: fix build on systems with old kernel uapi headers
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ ethtool.spec ++++++
--- /var/tmp/diff_new_pack.hj0LdV/_old  2023-12-01 21:25:05.201257524 +0100
+++ /var/tmp/diff_new_pack.hj0LdV/_new  2023-12-01 21:25:05.205257672 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           ethtool
-Version:        6.5
+Version:        6.6
 Release:        0
 Summary:        Utility for examining and tuning Ethernet-based network 
interfaces
 License:        GPL-2.0-only

++++++ ethtool-6.5.tar.xz -> ethtool-6.6.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.5/Makefile.am new/ethtool-6.6/Makefile.am
--- old/ethtool-6.5/Makefile.am 2023-09-11 22:14:13.000000000 +0200
+++ new/ethtool-6.6/Makefile.am 2023-11-23 22:08:50.000000000 +0100
@@ -6,8 +6,12 @@
 EXTRA_DIST = LICENSE ethtool.8 ethtool.spec.in aclocal.m4 ChangeLog autogen.sh
 
 sbin_PROGRAMS = ethtool
-ethtool_SOURCES = ethtool.c uapi/linux/ethtool.h internal.h \
+ethtool_SOURCES = ethtool.c uapi/linux/const.h uapi/linux/ethtool.h internal.h 
\
                  uapi/linux/net_tstamp.h uapi/linux/if.h 
uapi/linux/hdlc/ioctl.h \
+                 uapi/linux/if_addr.h uapi/linux/if_ether.h 
uapi/linux/if_link.h \
+                 uapi/linux/libc-compat.h uapi/linux/net_tstamp.h 
uapi/linux/neighbour.h \
+                 uapi/linux/posix_types.h uapi/linux/rtnetlink.h 
uapi/linux/socket.h \
+                 uapi/linux/stddef.h uapi/linux/types.h \
                  rxclass.c common.c common.h \
                  json_writer.c json_writer.h json_print.c json_print.h \
                  list.h
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.5/Makefile.in new/ethtool-6.6/Makefile.in
--- old/ethtool-6.5/Makefile.in 2023-09-12 22:40:47.000000000 +0200
+++ new/ethtool-6.6/Makefile.in 2023-11-23 22:39:53.000000000 +0100
@@ -144,31 +144,35 @@
 am__installdirs = "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man8dir)" \
        "$(DESTDIR)$(bashcompletiondir)"
 PROGRAMS = $(sbin_PROGRAMS)
-am__ethtool_SOURCES_DIST = ethtool.c uapi/linux/ethtool.h internal.h \
-       uapi/linux/net_tstamp.h uapi/linux/if.h \
-       uapi/linux/hdlc/ioctl.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 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 \
-       hns3.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/mm.c netlink/desc-ethtool.c netlink/desc-genlctrl.c \
+am__ethtool_SOURCES_DIST = ethtool.c uapi/linux/const.h \
+       uapi/linux/ethtool.h internal.h uapi/linux/net_tstamp.h \
+       uapi/linux/if.h uapi/linux/hdlc/ioctl.h uapi/linux/if_addr.h \
+       uapi/linux/if_ether.h uapi/linux/if_link.h \
+       uapi/linux/libc-compat.h uapi/linux/neighbour.h \
+       uapi/linux/posix_types.h uapi/linux/rtnetlink.h \
+       uapi/linux/socket.h uapi/linux/stddef.h uapi/linux/types.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 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 hns3.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/mm.c \
+       netlink/desc-ethtool.c netlink/desc-genlctrl.c \
        netlink/module-eeprom.c netlink/module.c netlink/rss.c \
        netlink/desc-rtnl.c netlink/cable_test.c netlink/tunnels.c \
        netlink/plca.c netlink/pse-pd.c uapi/linux/ethtool_netlink.h \
-       uapi/linux/netlink.h uapi/linux/genetlink.h \
-       uapi/linux/rtnetlink.h uapi/linux/if_link.h
+       uapi/linux/netlink.h uapi/linux/genetlink.h
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@am__objects_1 = amd8111e.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      de2104x.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      dsa.$(OBJEXT) e100.$(OBJEXT) \
@@ -243,31 +247,35 @@
 am__DEPENDENCIES_1 =
 ethtool_DEPENDENCIES = $(am__DEPENDENCIES_1)
 am__test_cmdline_SOURCES_DIST = test-cmdline.c test-common.c ethtool.c \
-       uapi/linux/ethtool.h internal.h uapi/linux/net_tstamp.h \
-       uapi/linux/if.h uapi/linux/hdlc/ioctl.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 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 hns3.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/mm.c netlink/desc-ethtool.c \
-       netlink/desc-genlctrl.c netlink/module-eeprom.c \
-       netlink/module.c netlink/rss.c netlink/desc-rtnl.c \
-       netlink/cable_test.c netlink/tunnels.c netlink/plca.c \
-       netlink/pse-pd.c uapi/linux/ethtool_netlink.h \
-       uapi/linux/netlink.h uapi/linux/genetlink.h \
-       uapi/linux/rtnetlink.h uapi/linux/if_link.h
+       uapi/linux/const.h uapi/linux/ethtool.h internal.h \
+       uapi/linux/net_tstamp.h uapi/linux/if.h \
+       uapi/linux/hdlc/ioctl.h uapi/linux/if_addr.h \
+       uapi/linux/if_ether.h uapi/linux/if_link.h \
+       uapi/linux/libc-compat.h uapi/linux/neighbour.h \
+       uapi/linux/posix_types.h uapi/linux/rtnetlink.h \
+       uapi/linux/socket.h uapi/linux/stddef.h uapi/linux/types.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 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 hns3.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/mm.c \
+       netlink/desc-ethtool.c netlink/desc-genlctrl.c \
+       netlink/module-eeprom.c netlink/module.c netlink/rss.c \
+       netlink/desc-rtnl.c netlink/cable_test.c netlink/tunnels.c \
+       netlink/plca.c netlink/pse-pd.c uapi/linux/ethtool_netlink.h \
+       uapi/linux/netlink.h uapi/linux/genetlink.h
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@am__objects_3 = 
test_cmdline-amd8111e.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_cmdline-de2104x.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_cmdline-dsa.$(OBJEXT) \
@@ -350,31 +358,35 @@
 test_cmdline_LINK = $(CCLD) $(test_cmdline_CFLAGS) $(CFLAGS) \
        $(AM_LDFLAGS) $(LDFLAGS) -o $@
 am__test_features_SOURCES_DIST = test-features.c test-common.c \
-       ethtool.c uapi/linux/ethtool.h internal.h \
+       ethtool.c uapi/linux/const.h uapi/linux/ethtool.h internal.h \
        uapi/linux/net_tstamp.h uapi/linux/if.h \
-       uapi/linux/hdlc/ioctl.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 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 \
-       hns3.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/mm.c netlink/desc-ethtool.c netlink/desc-genlctrl.c \
+       uapi/linux/hdlc/ioctl.h uapi/linux/if_addr.h \
+       uapi/linux/if_ether.h uapi/linux/if_link.h \
+       uapi/linux/libc-compat.h uapi/linux/neighbour.h \
+       uapi/linux/posix_types.h uapi/linux/rtnetlink.h \
+       uapi/linux/socket.h uapi/linux/stddef.h uapi/linux/types.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 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 hns3.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/mm.c \
+       netlink/desc-ethtool.c netlink/desc-genlctrl.c \
        netlink/module-eeprom.c netlink/module.c netlink/rss.c \
        netlink/desc-rtnl.c netlink/cable_test.c netlink/tunnels.c \
        netlink/plca.c netlink/pse-pd.c uapi/linux/ethtool_netlink.h \
-       uapi/linux/netlink.h uapi/linux/genetlink.h \
-       uapi/linux/rtnetlink.h uapi/linux/if_link.h
+       uapi/linux/netlink.h uapi/linux/genetlink.h
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@am__objects_6 = 
test_features-amd8111e.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_features-de2104x.$(OBJEXT) \
 @ETHTOOL_ENABLE_PRETTY_DUMP_TRUE@      test_features-dsa.$(OBJEXT) \
@@ -849,11 +861,16 @@
 LDADD = -lm $(am__append_4)
 man_MANS = ethtool.8
 EXTRA_DIST = LICENSE ethtool.8 ethtool.spec.in aclocal.m4 ChangeLog autogen.sh
-ethtool_SOURCES = ethtool.c uapi/linux/ethtool.h internal.h \
-       uapi/linux/net_tstamp.h uapi/linux/if.h \
-       uapi/linux/hdlc/ioctl.h rxclass.c common.c common.h \
-       json_writer.c json_writer.h json_print.c json_print.h list.h \
-       $(am__append_1) $(am__append_2)
+ethtool_SOURCES = ethtool.c uapi/linux/const.h uapi/linux/ethtool.h \
+       internal.h uapi/linux/net_tstamp.h uapi/linux/if.h \
+       uapi/linux/hdlc/ioctl.h uapi/linux/if_addr.h \
+       uapi/linux/if_ether.h uapi/linux/if_link.h \
+       uapi/linux/libc-compat.h uapi/linux/net_tstamp.h \
+       uapi/linux/neighbour.h uapi/linux/posix_types.h \
+       uapi/linux/rtnetlink.h uapi/linux/socket.h uapi/linux/stddef.h \
+       uapi/linux/types.h rxclass.c common.c common.h json_writer.c \
+       json_writer.h json_print.c json_print.h list.h $(am__append_1) \
+       $(am__append_2)
 @ENABLE_BASH_COMPLETION_TRUE@bashcompletiondir = $(BASH_COMPLETION_DIR)
 @ENABLE_BASH_COMPLETION_TRUE@dist_bashcompletion_DATA = 
shell-completion/bash/ethtool
 test_cmdline_SOURCES = test-cmdline.c test-common.c $(ethtool_SOURCES) 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.5/NEWS new/ethtool-6.6/NEWS
--- old/ethtool-6.5/NEWS        2023-09-12 22:27:56.000000000 +0200
+++ new/ethtool-6.6/NEWS        2023-11-23 22:08:35.000000000 +0100
@@ -1,3 +1,7 @@
+Version 6.6 - November, 23, 2023
+       * Feature: support for more CMIS transceiver modules (-m)
+       * Fix: fix build on systems with old kernel uapi headers
+
 Version 6.5 - September 12, 2023
        * Feature: register dump for hns3 driver (-d)
        * Fix: fix fallback to ioctl for sset (-s)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.5/configure new/ethtool-6.6/configure
--- old/ethtool-6.5/configure   2023-09-12 22:40:47.000000000 +0200
+++ new/ethtool-6.6/configure   2023-11-23 22:39:52.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.5.
+# Generated by GNU Autoconf 2.69 for ethtool 6.6.
 #
 # Report bugs to <net...@vger.kernel.org>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='ethtool'
 PACKAGE_TARNAME='ethtool'
-PACKAGE_VERSION='6.5'
-PACKAGE_STRING='ethtool 6.5'
+PACKAGE_VERSION='6.6'
+PACKAGE_STRING='ethtool 6.6'
 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.5 to adapt to many kinds of systems.
+\`configure' configures ethtool 6.6 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.5:";;
+     short | recursive ) echo "Configuration of ethtool 6.6:";;
    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.5
+ethtool configure 6.6
 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.5, which was
+It was created by ethtool $as_me 6.6, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2543,7 +2543,7 @@
 
 # Define the identity of the package.
  PACKAGE='ethtool'
- VERSION='6.5'
+ VERSION='6.6'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -5233,7 +5233,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.5, which was
+This file was extended by ethtool $as_me 6.6, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -5299,7 +5299,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.5
+ethtool config.status 6.6
 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.5/configure.ac new/ethtool-6.6/configure.ac
--- old/ethtool-6.5/configure.ac        2023-09-12 22:21:56.000000000 +0200
+++ new/ethtool-6.6/configure.ac        2023-11-23 22:07:15.000000000 +0100
@@ -1,5 +1,5 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_INIT(ethtool, 6.5, net...@vger.kernel.org)
+AC_INIT(ethtool, 6.6, net...@vger.kernel.org)
 AC_PREREQ(2.52)
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_SRCDIR([ethtool.c])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.5/ethtool.8 new/ethtool-6.6/ethtool.8
--- old/ethtool-6.5/ethtool.8   2023-09-12 22:40:48.000000000 +0200
+++ new/ethtool-6.6/ethtool.8   2023-11-23 22:39:54.000000000 +0100
@@ -117,7 +117,7 @@
 .  hy \\n(HY
 ..
 .
-.TH ETHTOOL 8 "September 2023" "Ethtool version 6.5"
+.TH ETHTOOL 8 "November 2023" "Ethtool version 6.6"
 .SH NAME
 ethtool \- query or control network driver and hardware settings
 .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.5/ethtool.8.in new/ethtool-6.6/ethtool.8.in
--- old/ethtool-6.5/ethtool.8.in        2023-09-12 22:21:41.000000000 +0200
+++ new/ethtool-6.6/ethtool.8.in        2023-11-23 22:07:06.000000000 +0100
@@ -117,7 +117,7 @@
 .  hy \\n(HY
 ..
 .
-.TH ETHTOOL 8 "September 2023" "Ethtool version @VERSION@"
+.TH ETHTOOL 8 "November 2023" "Ethtool version @VERSION@"
 .SH NAME
 ethtool \- query or control network driver and hardware settings
 .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.5/ethtool.spec new/ethtool-6.6/ethtool.spec
--- old/ethtool-6.5/ethtool.spec        2023-09-12 22:40:49.000000000 +0200
+++ new/ethtool-6.6/ethtool.spec        2023-11-23 22:39:54.000000000 +0100
@@ -1,5 +1,5 @@
 Name           : ethtool
-Version                : 6.5
+Version                : 6.6
 Release                : 1
 Group          : Utilities
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.5/netlink/module-eeprom.c 
new/ethtool-6.6/netlink/module-eeprom.c
--- old/ethtool-6.5/netlink/module-eeprom.c     2022-04-04 02:14:43.000000000 
+0200
+++ new/ethtool-6.6/netlink/module-eeprom.c     2023-11-23 18:22:33.000000000 
+0100
@@ -225,6 +225,9 @@
        case SFF8024_ID_QSFP_DD:
        case SFF8024_ID_OSFP:
        case SFF8024_ID_DSFP:
+       case SFF8024_ID_QSFP_PLUS_CMIS:
+       case SFF8024_ID_SFP_DD_CMIS:
+       case SFF8024_ID_SFP_PLUS_CMIS:
                return cmis_show_all_nl(ctx);
 #endif
        default:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.5/qsfp.c new/ethtool-6.6/qsfp.c
--- old/ethtool-6.5/qsfp.c      2023-06-14 20:46:26.000000000 +0200
+++ new/ethtool-6.6/qsfp.c      2023-11-23 18:22:33.000000000 +0100
@@ -977,9 +977,13 @@
 {
        struct sff8636_memory_map map = {};
 
-       if (id[SFF8636_ID_OFFSET] == SFF8024_ID_QSFP_DD ||
-           id[SFF8636_ID_OFFSET] == SFF8024_ID_OSFP ||
-           id[SFF8636_ID_OFFSET] == SFF8024_ID_DSFP) {
+       switch (id[SFF8636_ID_OFFSET]) {
+       case SFF8024_ID_QSFP_DD:
+       case SFF8024_ID_OSFP:
+       case SFF8024_ID_DSFP:
+       case SFF8024_ID_QSFP_PLUS_CMIS:
+       case SFF8024_ID_SFP_DD_CMIS:
+       case SFF8024_ID_SFP_PLUS_CMIS:
                cmis_show_all_ioctl(id);
                return;
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.5/sff-common.c new/ethtool-6.6/sff-common.c
--- old/ethtool-6.5/sff-common.c        2023-06-14 20:46:26.000000000 +0200
+++ new/ethtool-6.6/sff-common.c        2023-11-23 18:22:33.000000000 +0100
@@ -162,6 +162,15 @@
        case SFF8024_ID_DSFP:
                printf(" (DSFP Dual Small Form Factor Pluggable 
Transceiver)\n");
                break;
+       case SFF8024_ID_QSFP_PLUS_CMIS:
+               printf(" (QSFP+ or later with Common Management Interface 
Specification (CMIS))\n");
+               break;
+       case SFF8024_ID_SFP_DD_CMIS:
+               printf(" (SFP-DD Double Density 2X Pluggable Transceiver with 
Common Management Interface Specification (CMIS))\n");
+               break;
+       case SFF8024_ID_SFP_PLUS_CMIS:
+               printf(" (SFP+ and later with Common Management Interface 
Specification (CMIS))\n");
+               break;
        default:
                printf(" (reserved or unknown)\n");
                break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.5/sff-common.h new/ethtool-6.6/sff-common.h
--- old/ethtool-6.5/sff-common.h        2023-06-14 20:46:26.000000000 +0200
+++ new/ethtool-6.6/sff-common.h        2023-11-23 18:22:33.000000000 +0100
@@ -64,7 +64,10 @@
 #define  SFF8024_ID_QSFP_DD                            0x18
 #define  SFF8024_ID_OSFP                               0x19
 #define  SFF8024_ID_DSFP                               0x1B
-#define  SFF8024_ID_LAST                               SFF8024_ID_DSFP
+#define  SFF8024_ID_QSFP_PLUS_CMIS                     0x1E
+#define  SFF8024_ID_SFP_DD_CMIS                                0x1F
+#define  SFF8024_ID_SFP_PLUS_CMIS                      0x20
+#define  SFF8024_ID_LAST                               SFF8024_ID_SFP_PLUS_CMIS
 #define  SFF8024_ID_UNALLOCATED_LAST   0x7F
 #define  SFF8024_ID_VENDOR_START               0x80
 #define  SFF8024_ID_VENDOR_LAST                        0xFF
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.5/uapi/linux/const.h 
new/ethtool-6.6/uapi/linux/const.h
--- old/ethtool-6.5/uapi/linux/const.h  1970-01-01 01:00:00.000000000 +0100
+++ new/ethtool-6.6/uapi/linux/const.h  2023-09-12 23:00:14.000000000 +0200
@@ -0,0 +1,36 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/* const.h: Macros for dealing with constants.  */
+
+#ifndef _LINUX_CONST_H
+#define _LINUX_CONST_H
+
+/* Some constant macros are used in both assembler and
+ * C code.  Therefore we cannot annotate them always with
+ * 'UL' and other type specifiers unilaterally.  We
+ * use the following macros to deal with this.
+ *
+ * Similarly, _AT() will cast an expression with a type in C, but
+ * leave it unchanged in asm.
+ */
+
+#ifdef __ASSEMBLY__
+#define _AC(X,Y)       X
+#define _AT(T,X)       X
+#else
+#define __AC(X,Y)      (X##Y)
+#define _AC(X,Y)       __AC(X,Y)
+#define _AT(T,X)       ((T)(X))
+#endif
+
+#define _UL(x)         (_AC(x, UL))
+#define _ULL(x)                (_AC(x, ULL))
+
+#define _BITUL(x)      (_UL(1) << (x))
+#define _BITULL(x)     (_ULL(1) << (x))
+
+#define __ALIGN_KERNEL(x, a)           __ALIGN_KERNEL_MASK(x, 
(__typeof__(x))(a) - 1)
+#define __ALIGN_KERNEL_MASK(x, mask)   (((x) + (mask)) & ~(mask))
+
+#define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
+
+#endif /* _LINUX_CONST_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.5/uapi/linux/if_addr.h 
new/ethtool-6.6/uapi/linux/if_addr.h
--- old/ethtool-6.5/uapi/linux/if_addr.h        1970-01-01 01:00:00.000000000 
+0100
+++ new/ethtool-6.6/uapi/linux/if_addr.h        2023-09-12 23:00:14.000000000 
+0200
@@ -0,0 +1,77 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef __LINUX_IF_ADDR_H
+#define __LINUX_IF_ADDR_H
+
+#include <linux/types.h>
+#include <linux/netlink.h>
+
+struct ifaddrmsg {
+       __u8            ifa_family;
+       __u8            ifa_prefixlen;  /* The prefix length            */
+       __u8            ifa_flags;      /* Flags                        */
+       __u8            ifa_scope;      /* Address scope                */
+       __u32           ifa_index;      /* Link index                   */
+};
+
+/*
+ * Important comment:
+ * IFA_ADDRESS is prefix address, rather than local interface address.
+ * It makes no difference for normally configured broadcast interfaces,
+ * but for point-to-point IFA_ADDRESS is DESTINATION address,
+ * local address is supplied in IFA_LOCAL attribute.
+ *
+ * IFA_FLAGS is a u32 attribute that extends the u8 field ifa_flags.
+ * If present, the value from struct ifaddrmsg will be ignored.
+ */
+enum {
+       IFA_UNSPEC,
+       IFA_ADDRESS,
+       IFA_LOCAL,
+       IFA_LABEL,
+       IFA_BROADCAST,
+       IFA_ANYCAST,
+       IFA_CACHEINFO,
+       IFA_MULTICAST,
+       IFA_FLAGS,
+       IFA_RT_PRIORITY,        /* u32, priority/metric for prefix route */
+       IFA_TARGET_NETNSID,
+       IFA_PROTO,              /* u8, address protocol */
+       __IFA_MAX,
+};
+
+#define IFA_MAX (__IFA_MAX - 1)
+
+/* ifa_flags */
+#define IFA_F_SECONDARY                0x01
+#define IFA_F_TEMPORARY                IFA_F_SECONDARY
+
+#define        IFA_F_NODAD             0x02
+#define IFA_F_OPTIMISTIC       0x04
+#define IFA_F_DADFAILED                0x08
+#define        IFA_F_HOMEADDRESS       0x10
+#define IFA_F_DEPRECATED       0x20
+#define IFA_F_TENTATIVE                0x40
+#define IFA_F_PERMANENT                0x80
+#define IFA_F_MANAGETEMPADDR   0x100
+#define IFA_F_NOPREFIXROUTE    0x200
+#define IFA_F_MCAUTOJOIN       0x400
+#define IFA_F_STABLE_PRIVACY   0x800
+
+struct ifa_cacheinfo {
+       __u32   ifa_prefered;
+       __u32   ifa_valid;
+       __u32   cstamp; /* created timestamp, hundredths of seconds */
+       __u32   tstamp; /* updated timestamp, hundredths of seconds */
+};
+
+/* backwards compatibility for userspace */
+#define IFA_RTA(r)  ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct 
ifaddrmsg))))
+#define IFA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifaddrmsg))
+
+/* ifa_proto */
+#define IFAPROT_UNSPEC         0
+#define IFAPROT_KERNEL_LO      1       /* loopback */
+#define IFAPROT_KERNEL_RA      2       /* set by kernel from router 
announcement */
+#define IFAPROT_KERNEL_LL      3       /* link-local set by kernel */
+
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.5/uapi/linux/if_ether.h 
new/ethtool-6.6/uapi/linux/if_ether.h
--- old/ethtool-6.5/uapi/linux/if_ether.h       1970-01-01 01:00:00.000000000 
+0100
+++ new/ethtool-6.6/uapi/linux/if_ether.h       2023-09-12 23:00:14.000000000 
+0200
@@ -0,0 +1,181 @@
+/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
+/*
+ * INET                An implementation of the TCP/IP protocol suite for the 
LINUX
+ *             operating system.  INET is implemented using the  BSD Socket
+ *             interface as the means of communication with the user level.
+ *
+ *             Global definitions for the Ethernet IEEE 802.3 interface.
+ *
+ * Version:    @(#)if_ether.h  1.0.1a  02/08/94
+ *
+ * Author:     Fred N. van Kempen, <wal...@uwalt.nl.mugnet.org>
+ *             Donald Becker, <bec...@super.org>
+ *             Alan Cox, <a...@lxorguk.ukuu.org.uk>
+ *             Steve Whitehouse, <gw7...@eeshack3.swan.ac.uk>
+ *
+ *             This program is free software; you can redistribute it and/or
+ *             modify it under the terms of the GNU General Public License
+ *             as published by the Free Software Foundation; either version
+ *             2 of the License, or (at your option) any later version.
+ */
+
+#ifndef _LINUX_IF_ETHER_H
+#define _LINUX_IF_ETHER_H
+
+#include <linux/types.h>
+
+/*
+ *     IEEE 802.3 Ethernet magic constants.  The frame sizes omit the preamble
+ *     and FCS/CRC (frame check sequence).
+ */
+
+#define ETH_ALEN       6               /* Octets in one ethernet addr   */
+#define ETH_TLEN       2               /* Octets in ethernet type field */
+#define ETH_HLEN       14              /* Total octets in header.       */
+#define ETH_ZLEN       60              /* Min. octets in frame sans FCS */
+#define ETH_DATA_LEN   1500            /* Max. octets in payload        */
+#define ETH_FRAME_LEN  1514            /* Max. octets in frame sans FCS */
+#define ETH_FCS_LEN    4               /* Octets in the FCS             */
+
+#define ETH_MIN_MTU    68              /* Min IPv4 MTU per RFC791      */
+#define ETH_MAX_MTU    0xFFFFU         /* 65535, same as IP_MAX_MTU    */
+
+/*
+ *     These are the defined Ethernet Protocol ID's.
+ */
+
+#define ETH_P_LOOP     0x0060          /* Ethernet Loopback packet     */
+#define ETH_P_PUP      0x0200          /* Xerox PUP packet             */
+#define ETH_P_PUPAT    0x0201          /* Xerox PUP Addr Trans packet  */
+#define ETH_P_TSN      0x22F0          /* TSN (IEEE 1722) packet       */
+#define ETH_P_ERSPAN2  0x22EB          /* ERSPAN version 2 (type III)  */
+#define ETH_P_IP       0x0800          /* Internet Protocol packet     */
+#define ETH_P_X25      0x0805          /* CCITT X.25                   */
+#define ETH_P_ARP      0x0806          /* Address Resolution packet    */
+#define        ETH_P_BPQ       0x08FF          /* G8BPQ AX.25 Ethernet Packet  
[ NOT AN OFFICIALLY REGISTERED ID ] */
+#define ETH_P_IEEEPUP  0x0a00          /* Xerox IEEE802.3 PUP packet */
+#define ETH_P_IEEEPUPAT        0x0a01          /* Xerox IEEE802.3 PUP Addr 
Trans packet */
+#define ETH_P_BATMAN   0x4305          /* B.A.T.M.A.N.-Advanced packet [ NOT 
AN OFFICIALLY REGISTERED ID ] */
+#define ETH_P_DEC       0x6000          /* DEC Assigned proto           */
+#define ETH_P_DNA_DL    0x6001          /* DEC DNA Dump/Load            */
+#define ETH_P_DNA_RC    0x6002          /* DEC DNA Remote Console       */
+#define ETH_P_DNA_RT    0x6003          /* DEC DNA Routing              */
+#define ETH_P_LAT       0x6004          /* DEC LAT                      */
+#define ETH_P_DIAG      0x6005          /* DEC Diagnostics              */
+#define ETH_P_CUST      0x6006          /* DEC Customer use             */
+#define ETH_P_SCA       0x6007          /* DEC Systems Comms Arch       */
+#define ETH_P_TEB      0x6558          /* Trans Ether Bridging         */
+#define ETH_P_RARP      0x8035         /* Reverse Addr Res packet      */
+#define ETH_P_ATALK    0x809B          /* Appletalk DDP                */
+#define ETH_P_AARP     0x80F3          /* Appletalk AARP               */
+#define ETH_P_8021Q    0x8100          /* 802.1Q VLAN Extended Header  */
+#define ETH_P_ERSPAN   0x88BE          /* ERSPAN type II               */
+#define ETH_P_IPX      0x8137          /* IPX over DIX                 */
+#define ETH_P_IPV6     0x86DD          /* IPv6 over bluebook           */
+#define ETH_P_PAUSE    0x8808          /* IEEE Pause frames. See 802.3 31B */
+#define ETH_P_SLOW     0x8809          /* Slow Protocol. See 802.3ad 43B */
+#define ETH_P_WCCP     0x883E          /* Web-cache coordination protocol
+                                        * defined in 
draft-wilson-wrec-wccp-v2-00.txt */
+#define ETH_P_MPLS_UC  0x8847          /* MPLS Unicast traffic         */
+#define ETH_P_MPLS_MC  0x8848          /* MPLS Multicast traffic       */
+#define ETH_P_ATMMPOA  0x884c          /* MultiProtocol Over ATM       */
+#define ETH_P_PPP_DISC 0x8863          /* PPPoE discovery messages     */
+#define ETH_P_PPP_SES  0x8864          /* PPPoE session messages       */
+#define ETH_P_LINK_CTL 0x886c          /* HPNA, wlan link local tunnel */
+#define ETH_P_ATMFATE  0x8884          /* Frame-based ATM Transport
+                                        * over Ethernet
+                                        */
+#define ETH_P_PAE      0x888E          /* Port Access Entity (IEEE 802.1X) */
+#define ETH_P_PROFINET 0x8892          /* PROFINET                     */
+#define ETH_P_REALTEK  0x8899          /* Multiple proprietary protocols */
+#define ETH_P_AOE      0x88A2          /* ATA over Ethernet            */
+#define ETH_P_ETHERCAT 0x88A4          /* EtherCAT                     */
+#define ETH_P_8021AD   0x88A8          /* 802.1ad Service VLAN         */
+#define ETH_P_802_EX1  0x88B5          /* 802.1 Local Experimental 1.  */
+#define ETH_P_PREAUTH  0x88C7          /* 802.11 Preauthentication */
+#define ETH_P_TIPC     0x88CA          /* TIPC                         */
+#define ETH_P_LLDP     0x88CC          /* Link Layer Discovery Protocol */
+#define ETH_P_MRP      0x88E3          /* Media Redundancy Protocol    */
+#define ETH_P_MACSEC   0x88E5          /* 802.1ae MACsec */
+#define ETH_P_8021AH   0x88E7          /* 802.1ah Backbone Service Tag */
+#define ETH_P_MVRP     0x88F5          /* 802.1Q MVRP                  */
+#define ETH_P_1588     0x88F7          /* IEEE 1588 Timesync */
+#define ETH_P_NCSI     0x88F8          /* NCSI protocol                */
+#define ETH_P_PRP      0x88FB          /* IEC 62439-3 PRP/HSRv0        */
+#define ETH_P_CFM      0x8902          /* Connectivity Fault Management */
+#define ETH_P_FCOE     0x8906          /* Fibre Channel over Ethernet  */
+#define ETH_P_IBOE     0x8915          /* Infiniband over Ethernet     */
+#define ETH_P_TDLS     0x890D          /* TDLS */
+#define ETH_P_FIP      0x8914          /* FCoE Initialization Protocol */
+#define ETH_P_80221    0x8917          /* IEEE 802.21 Media Independent 
Handover Protocol */
+#define ETH_P_HSR      0x892F          /* IEC 62439-3 HSRv1    */
+#define ETH_P_NSH      0x894F          /* Network Service Header */
+#define ETH_P_LOOPBACK 0x9000          /* Ethernet loopback packet, per IEEE 
802.3 */
+#define ETH_P_QINQ1    0x9100          /* deprecated QinQ VLAN [ NOT AN 
OFFICIALLY REGISTERED ID ] */
+#define ETH_P_QINQ2    0x9200          /* deprecated QinQ VLAN [ NOT AN 
OFFICIALLY REGISTERED ID ] */
+#define ETH_P_QINQ3    0x9300          /* deprecated QinQ VLAN [ NOT AN 
OFFICIALLY REGISTERED ID ] */
+#define ETH_P_EDSA     0xDADA          /* Ethertype DSA [ NOT AN OFFICIALLY 
REGISTERED ID ] */
+#define ETH_P_DSA_8021Q        0xDADB          /* Fake VLAN Header for DSA [ 
NOT AN OFFICIALLY REGISTERED ID ] */
+#define ETH_P_DSA_A5PSW        0xE001          /* A5PSW Tag Value [ NOT AN 
OFFICIALLY REGISTERED ID ] */
+#define ETH_P_IFE      0xED3E          /* ForCES inter-FE LFB type */
+#define ETH_P_AF_IUCV   0xFBFB         /* IBM af_iucv [ NOT AN OFFICIALLY 
REGISTERED ID ] */
+
+#define ETH_P_802_3_MIN        0x0600          /* If the value in the ethernet 
type is more than this value
+                                        * then the frame is Ethernet II. Else 
it is 802.3 */
+
+/*
+ *     Non DIX types. Won't clash for 1500 types.
+ */
+
+#define ETH_P_802_3    0x0001          /* Dummy type for 802.3 frames  */
+#define ETH_P_AX25     0x0002          /* Dummy protocol id for AX.25  */
+#define ETH_P_ALL      0x0003          /* Every packet (be careful!!!) */
+#define ETH_P_802_2    0x0004          /* 802.2 frames                 */
+#define ETH_P_SNAP     0x0005          /* Internal only                */
+#define ETH_P_DDCMP     0x0006          /* DEC DDCMP: Internal only     */
+#define ETH_P_WAN_PPP   0x0007          /* Dummy type for WAN PPP frames*/
+#define ETH_P_PPP_MP    0x0008          /* Dummy type for PPP MP frames */
+#define ETH_P_LOCALTALK 0x0009         /* Localtalk pseudo type        */
+#define ETH_P_CAN      0x000C          /* CAN: Controller Area Network */
+#define ETH_P_CANFD    0x000D          /* CANFD: CAN flexible data rate*/
+#define ETH_P_CANXL    0x000E          /* CANXL: eXtended frame Length */
+#define ETH_P_PPPTALK  0x0010          /* Dummy type for Atalk over PPP*/
+#define ETH_P_TR_802_2 0x0011          /* 802.2 frames                 */
+#define ETH_P_MOBITEX  0x0015          /* Mobitex (k...@cafe.net)      */
+#define ETH_P_CONTROL  0x0016          /* Card specific control frames */
+#define ETH_P_IRDA     0x0017          /* Linux-IrDA                   */
+#define ETH_P_ECONET   0x0018          /* Acorn Econet                 */
+#define ETH_P_HDLC     0x0019          /* HDLC frames                  */
+#define ETH_P_ARCNET   0x001A          /* 1A for ArcNet :-)            */
+#define ETH_P_DSA      0x001B          /* Distributed Switch Arch.     */
+#define ETH_P_TRAILER  0x001C          /* Trailer switch tagging       */
+#define ETH_P_PHONET   0x00F5          /* Nokia Phonet frames          */
+#define ETH_P_IEEE802154 0x00F6                /* IEEE802.15.4 frame           
*/
+#define ETH_P_CAIF     0x00F7          /* ST-Ericsson CAIF protocol    */
+#define ETH_P_XDSA     0x00F8          /* Multiplexed DSA protocol     */
+#define ETH_P_MAP      0x00F9          /* Qualcomm multiplexing and
+                                        * aggregation protocol
+                                        */
+#define ETH_P_MCTP     0x00FA          /* Management component transport
+                                        * protocol packets
+                                        */
+
+/*
+ *     This is an Ethernet frame header.
+ */
+
+/* allow libcs like musl to deactivate this, glibc does not implement this. */
+#ifndef __UAPI_DEF_ETHHDR
+#define __UAPI_DEF_ETHHDR              1
+#endif
+
+#if __UAPI_DEF_ETHHDR
+struct ethhdr {
+       unsigned char   h_dest[ETH_ALEN];       /* destination eth addr */
+       unsigned char   h_source[ETH_ALEN];     /* source ether addr    */
+       __be16          h_proto;                /* packet type ID field */
+} __attribute__((packed));
+#endif
+
+
+#endif /* _LINUX_IF_ETHER_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.5/uapi/linux/if_link.h 
new/ethtool-6.6/uapi/linux/if_link.h
--- old/ethtool-6.5/uapi/linux/if_link.h        2023-09-12 22:20:52.000000000 
+0200
+++ new/ethtool-6.6/uapi/linux/if_link.h        2023-09-12 23:00:58.000000000 
+0200
@@ -568,6 +568,7 @@
        IFLA_BRPORT_MCAST_N_GROUPS,
        IFLA_BRPORT_MCAST_MAX_GROUPS,
        IFLA_BRPORT_NEIGH_VLAN_SUPPRESS,
+       IFLA_BRPORT_BACKUP_NHID,
        __IFLA_BRPORT_MAX
 };
 #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.5/uapi/linux/libc-compat.h 
new/ethtool-6.6/uapi/linux/libc-compat.h
--- old/ethtool-6.5/uapi/linux/libc-compat.h    1970-01-01 01:00:00.000000000 
+0100
+++ new/ethtool-6.6/uapi/linux/libc-compat.h    2023-09-12 23:00:14.000000000 
+0200
@@ -0,0 +1,267 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Compatibility interface for userspace libc header coordination:
+ *
+ * Define compatibility macros that are used to control the inclusion or
+ * exclusion of UAPI structures and definitions in coordination with another
+ * userspace C library.
+ *
+ * This header is intended to solve the problem of UAPI definitions that
+ * conflict with userspace definitions. If a UAPI header has such conflicting
+ * definitions then the solution is as follows:
+ *
+ * * Synchronize the UAPI header and the libc headers so either one can be
+ *   used and such that the ABI is preserved. If this is not possible then
+ *   no simple compatibility interface exists (you need to write translating
+ *   wrappers and rename things) and you can't use this interface.
+ *
+ * Then follow this process:
+ *
+ * (a) Include libc-compat.h in the UAPI header.
+ *      e.g. #include <linux/libc-compat.h>
+ *     This include must be as early as possible.
+ *
+ * (b) In libc-compat.h add enough code to detect that the comflicting
+ *     userspace libc header has been included first.
+ *
+ * (c) If the userspace libc header has been included first define a set of
+ *     guard macros of the form __UAPI_DEF_FOO and set their values to 1, else
+ *     set their values to 0.
+ *
+ * (d) Back in the UAPI header with the conflicting definitions, guard the
+ *     definitions with:
+ *     #if __UAPI_DEF_FOO
+ *       ...
+ *     #endif
+ *
+ * This fixes the situation where the linux headers are included *after* the
+ * libc headers. To fix the problem with the inclusion in the other order the
+ * userspace libc headers must be fixed like this:
+ *
+ * * For all definitions that conflict with kernel definitions wrap those
+ *   defines in the following:
+ *   #if !__UAPI_DEF_FOO
+ *     ...
+ *   #endif
+ *
+ * This prevents the redefinition of a construct already defined by the kernel.
+ */
+#ifndef _LIBC_COMPAT_H
+#define _LIBC_COMPAT_H
+
+/* We have included glibc headers... */
+#if defined(__GLIBC__)
+
+/* Coordinate with glibc net/if.h header. */
+#if defined(_NET_IF_H) && defined(__USE_MISC)
+
+/* GLIBC headers included first so don't define anything
+ * that would already be defined. */
+
+#define __UAPI_DEF_IF_IFCONF 0
+#define __UAPI_DEF_IF_IFMAP 0
+#define __UAPI_DEF_IF_IFNAMSIZ 0
+#define __UAPI_DEF_IF_IFREQ 0
+/* Everything up to IFF_DYNAMIC, matches net/if.h until glibc 2.23 */
+#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 0
+/* For the future if glibc adds IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO */
+#ifndef __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO
+#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 1
+#endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO */
+
+#else /* _NET_IF_H */
+
+/* Linux headers included first, and we must define everything
+ * we need. The expectation is that glibc will check the
+ * __UAPI_DEF_* defines and adjust appropriately. */
+
+#define __UAPI_DEF_IF_IFCONF 1
+#define __UAPI_DEF_IF_IFMAP 1
+#define __UAPI_DEF_IF_IFNAMSIZ 1
+#define __UAPI_DEF_IF_IFREQ 1
+/* Everything up to IFF_DYNAMIC, matches net/if.h until glibc 2.23 */
+#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 1
+/* For the future if glibc adds IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO */
+#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 1
+
+#endif /* _NET_IF_H */
+
+/* Coordinate with glibc netinet/in.h header. */
+#if defined(_NETINET_IN_H)
+
+/* GLIBC headers included first so don't define anything
+ * that would already be defined. */
+#define __UAPI_DEF_IN_ADDR             0
+#define __UAPI_DEF_IN_IPPROTO          0
+#define __UAPI_DEF_IN_PKTINFO          0
+#define __UAPI_DEF_IP_MREQ             0
+#define __UAPI_DEF_SOCKADDR_IN         0
+#define __UAPI_DEF_IN_CLASS            0
+
+#define __UAPI_DEF_IN6_ADDR            0
+/* The exception is the in6_addr macros which must be defined
+ * if the glibc code didn't define them. This guard matches
+ * the guard in glibc/inet/netinet/in.h which defines the
+ * additional in6_addr macros e.g. s6_addr16, and s6_addr32. */
+#if defined(__USE_MISC) || defined (__USE_GNU)
+#define __UAPI_DEF_IN6_ADDR_ALT                0
+#else
+#define __UAPI_DEF_IN6_ADDR_ALT                1
+#endif
+#define __UAPI_DEF_SOCKADDR_IN6                0
+#define __UAPI_DEF_IPV6_MREQ           0
+#define __UAPI_DEF_IPPROTO_V6          0
+#define __UAPI_DEF_IPV6_OPTIONS                0
+#define __UAPI_DEF_IN6_PKTINFO         0
+#define __UAPI_DEF_IP6_MTUINFO         0
+
+#else
+
+/* Linux headers included first, and we must define everything
+ * we need. The expectation is that glibc will check the
+ * __UAPI_DEF_* defines and adjust appropriately. */
+#define __UAPI_DEF_IN_ADDR             1
+#define __UAPI_DEF_IN_IPPROTO          1
+#define __UAPI_DEF_IN_PKTINFO          1
+#define __UAPI_DEF_IP_MREQ             1
+#define __UAPI_DEF_SOCKADDR_IN         1
+#define __UAPI_DEF_IN_CLASS            1
+
+#define __UAPI_DEF_IN6_ADDR            1
+/* We unconditionally define the in6_addr macros and glibc must
+ * coordinate. */
+#define __UAPI_DEF_IN6_ADDR_ALT                1
+#define __UAPI_DEF_SOCKADDR_IN6                1
+#define __UAPI_DEF_IPV6_MREQ           1
+#define __UAPI_DEF_IPPROTO_V6          1
+#define __UAPI_DEF_IPV6_OPTIONS                1
+#define __UAPI_DEF_IN6_PKTINFO         1
+#define __UAPI_DEF_IP6_MTUINFO         1
+
+#endif /* _NETINET_IN_H */
+
+/* Coordinate with glibc netipx/ipx.h header. */
+#if defined(__NETIPX_IPX_H)
+
+#define __UAPI_DEF_SOCKADDR_IPX                        0
+#define __UAPI_DEF_IPX_ROUTE_DEFINITION                0
+#define __UAPI_DEF_IPX_INTERFACE_DEFINITION    0
+#define __UAPI_DEF_IPX_CONFIG_DATA             0
+#define __UAPI_DEF_IPX_ROUTE_DEF               0
+
+#else /* defined(__NETIPX_IPX_H) */
+
+#define __UAPI_DEF_SOCKADDR_IPX                        1
+#define __UAPI_DEF_IPX_ROUTE_DEFINITION                1
+#define __UAPI_DEF_IPX_INTERFACE_DEFINITION    1
+#define __UAPI_DEF_IPX_CONFIG_DATA             1
+#define __UAPI_DEF_IPX_ROUTE_DEF               1
+
+#endif /* defined(__NETIPX_IPX_H) */
+
+/* Definitions for xattr.h */
+#if defined(_SYS_XATTR_H)
+#define __UAPI_DEF_XATTR               0
+#else
+#define __UAPI_DEF_XATTR               1
+#endif
+
+/* If we did not see any headers from any supported C libraries,
+ * or we are being included in the kernel, then define everything
+ * that we need. Check for previous __UAPI_* definitions to give
+ * unsupported C libraries a way to opt out of any kernel definition. */
+#else /* !defined(__GLIBC__) */
+
+/* Definitions for if.h */
+#ifndef __UAPI_DEF_IF_IFCONF
+#define __UAPI_DEF_IF_IFCONF 1
+#endif
+#ifndef __UAPI_DEF_IF_IFMAP
+#define __UAPI_DEF_IF_IFMAP 1
+#endif
+#ifndef __UAPI_DEF_IF_IFNAMSIZ
+#define __UAPI_DEF_IF_IFNAMSIZ 1
+#endif
+#ifndef __UAPI_DEF_IF_IFREQ
+#define __UAPI_DEF_IF_IFREQ 1
+#endif
+/* Everything up to IFF_DYNAMIC, matches net/if.h until glibc 2.23 */
+#ifndef __UAPI_DEF_IF_NET_DEVICE_FLAGS
+#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 1
+#endif
+/* For the future if glibc adds IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO */
+#ifndef __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO
+#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 1
+#endif
+
+/* Definitions for in.h */
+#ifndef __UAPI_DEF_IN_ADDR
+#define __UAPI_DEF_IN_ADDR             1
+#endif
+#ifndef __UAPI_DEF_IN_IPPROTO
+#define __UAPI_DEF_IN_IPPROTO          1
+#endif
+#ifndef __UAPI_DEF_IN_PKTINFO
+#define __UAPI_DEF_IN_PKTINFO          1
+#endif
+#ifndef __UAPI_DEF_IP_MREQ
+#define __UAPI_DEF_IP_MREQ             1
+#endif
+#ifndef __UAPI_DEF_SOCKADDR_IN
+#define __UAPI_DEF_SOCKADDR_IN         1
+#endif
+#ifndef __UAPI_DEF_IN_CLASS
+#define __UAPI_DEF_IN_CLASS            1
+#endif
+
+/* Definitions for in6.h */
+#ifndef __UAPI_DEF_IN6_ADDR
+#define __UAPI_DEF_IN6_ADDR            1
+#endif
+#ifndef __UAPI_DEF_IN6_ADDR_ALT
+#define __UAPI_DEF_IN6_ADDR_ALT                1
+#endif
+#ifndef __UAPI_DEF_SOCKADDR_IN6
+#define __UAPI_DEF_SOCKADDR_IN6                1
+#endif
+#ifndef __UAPI_DEF_IPV6_MREQ
+#define __UAPI_DEF_IPV6_MREQ           1
+#endif
+#ifndef __UAPI_DEF_IPPROTO_V6
+#define __UAPI_DEF_IPPROTO_V6          1
+#endif
+#ifndef __UAPI_DEF_IPV6_OPTIONS
+#define __UAPI_DEF_IPV6_OPTIONS                1
+#endif
+#ifndef __UAPI_DEF_IN6_PKTINFO
+#define __UAPI_DEF_IN6_PKTINFO         1
+#endif
+#ifndef __UAPI_DEF_IP6_MTUINFO
+#define __UAPI_DEF_IP6_MTUINFO         1
+#endif
+
+/* Definitions for ipx.h */
+#ifndef __UAPI_DEF_SOCKADDR_IPX
+#define __UAPI_DEF_SOCKADDR_IPX                        1
+#endif
+#ifndef __UAPI_DEF_IPX_ROUTE_DEFINITION
+#define __UAPI_DEF_IPX_ROUTE_DEFINITION                1
+#endif
+#ifndef __UAPI_DEF_IPX_INTERFACE_DEFINITION
+#define __UAPI_DEF_IPX_INTERFACE_DEFINITION    1
+#endif
+#ifndef __UAPI_DEF_IPX_CONFIG_DATA
+#define __UAPI_DEF_IPX_CONFIG_DATA             1
+#endif
+#ifndef __UAPI_DEF_IPX_ROUTE_DEF
+#define __UAPI_DEF_IPX_ROUTE_DEF               1
+#endif
+
+/* Definitions for xattr.h */
+#ifndef __UAPI_DEF_XATTR
+#define __UAPI_DEF_XATTR               1
+#endif
+
+#endif /* __GLIBC__ */
+
+#endif /* _LIBC_COMPAT_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.5/uapi/linux/neighbour.h 
new/ethtool-6.6/uapi/linux/neighbour.h
--- old/ethtool-6.5/uapi/linux/neighbour.h      1970-01-01 01:00:00.000000000 
+0100
+++ new/ethtool-6.6/uapi/linux/neighbour.h      2023-09-12 23:00:14.000000000 
+0200
@@ -0,0 +1,224 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef __LINUX_NEIGHBOUR_H
+#define __LINUX_NEIGHBOUR_H
+
+#include <linux/types.h>
+#include <linux/netlink.h>
+
+struct ndmsg {
+       __u8            ndm_family;
+       __u8            ndm_pad1;
+       __u16           ndm_pad2;
+       __s32           ndm_ifindex;
+       __u16           ndm_state;
+       __u8            ndm_flags;
+       __u8            ndm_type;
+};
+
+enum {
+       NDA_UNSPEC,
+       NDA_DST,
+       NDA_LLADDR,
+       NDA_CACHEINFO,
+       NDA_PROBES,
+       NDA_VLAN,
+       NDA_PORT,
+       NDA_VNI,
+       NDA_IFINDEX,
+       NDA_MASTER,
+       NDA_LINK_NETNSID,
+       NDA_SRC_VNI,
+       NDA_PROTOCOL,  /* Originator of entry */
+       NDA_NH_ID,
+       NDA_FDB_EXT_ATTRS,
+       NDA_FLAGS_EXT,
+       NDA_NDM_STATE_MASK,
+       NDA_NDM_FLAGS_MASK,
+       __NDA_MAX
+};
+
+#define NDA_MAX (__NDA_MAX - 1)
+
+/*
+ *     Neighbor Cache Entry Flags
+ */
+
+#define NTF_USE                (1 << 0)
+#define NTF_SELF       (1 << 1)
+#define NTF_MASTER     (1 << 2)
+#define NTF_PROXY      (1 << 3)        /* == ATF_PUBL */
+#define NTF_EXT_LEARNED        (1 << 4)
+#define NTF_OFFLOADED   (1 << 5)
+#define NTF_STICKY     (1 << 6)
+#define NTF_ROUTER     (1 << 7)
+/* Extended flags under NDA_FLAGS_EXT: */
+#define NTF_EXT_MANAGED                (1 << 0)
+#define NTF_EXT_LOCKED         (1 << 1)
+
+/*
+ *     Neighbor Cache Entry States.
+ */
+
+#define NUD_INCOMPLETE 0x01
+#define NUD_REACHABLE  0x02
+#define NUD_STALE      0x04
+#define NUD_DELAY      0x08
+#define NUD_PROBE      0x10
+#define NUD_FAILED     0x20
+
+/* Dummy states */
+#define NUD_NOARP      0x40
+#define NUD_PERMANENT  0x80
+#define NUD_NONE       0x00
+
+/* NUD_NOARP & NUD_PERMANENT are pseudostates, they never change and make no
+ * address resolution or NUD.
+ *
+ * NUD_PERMANENT also cannot be deleted by garbage collectors. This holds true
+ * for dynamic entries with NTF_EXT_LEARNED flag as well. However, upon carrier
+ * down event, NUD_PERMANENT entries are not flushed whereas NTF_EXT_LEARNED
+ * flagged entries explicitly are (which is also consistent with the routing
+ * subsystem).
+ *
+ * When NTF_EXT_LEARNED is set for a bridge fdb entry the different cache entry
+ * states don't make sense and thus are ignored. Such entries don't age and
+ * can roam.
+ *
+ * NTF_EXT_MANAGED flagged neigbor entries are managed by the kernel on behalf
+ * of a user space control plane, and automatically refreshed so that (if
+ * possible) they remain in NUD_REACHABLE state.
+ *
+ * NTF_EXT_LOCKED flagged bridge FDB entries are entries generated by the
+ * bridge in response to a host trying to communicate via a locked bridge port
+ * with MAB enabled. Their purpose is to notify user space that a host requires
+ * authentication.
+ */
+
+struct nda_cacheinfo {
+       __u32           ndm_confirmed;
+       __u32           ndm_used;
+       __u32           ndm_updated;
+       __u32           ndm_refcnt;
+};
+
+/*****************************************************************
+ *             Neighbour tables specific messages.
+ *
+ * To retrieve the neighbour tables send RTM_GETNEIGHTBL with the
+ * NLM_F_DUMP flag set. Every neighbour table configuration is
+ * spread over multiple messages to avoid running into message
+ * size limits on systems with many interfaces. The first message
+ * in the sequence transports all not device specific data such as
+ * statistics, configuration, and the default parameter set.
+ * This message is followed by 0..n messages carrying device
+ * specific parameter sets.
+ * Although the ordering should be sufficient, NDTA_NAME can be
+ * used to identify sequences. The initial message can be identified
+ * by checking for NDTA_CONFIG. The device specific messages do
+ * not contain this TLV but have NDTPA_IFINDEX set to the
+ * corresponding interface index.
+ *
+ * To change neighbour table attributes, send RTM_SETNEIGHTBL
+ * with NDTA_NAME set. Changeable attribute include NDTA_THRESH[1-3],
+ * NDTA_GC_INTERVAL, and all TLVs in NDTA_PARMS unless marked
+ * otherwise. Device specific parameter sets can be changed by
+ * setting NDTPA_IFINDEX to the interface index of the corresponding
+ * device.
+ ****/
+
+struct ndt_stats {
+       __u64           ndts_allocs;
+       __u64           ndts_destroys;
+       __u64           ndts_hash_grows;
+       __u64           ndts_res_failed;
+       __u64           ndts_lookups;
+       __u64           ndts_hits;
+       __u64           ndts_rcv_probes_mcast;
+       __u64           ndts_rcv_probes_ucast;
+       __u64           ndts_periodic_gc_runs;
+       __u64           ndts_forced_gc_runs;
+       __u64           ndts_table_fulls;
+};
+
+enum {
+       NDTPA_UNSPEC,
+       NDTPA_IFINDEX,                  /* u32, unchangeable */
+       NDTPA_REFCNT,                   /* u32, read-only */
+       NDTPA_REACHABLE_TIME,           /* u64, read-only, msecs */
+       NDTPA_BASE_REACHABLE_TIME,      /* u64, msecs */
+       NDTPA_RETRANS_TIME,             /* u64, msecs */
+       NDTPA_GC_STALETIME,             /* u64, msecs */
+       NDTPA_DELAY_PROBE_TIME,         /* u64, msecs */
+       NDTPA_QUEUE_LEN,                /* u32 */
+       NDTPA_APP_PROBES,               /* u32 */
+       NDTPA_UCAST_PROBES,             /* u32 */
+       NDTPA_MCAST_PROBES,             /* u32 */
+       NDTPA_ANYCAST_DELAY,            /* u64, msecs */
+       NDTPA_PROXY_DELAY,              /* u64, msecs */
+       NDTPA_PROXY_QLEN,               /* u32 */
+       NDTPA_LOCKTIME,                 /* u64, msecs */
+       NDTPA_QUEUE_LENBYTES,           /* u32 */
+       NDTPA_MCAST_REPROBES,           /* u32 */
+       NDTPA_PAD,
+       NDTPA_INTERVAL_PROBE_TIME_MS,   /* u64, msecs */
+       __NDTPA_MAX
+};
+#define NDTPA_MAX (__NDTPA_MAX - 1)
+
+struct ndtmsg {
+       __u8            ndtm_family;
+       __u8            ndtm_pad1;
+       __u16           ndtm_pad2;
+};
+
+struct ndt_config {
+       __u16           ndtc_key_len;
+       __u16           ndtc_entry_size;
+       __u32           ndtc_entries;
+       __u32           ndtc_last_flush;        /* delta to now in msecs */
+       __u32           ndtc_last_rand;         /* delta to now in msecs */
+       __u32           ndtc_hash_rnd;
+       __u32           ndtc_hash_mask;
+       __u32           ndtc_hash_chain_gc;
+       __u32           ndtc_proxy_qlen;
+};
+
+enum {
+       NDTA_UNSPEC,
+       NDTA_NAME,                      /* char *, unchangeable */
+       NDTA_THRESH1,                   /* u32 */
+       NDTA_THRESH2,                   /* u32 */
+       NDTA_THRESH3,                   /* u32 */
+       NDTA_CONFIG,                    /* struct ndt_config, read-only */
+       NDTA_PARMS,                     /* nested TLV NDTPA_* */
+       NDTA_STATS,                     /* struct ndt_stats, read-only */
+       NDTA_GC_INTERVAL,               /* u64, msecs */
+       NDTA_PAD,
+       __NDTA_MAX
+};
+#define NDTA_MAX (__NDTA_MAX - 1)
+
+ /* FDB activity notification bits used in NFEA_ACTIVITY_NOTIFY:
+  * - FDB_NOTIFY_BIT - notify on activity/expire for any entry
+  * - FDB_NOTIFY_INACTIVE_BIT - mark as inactive to avoid multiple 
notifications
+  */
+enum {
+       FDB_NOTIFY_BIT          = (1 << 0),
+       FDB_NOTIFY_INACTIVE_BIT = (1 << 1)
+};
+
+/* embedded into NDA_FDB_EXT_ATTRS:
+ * [NDA_FDB_EXT_ATTRS] = {
+ *     [NFEA_ACTIVITY_NOTIFY]
+ *     ...
+ * }
+ */
+enum {
+       NFEA_UNSPEC,
+       NFEA_ACTIVITY_NOTIFY,
+       NFEA_DONT_REFRESH,
+       __NFEA_MAX
+};
+#define NFEA_MAX (__NFEA_MAX - 1)
+
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.5/uapi/linux/posix_types.h 
new/ethtool-6.6/uapi/linux/posix_types.h
--- old/ethtool-6.5/uapi/linux/posix_types.h    1970-01-01 01:00:00.000000000 
+0100
+++ new/ethtool-6.6/uapi/linux/posix_types.h    2023-09-12 23:00:14.000000000 
+0200
@@ -0,0 +1,38 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef _LINUX_POSIX_TYPES_H
+#define _LINUX_POSIX_TYPES_H
+
+#include <linux/stddef.h>
+
+/*
+ * This allows for 1024 file descriptors: if NR_OPEN is ever grown
+ * beyond that you'll have to change this too. But 1024 fd's seem to be
+ * enough even for such "real" unices like OSF/1, so hopefully this is
+ * one limit that doesn't have to be changed [again].
+ *
+ * Note that POSIX wants the FD_CLEAR(fd,fdsetp) defines to be in
+ * <sys/time.h> (and thus <linux/time.h>) - but this is a more logical
+ * place for them. Solved by having dummy defines in <sys/time.h>.
+ */
+
+/*
+ * This macro may have been defined in <gnu/types.h>. But we always
+ * use the one here.
+ */
+#undef __FD_SETSIZE
+#define __FD_SETSIZE   1024
+
+typedef struct {
+       unsigned long fds_bits[__FD_SETSIZE / (8 * sizeof(long))];
+} __kernel_fd_set;
+
+/* Type of a signal handler.  */
+typedef void (*__kernel_sighandler_t)(int);
+
+/* Type of a SYSV IPC key.  */
+typedef int __kernel_key_t;
+typedef int __kernel_mqd_t;
+
+#include <asm/posix_types.h>
+
+#endif /* _LINUX_POSIX_TYPES_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.5/uapi/linux/socket.h 
new/ethtool-6.6/uapi/linux/socket.h
--- old/ethtool-6.5/uapi/linux/socket.h 1970-01-01 01:00:00.000000000 +0100
+++ new/ethtool-6.6/uapi/linux/socket.h 2023-09-12 23:00:14.000000000 +0200
@@ -0,0 +1,38 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef _LINUX_SOCKET_H
+#define _LINUX_SOCKET_H
+
+/*
+ * Desired design of maximum size and alignment (see RFC2553)
+ */
+#define _K_SS_MAXSIZE  128     /* Implementation specific max size */
+
+typedef unsigned short __kernel_sa_family_t;
+
+/*
+ * The definition uses anonymous union and struct in order to control the
+ * default alignment.
+ */
+struct __kernel_sockaddr_storage {
+       union {
+               struct {
+                       __kernel_sa_family_t    ss_family; /* address family */
+                       /* Following field(s) are implementation specific */
+                       char __data[_K_SS_MAXSIZE - sizeof(unsigned short)];
+                               /* space to achieve desired size, */
+                               /* _SS_MAXSIZE value minus size of ss_family */
+               };
+               void *__align; /* implementation specific desired alignment */
+       };
+};
+
+#define SOCK_SNDBUF_LOCK       1
+#define SOCK_RCVBUF_LOCK       2
+
+#define SOCK_BUF_LOCK_MASK (SOCK_SNDBUF_LOCK | SOCK_RCVBUF_LOCK)
+
+#define SOCK_TXREHASH_DEFAULT  255
+#define SOCK_TXREHASH_DISABLED 0
+#define SOCK_TXREHASH_ENABLED  1
+
+#endif /* _LINUX_SOCKET_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.5/uapi/linux/stddef.h 
new/ethtool-6.6/uapi/linux/stddef.h
--- old/ethtool-6.5/uapi/linux/stddef.h 1970-01-01 01:00:00.000000000 +0100
+++ new/ethtool-6.6/uapi/linux/stddef.h 2023-09-12 23:00:58.000000000 +0200
@@ -0,0 +1,51 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef _LINUX_STDDEF_H
+#define _LINUX_STDDEF_H
+
+
+
+#ifndef __always_inline
+#define __always_inline __inline__
+#endif
+
+/**
+ * __struct_group() - Create a mirrored named and anonyomous struct
+ *
+ * @TAG: The tag name for the named sub-struct (usually empty)
+ * @NAME: The identifier name of the mirrored sub-struct
+ * @ATTRS: Any struct attributes (usually empty)
+ * @MEMBERS: The member declarations for the mirrored structs
+ *
+ * Used to create an anonymous union of two structs with identical layout
+ * and size: one anonymous and one named. The former's members can be used
+ * normally without sub-struct naming, and the latter can be used to
+ * reason about the start, end, and size of the group of struct members.
+ * The named struct can also be explicitly tagged for layer reuse, as well
+ * as both having struct attributes appended.
+ */
+#define __struct_group(TAG, NAME, ATTRS, MEMBERS...) \
+       union { \
+               struct { MEMBERS } ATTRS; \
+               struct TAG { MEMBERS } ATTRS NAME; \
+       }
+
+/**
+ * __DECLARE_FLEX_ARRAY() - Declare a flexible array usable in a union
+ *
+ * @TYPE: The type of each flexible array element
+ * @NAME: The name of the flexible array member
+ *
+ * In order to have a flexible array member in a union or alone in a
+ * struct, it needs to be wrapped in an anonymous struct with at least 1
+ * named member, but that member can be empty.
+ */
+#define __DECLARE_FLEX_ARRAY(TYPE, NAME)       \
+       struct { \
+               struct { } __empty_ ## NAME; \
+               TYPE NAME[]; \
+       }
+#endif
+
+#ifndef __counted_by
+#define __counted_by(m)
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-6.5/uapi/linux/types.h 
new/ethtool-6.6/uapi/linux/types.h
--- old/ethtool-6.5/uapi/linux/types.h  1970-01-01 01:00:00.000000000 +0100
+++ new/ethtool-6.6/uapi/linux/types.h  2023-09-12 23:00:14.000000000 +0200
@@ -0,0 +1,57 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef _LINUX_TYPES_H
+#define _LINUX_TYPES_H
+
+#include <asm/types.h>
+
+#ifndef __ASSEMBLY__
+
+#include <linux/posix_types.h>
+
+#ifdef __SIZEOF_INT128__
+typedef __signed__ __int128 __s128 __attribute__((aligned(16)));
+typedef unsigned __int128 __u128 __attribute__((aligned(16)));
+#endif
+
+/*
+ * Below are truly Linux-specific types that should never collide with
+ * any application/library that wants linux/types.h.
+ */
+
+/* sparse defines __CHECKER__; see Documentation/dev-tools/sparse.rst */
+#ifdef __CHECKER__
+#define __bitwise      __attribute__((bitwise))
+#else
+#define __bitwise
+#endif
+
+/* The kernel doesn't use this legacy form, but user space does */
+#define __bitwise__ __bitwise
+
+typedef __u16 __bitwise __le16;
+typedef __u16 __bitwise __be16;
+typedef __u32 __bitwise __le32;
+typedef __u32 __bitwise __be32;
+typedef __u64 __bitwise __le64;
+typedef __u64 __bitwise __be64;
+
+typedef __u16 __bitwise __sum16;
+typedef __u32 __bitwise __wsum;
+
+/*
+ * aligned_u64 should be used in defining kernel<->userspace ABIs to avoid
+ * common 32/64-bit compat problems.
+ * 64-bit values align to 4-byte boundaries on x86_32 (and possibly other
+ * architectures) and to 8-byte boundaries on 64-bit architectures.  The new
+ * aligned_64 type enforces 8-byte alignment so that structs containing
+ * aligned_64 values have the same alignment on 32-bit and 64-bit 
architectures.
+ * No conversions are necessary between 32-bit user-space and a 64-bit kernel.
+ */
+#define __aligned_u64 __u64 __attribute__((aligned(8)))
+#define __aligned_be64 __be64 __attribute__((aligned(8)))
+#define __aligned_le64 __le64 __attribute__((aligned(8)))
+
+typedef unsigned __bitwise __poll_t;
+
+#endif /*  __ASSEMBLY__ */
+#endif /* _LINUX_TYPES_H */

Reply via email to