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