Hello community,

here is the log from the commit of package ethtool for openSUSE:Factory checked 
in at 2013-04-23 15:07:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ethtool (Old)
 and      /work/SRC/openSUSE:Factory/.ethtool.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ethtool", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:Factory/ethtool/ethtool.changes  2012-12-19 
10:53:49.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.ethtool.new/ethtool.changes     2013-04-23 
15:08:00.000000000 +0200
@@ -1,0 +2,12 @@
+Mon Apr 22 20:05:30 UTC 2013 - [email protected]
+
+- Update to new upstream release 3.8
+  * Feature: Allow setting destination MAC address in L3/L4 flow
+    spec rules (-N/-U option)
+  * Fix: Show full 64 bits of user-data (-n/-u option)
+  * Fix: Add version check for et131x regs (-d option)
+  * Doc: Improve description of -f, -t, -s, -N/-U, -W options in
+    man page
+  * Fix: Restore 20000baseKR2 cap display (no options)
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ ethtool.spec ++++++
--- /var/tmp/diff_new_pack.773kDY/_old  2013-04-23 15:08:02.000000000 +0200
+++ /var/tmp/diff_new_pack.773kDY/_new  2013-04-23 15:08:02.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package ethtool
 #
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           ethtool
-Version:        3.7
+Version:        3.8
 Release:        0
 Summary:        Examine and Tune Ethernet-Based Network Interfaces
 License:        GPL-2.0

++++++ ethtool-3.7.tar.xz -> ethtool-3.8.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-3.7/INSTALL new/ethtool-3.8/INSTALL
--- old/ethtool-3.7/INSTALL     2012-06-08 18:25:15.000000000 +0200
+++ new/ethtool-3.8/INSTALL     2013-02-28 15:57:52.000000000 +0100
@@ -1,8 +1,8 @@
 Installation Instructions
 *************************
 
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
-2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
+Inc.
 
    Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -226,6 +226,11 @@
 
 and if that doesn't work, install pre-built binaries of GCC for HP-UX.
 
+   HP-UX `make' updates targets which have the same time stamps as
+their prerequisites, which makes it generally unusable when shipped
+generated files such as `configure' are involved.  Use GNU `make'
+instead.
+
    On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
 parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
 a workaround.  If GNU CC is not installed, it is therefore recommended
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-3.7/NEWS new/ethtool-3.8/NEWS
--- old/ethtool-3.7/NEWS        2012-12-13 19:19:34.000000000 +0100
+++ new/ethtool-3.8/NEWS        2013-02-28 16:00:41.000000000 +0100
@@ -1,3 +1,12 @@
+Version 3.8 - February 28, 2013
+
+       * Feature: Allow setting destination MAC address in L3/L4 flow spec
+         rules (-N/-U option)
+       * Fix: Show full 64 bits of user-data (-n/-u option)
+       * Fix: Add version check for et131x regs (-d option)
+       * Doc: Improve description of -f, -t, -s, -N/-U, -W options in man page
+       * Fix: Restore 20000baseKR2 cap display (no options)
+
 Version 3.7 - December 13, 2012
 
        * Fix: Gracefully handle failure of register pretty-printer (-d option)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-3.7/compile new/ethtool-3.8/compile
--- old/ethtool-3.7/compile     2012-06-08 18:25:15.000000000 +0200
+++ new/ethtool-3.8/compile     2013-02-28 15:57:52.000000000 +0100
@@ -1,10 +1,10 @@
 #! /bin/sh
-# Wrapper for compilers which do not understand `-c -o'.
+# Wrapper for compilers which do not understand '-c -o'.
 
-scriptversion=2009-10-06.20; # UTC
+scriptversion=2012-03-05.13; # UTC
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009  Free Software
-# Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009, 2010, 2012 Free
+# Software Foundation, Inc.
 # Written by Tom Tromey <[email protected]>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -29,21 +29,219 @@
 # bugs to <[email protected]> or send patches to
 # <[email protected]>.
 
+nl='
+'
+
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent tools from complaining about whitespace usage.
+IFS=" ""       $nl"
+
+file_conv=
+
+# func_file_conv build_file lazy
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts. If the determined conversion
+# type is listed in (the comma separated) LAZY, no conversion will
+# take place.
+func_file_conv ()
+{
+  file=$1
+  case $file in
+    / | /[!/]*) # absolute file, and not a UNC file
+      if test -z "$file_conv"; then
+       # lazily determine how to convert abs files
+       case `uname -s` in
+         MINGW*)
+           file_conv=mingw
+           ;;
+         CYGWIN*)
+           file_conv=cygwin
+           ;;
+         *)
+           file_conv=wine
+           ;;
+       esac
+      fi
+      case $file_conv/,$2, in
+       *,$file_conv,*)
+         ;;
+       mingw/*)
+         file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+         ;;
+       cygwin/*)
+         file=`cygpath -m "$file" || echo "$file"`
+         ;;
+       wine/*)
+         file=`winepath -w "$file" || echo "$file"`
+         ;;
+      esac
+      ;;
+  esac
+}
+
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+  func_file_conv "$1"
+  if test -z "$lib_path"; then
+    lib_path=$file
+  else
+    lib_path="$lib_path;$file"
+  fi
+  linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+  lib=$1
+  found=no
+  save_IFS=$IFS
+  IFS=';'
+  for dir in $lib_path $LIB
+  do
+    IFS=$save_IFS
+    if $shared && test -f "$dir/$lib.dll.lib"; then
+      found=yes
+      lib=$dir/$lib.dll.lib
+      break
+    fi
+    if test -f "$dir/$lib.lib"; then
+      found=yes
+      lib=$dir/$lib.lib
+      break
+    fi
+  done
+  IFS=$save_IFS
+
+  if test "$found" != yes; then
+    lib=$lib.lib
+  fi
+}
+
+# func_cl_wrapper cl arg...
+# Adjust compile command to suit cl
+func_cl_wrapper ()
+{
+  # Assume a capable shell
+  lib_path=
+  shared=:
+  linker_opts=
+  for arg
+  do
+    if test -n "$eat"; then
+      eat=
+    else
+      case $1 in
+       -o)
+         # configure might choose to run compile as 'compile cc -o foo foo.c'.
+         eat=1
+         case $2 in
+           *.o | *.[oO][bB][jJ])
+             func_file_conv "$2"
+             set x "$@" -Fo"$file"
+             shift
+             ;;
+           *)
+             func_file_conv "$2"
+             set x "$@" -Fe"$file"
+             shift
+             ;;
+         esac
+         ;;
+       -I)
+         eat=1
+         func_file_conv "$2" mingw
+         set x "$@" -I"$file"
+         shift
+         ;;
+       -I*)
+         func_file_conv "${1#-I}" mingw
+         set x "$@" -I"$file"
+         shift
+         ;;
+       -l)
+         eat=1
+         func_cl_dashl "$2"
+         set x "$@" "$lib"
+         shift
+         ;;
+       -l*)
+         func_cl_dashl "${1#-l}"
+         set x "$@" "$lib"
+         shift
+         ;;
+       -L)
+         eat=1
+         func_cl_dashL "$2"
+         ;;
+       -L*)
+         func_cl_dashL "${1#-L}"
+         ;;
+       -static)
+         shared=false
+         ;;
+       -Wl,*)
+         arg=${1#-Wl,}
+         save_ifs="$IFS"; IFS=','
+         for flag in $arg; do
+           IFS="$save_ifs"
+           linker_opts="$linker_opts $flag"
+         done
+         IFS="$save_ifs"
+         ;;
+       -Xlinker)
+         eat=1
+         linker_opts="$linker_opts $2"
+         ;;
+       -*)
+         set x "$@" "$1"
+         shift
+         ;;
+       *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
+         func_file_conv "$1"
+         set x "$@" -Tp"$file"
+         shift
+         ;;
+       *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
+         func_file_conv "$1" mingw
+         set x "$@" "$file"
+         shift
+         ;;
+       *)
+         set x "$@" "$1"
+         shift
+         ;;
+      esac
+    fi
+    shift
+  done
+  if test -n "$linker_opts"; then
+    linker_opts="-link$linker_opts"
+  fi
+  exec "$@" $linker_opts
+  exit 1
+}
+
+eat=
+
 case $1 in
   '')
-     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
      exit 1;
      ;;
   -h | --h*)
     cat <<\EOF
 Usage: compile [--help] [--version] PROGRAM [ARGS]
 
-Wrapper for compilers which do not understand `-c -o'.
-Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
+Wrapper for compilers which do not understand '-c -o'.
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
 arguments, and rename the output as expected.
 
 If you are trying to build a whole package this is not the
-right script to run: please start by reading the file `INSTALL'.
+right script to run: please start by reading the file 'INSTALL'.
 
 Report bugs to <[email protected]>.
 EOF
@@ -53,11 +251,13 @@
     echo "compile $scriptversion"
     exit $?
     ;;
+  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+    func_cl_wrapper "$@"      # Doesn't return...
+    ;;
 esac
 
 ofile=
 cfile=
-eat=
 
 for arg
 do
@@ -66,8 +266,8 @@
   else
     case $1 in
       -o)
-       # configure might choose to run compile as `compile cc -o foo foo.c'.
-       # So we strip `-o arg' only if arg is an object.
+       # configure might choose to run compile as 'compile cc -o foo foo.c'.
+       # So we strip '-o arg' only if arg is an object.
        eat=1
        case $2 in
          *.o | *.obj)
@@ -94,10 +294,10 @@
 done
 
 if test -z "$ofile" || test -z "$cfile"; then
-  # If no `-o' option was seen then we might have been invoked from a
+  # If no '-o' option was seen then we might have been invoked from a
   # pattern rule where we don't need one.  That is ok -- this is a
   # normal compilation that the losing compiler can handle.  If no
-  # `.c' file was seen then we are probably linking.  That is also
+  # '.c' file was seen then we are probably linking.  That is also
   # ok.
   exec "$@"
 fi
@@ -106,7 +306,7 @@
 cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
 
 # Create the lock directory.
-# Note: use `[/\\:.-]' here to ensure that we don't use the same name
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name
 # that we are using for the .o file.  Also, base the name on the expected
 # object file name, since that is what matters with a parallel build.
 lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-3.7/configure new/ethtool-3.8/configure
--- old/ethtool-3.7/configure   2012-12-13 19:20:38.000000000 +0100
+++ new/ethtool-3.8/configure   2013-02-28 15:57:53.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for ethtool 3.7.
+# Generated by GNU Autoconf 2.68 for ethtool 3.8.
 #
 # Report bugs to <[email protected]>.
 #
@@ -560,8 +560,8 @@
 # Identity of this package.
 PACKAGE_NAME='ethtool'
 PACKAGE_TARNAME='ethtool'
-PACKAGE_VERSION='3.7'
-PACKAGE_STRING='ethtool 3.7'
+PACKAGE_VERSION='3.8'
+PACKAGE_STRING='ethtool 3.8'
 PACKAGE_BUGREPORT='[email protected]'
 PACKAGE_URL=''
 
@@ -1247,7 +1247,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 3.7 to adapt to many kinds of systems.
+\`configure' configures ethtool 3.8 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1313,7 +1313,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of ethtool 3.7:";;
+     short | recursive ) echo "Configuration of ethtool 3.8:";;
    esac
   cat <<\_ACEOF
 
@@ -1402,7 +1402,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-ethtool configure 3.7
+ethtool configure 3.8
 generated by GNU Autoconf 2.68
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1771,7 +1771,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 3.7, which was
+It was created by ethtool $as_me 3.8, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   $ $0 $@
@@ -2588,7 +2588,7 @@
 
 # Define the identity of the package.
  PACKAGE='ethtool'
- VERSION='3.7'
+ VERSION='3.8'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4907,7 +4907,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 3.7, which was
+This file was extended by ethtool $as_me 3.8, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -4973,7 +4973,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 3.7
+ethtool config.status 3.8
 configured by $0, generated by GNU Autoconf 2.68,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-3.7/configure.ac new/ethtool-3.8/configure.ac
--- old/ethtool-3.7/configure.ac        2012-12-13 19:20:29.000000000 +0100
+++ new/ethtool-3.8/configure.ac        2013-02-28 15:57:06.000000000 +0100
@@ -1,5 +1,5 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_INIT(ethtool, 3.7, [email protected])
+AC_INIT(ethtool, 3.8, [email protected])
 AC_PREREQ(2.52)
 AC_CONFIG_SRCDIR([ethtool.c])
 AM_INIT_AUTOMAKE([gnu])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-3.7/depcomp new/ethtool-3.8/depcomp
--- old/ethtool-3.7/depcomp     2012-06-08 18:25:15.000000000 +0200
+++ new/ethtool-3.8/depcomp     2013-02-28 15:57:52.000000000 +0100
@@ -1,10 +1,10 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2012-03-27.16; # UTC
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
-# Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
+# 2011, 2012 Free Software Foundation, Inc.
 
 # 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
@@ -28,7 +28,7 @@
 
 case $1 in
   '')
-     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
      exit 1;
      ;;
   -h | --h*)
@@ -40,11 +40,11 @@
 
 Environment variables:
   depmode     Dependency tracking mode.
-  source      Source file read by `PROGRAMS ARGS'.
-  object      Object file output by `PROGRAMS ARGS'.
+  source      Source file read by 'PROGRAMS ARGS'.
+  object      Object file output by 'PROGRAMS ARGS'.
   DEPDIR      directory where to store dependencies.
   depfile     Dependency file to output.
-  tmpdepfile  Temporary file to use when outputing dependencies.
+  tmpdepfile  Temporary file to use when outputting dependencies.
   libtool     Whether libtool is used (yes/no).
 
 Report bugs to <[email protected]>.
@@ -57,6 +57,12 @@
     ;;
 esac
 
+# A tabulation character.
+tab='  '
+# A newline character.
+nl='
+'
+
 if test -z "$depmode" || test -z "$source" || test -z "$object"; then
   echo "depcomp: Variables source, object and depmode must be set" 1>&2
   exit 1
@@ -90,10 +96,24 @@
    # This is just like msvisualcpp but w/o cygpath translation.
    # Just convert the backslash-escaped backslashes to single forward
    # slashes to satisfy depend.m4
-   cygpath_u="sed s,\\\\\\\\,/,g"
+   cygpath_u='sed s,\\\\,/,g'
    depmode=msvisualcpp
 fi
 
+if test "$depmode" = msvc7msys; then
+   # This is just like msvc7 but w/o cygpath translation.
+   # Just convert the backslash-escaped backslashes to single forward
+   # slashes to satisfy depend.m4
+   cygpath_u='sed s,\\\\,/,g'
+   depmode=msvc7
+fi
+
+if test "$depmode" = xlc; then
+   # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations.
+   gccflag=-qmakedep=gcc,-MF
+   depmode=gcc
+fi
+
 case "$depmode" in
 gcc3)
 ## gcc 3 implements dependency tracking that does exactly what
@@ -148,20 +168,21 @@
 ## The second -e expression handles DOS-style file names with drive letters.
   sed -e 's/^[^:]*: / /' \
       -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
+## This next piece of magic avoids the "deleted header file" problem.
 ## The problem is that when a header file which appears in a .P file
 ## is deleted, the dependency causes make to die (because there is
 ## typically no way to rebuild the header).  We avoid this by adding
 ## dummy dependencies for each header file.  Too bad gcc doesn't do
 ## this for us directly.
-  tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'.  On the theory
+  tr ' ' "$nl" < "$tmpdepfile" |
+## Some versions of gcc put a space before the ':'.  On the theory
 ## that the space means something, we add a space to the output as
-## well.
+## well.  hp depmode also adds that space, but also prefixes the VPATH
+## to the object.  Take care to not repeat it in the output.
 ## Some versions of the HPUX 10.20 sed can't process this invocation
 ## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+    sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+      | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -193,18 +214,15 @@
     # clever and replace this with sed code, as IRIX sed won't handle
     # lines with more than a fixed number of characters (4096 in
     # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
-    # the IRIX cc adds comments like `#:fec' to the end of the
+    # the IRIX cc adds comments like '#:fec' to the end of the
     # dependency line.
-    tr ' ' '
-' < "$tmpdepfile" \
+    tr ' ' "$nl" < "$tmpdepfile" \
     | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
-    tr '
-' ' ' >> "$depfile"
+    tr "$nl" ' ' >> "$depfile"
     echo >> "$depfile"
 
     # The second pass generates a dummy entry for each header file.
-    tr ' ' '
-' < "$tmpdepfile" \
+    tr ' ' "$nl" < "$tmpdepfile" \
    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
    >> "$depfile"
   else
@@ -216,10 +234,17 @@
   rm -f "$tmpdepfile"
   ;;
 
+xlc)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
 aix)
   # The C for AIX Compiler uses -M and outputs the dependencies
   # in a .u file.  In older versions, this file always lives in the
-  # current directory.  Also, the AIX compiler puts `$object:' at the
+  # current directory.  Also, the AIX compiler puts '$object:' at the
   # start of each line; $object doesn't have directory information.
   # Version 6 uses the directory in both cases.
   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
@@ -249,12 +274,11 @@
     test -f "$tmpdepfile" && break
   done
   if test -f "$tmpdepfile"; then
-    # Each line is of the form `foo.o: dependent.h'.
+    # Each line is of the form 'foo.o: dependent.h'.
     # Do two passes, one to just change these to
-    # `$object: dependent.h' and one to simply `dependent.h:'.
+    # '$object: dependent.h' and one to simply 'dependent.h:'.
     sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-    # That's a tab and a space in the [].
-    sed -e 's,^.*\.[a-z]*:[     ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+    sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> 
"$depfile"
   else
     # The sourcefile does not contain any dependencies, so just
     # store a dummy comment line, to avoid errors with the Makefile
@@ -265,23 +289,26 @@
   ;;
 
 icc)
-  # Intel's C compiler understands `-MD -MF file'.  However on
-  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+  # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'.
+  # However on
+  #    $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c
   # ICC 7.0 will fill foo.d with something like
   #    foo.o: sub/foo.c
   #    foo.o: sub/foo.h
-  # which is wrong.  We want:
+  # which is wrong.  We want
   #    sub/foo.o: sub/foo.c
   #    sub/foo.o: sub/foo.h
   #    sub/foo.c:
   #    sub/foo.h:
   # ICC 7.1 will output
   #    foo.o: sub/foo.c sub/foo.h
-  # and will wrap long lines using \ :
+  # and will wrap long lines using '\':
   #    foo.o: sub/foo.c ... \
   #     sub/foo.h ... \
   #     ...
-
+  # tcc 0.9.26 (FIXME still under development at the moment of writing)
+  # will emit a similar output, but also prepend the continuation lines
+  # with horizontal tabulation characters.
   "$@" -MD -MF "$tmpdepfile"
   stat=$?
   if test $stat -eq 0; then :
@@ -290,15 +317,21 @@
     exit $stat
   fi
   rm -f "$depfile"
-  # Each line is of the form `foo.o: dependent.h',
-  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+  # Each line is of the form 'foo.o: dependent.h',
+  # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'.
   # Do two passes, one to just change these to
-  # `$object: dependent.h' and one to simply `dependent.h:'.
-  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
-  # Some versions of the HPUX 10.20 sed can't process this invocation
-  # correctly.  Breaking it into two sed invocations is a workaround.
-  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
-    sed -e 's/$/ :/' >> "$depfile"
+  # '$object: dependent.h' and one to simply 'dependent.h:'.
+  sed -e "s/^[ $tab][ $tab]*/  /" -e "s,^[^:]*:,$object :," \
+    < "$tmpdepfile" > "$depfile"
+  sed '
+    s/[ '"$tab"'][ '"$tab"']*/ /g
+    s/^ *//
+    s/ *\\*$//
+    s/^[^:]*: *//
+    /^$/d
+    /:$/d
+    s/$/ :/
+  ' < "$tmpdepfile" >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -334,7 +367,7 @@
   done
   if test -f "$tmpdepfile"; then
     sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
-    # Add `dependent.h:' lines.
+    # Add 'dependent.h:' lines.
     sed -ne '2,${
               s/^ *//
               s/ \\*$//
@@ -349,9 +382,9 @@
 
 tru64)
    # The Tru64 compiler uses -MD to generate dependencies as a side
-   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+   # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
    # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
-   # dependencies in `foo.d' instead, so we check for that too.
+   # dependencies in 'foo.d' instead, so we check for that too.
    # Subdirectories are respected.
    dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
    test "x$dir" = "x$object" && dir=
@@ -397,14 +430,59 @@
    done
    if test -f "$tmpdepfile"; then
       sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-      # That's a tab and a space in the [].
-      sed -e 's,^.*\.[a-z]*:[   ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+      sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> 
"$depfile"
    else
       echo "#dummy" > "$depfile"
    fi
    rm -f "$tmpdepfile"
    ;;
 
+msvc7)
+  if test "$libtool" = yes; then
+    showIncludes=-Wc,-showIncludes
+  else
+    showIncludes=-showIncludes
+  fi
+  "$@" $showIncludes > "$tmpdepfile"
+  stat=$?
+  grep -v '^Note: including file: ' "$tmpdepfile"
+  if test "$stat" = 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  # The first sed program below extracts the file names and escapes
+  # backslashes for cygpath.  The second sed program outputs the file
+  # name when reading, but also accumulates all include files in the
+  # hold buffer in order to output them again at the end.  This only
+  # works with sed implementations that can handle large buffers.
+  sed < "$tmpdepfile" -n '
+/^Note: including file:  *\(.*\)/ {
+  s//\1/
+  s/\\/\\\\/g
+  p
+}' | $cygpath_u | sort -u | sed -n '
+s/ /\\ /g
+s/\(.*\)/'"$tab"'\1 \\/p
+s/.\(.*\) \\/\1:/
+H
+$ {
+  s/.*/'"$tab"'/
+  G
+  p
+}' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+msvc7msys)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
 #nosideeffect)
   # This comment above is used by automake to tell side-effect
   # dependency tracking mechanisms from slower ones.
@@ -422,7 +500,7 @@
     shift
   fi
 
-  # Remove `-o $object'.
+  # Remove '-o $object'.
   IFS=" "
   for arg
   do
@@ -442,15 +520,14 @@
   done
 
   test -z "$dashmflag" && dashmflag=-M
-  # Require at least two characters before searching for `:'
+  # Require at least two characters before searching for ':'
   # in the target name.  This is to cope with DOS-style filenames:
-  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+  # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
   "$@" $dashmflag |
-    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
+    sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' 
> "$tmpdepfile"
   rm -f "$depfile"
   cat < "$tmpdepfile" > "$depfile"
-  tr ' ' '
-' < "$tmpdepfile" | \
+  tr ' ' "$nl" < "$tmpdepfile" | \
 ## Some versions of the HPUX 10.20 sed can't process this invocation
 ## correctly.  Breaking it into two sed invocations is a workaround.
     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
@@ -503,9 +580,10 @@
   touch "$tmpdepfile"
   ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
   rm -f "$depfile"
-  cat < "$tmpdepfile" > "$depfile"
-  sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
+  # makedepend may prepend the VPATH from the source file name to the object.
+  # No need to regex-escape $object, excess matching of '.' is harmless.
+  sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
+  sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \
 ## Some versions of the HPUX 10.20 sed can't process this invocation
 ## correctly.  Breaking it into two sed invocations is a workaround.
     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
@@ -525,7 +603,7 @@
     shift
   fi
 
-  # Remove `-o $object'.
+  # Remove '-o $object'.
   IFS=" "
   for arg
   do
@@ -594,8 +672,8 @@
   sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > 
"$tmpdepfile"
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
-  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::     \1 \\:p' >> 
"$depfile"
-  echo "       " >> "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> 
"$depfile"
+  echo "$tab" >> "$depfile"
   sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-3.7/e100.c new/ethtool-3.8/e100.c
--- old/ethtool-3.7/e100.c      2011-11-01 17:46:24.000000000 +0100
+++ new/ethtool-3.8/e100.c      2013-01-22 22:15:01.000000000 +0100
@@ -46,7 +46,7 @@
        u32 reg;
        u16 scb_status, scb_cmd;
 
-       if(version != 1)
+       if (version != 1)
                return -1;
 
        reg = regs_buff[0];
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-3.7/e1000.c new/ethtool-3.8/e1000.c
--- old/ethtool-3.7/e1000.c     2011-11-01 17:46:24.000000000 +0100
+++ new/ethtool-3.8/e1000.c     2013-01-22 22:15:01.000000000 +0100
@@ -374,7 +374,7 @@
        enum e1000_mac_type mac_type;
        u32 reg;
 
-       if(version != 1)
+       if (version != 1)
                return -1;
 
        mac_type = e1000_get_mac_type(hw_device_id, hw_revision_id);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-3.7/et131x.c new/ethtool-3.8/et131x.c
--- old/ethtool-3.7/et131x.c    2012-11-08 20:13:02.000000000 +0100
+++ new/ethtool-3.8/et131x.c    2013-01-22 22:15:01.000000000 +0100
@@ -4,8 +4,12 @@
 
 int et131x_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs)
 {
+       u8 version = (u8)(regs->version >> 24);
        u32 *reg = (u32 *)regs->data;
 
+       if (version != 1)
+               return -1;
+
        fprintf(stdout, "PHY Registers\n");
        fprintf(stdout, "0x0, Basic Control Reg          = 0x%04X\n", *reg++);
        fprintf(stdout, "0x1, Basic Status Reg           = 0x%04X\n", *reg++);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-3.7/ethtool-copy.h 
new/ethtool-3.8/ethtool-copy.h
--- old/ethtool-3.7/ethtool-copy.h      2012-09-06 20:05:38.000000000 +0200
+++ new/ethtool-3.8/ethtool-copy.h      2013-01-22 21:30:00.000000000 +0100
@@ -500,13 +500,26 @@
        struct ethtool_ah_espip4_spec           esp_ip4_spec;
        struct ethtool_usrip4_spec              usr_ip4_spec;
        struct ethhdr                           ether_spec;
-       __u8                                    hdata[60];
+       __u8                                    hdata[52];
 };
 
+/**
+ * struct ethtool_flow_ext - additional RX flow fields
+ * @h_dest: destination MAC address
+ * @vlan_etype: VLAN EtherType
+ * @vlan_tci: VLAN tag control information
+ * @data: user defined data
+ *
+ * Note, @vlan_etype, @vlan_tci, and @data are only valid if %FLOW_EXT
+ * is set in &struct ethtool_rx_flow_spec @flow_type.
+ * @h_dest is valid if %FLOW_MAC_EXT is set.
+ */
 struct ethtool_flow_ext {
-       __be16  vlan_etype;
-       __be16  vlan_tci;
-       __be32  data[2];
+       __u8            padding[2];
+       unsigned char   h_dest[ETH_ALEN];
+       __be16          vlan_etype;
+       __be16          vlan_tci;
+       __be32          data[2];
 };
 
 /**
@@ -517,7 +530,8 @@
  * @m_u: Masks for flow field bits to be matched
  * @m_ext: Masks for additional field bits to be matched
  *     Note, all additional fields must be ignored unless @flow_type
- *     includes the %FLOW_EXT flag.
+ *     includes the %FLOW_EXT or %FLOW_MAC_EXT flag
+ *     (see &struct ethtool_flow_ext description).
  * @ring_cookie: RX ring/queue index to deliver to, or %RX_CLS_FLOW_DISC
  *     if packets should be discarded
  * @location: Location of rule in the table.  Locations must be
@@ -1027,6 +1041,7 @@
 #define        ETHER_FLOW      0x12    /* spec only (ether_spec) */
 /* Flag to enable additional fields in struct ethtool_rx_flow_spec */
 #define        FLOW_EXT        0x80000000
+#define        FLOW_MAC_EXT    0x40000000
 
 /* L3-L4 network traffic flow hash options */
 #define        RXH_L2DA        (1 << 1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-3.7/ethtool.8 new/ethtool-3.8/ethtool.8
--- old/ethtool-3.7/ethtool.8   2012-12-13 19:27:54.000000000 +0100
+++ new/ethtool-3.8/ethtool.8   2013-02-28 16:01:12.000000000 +0100
@@ -113,7 +113,7 @@
 .  hy \\n(HY
 ..
 .
-.TH ETHTOOL 8 "December 2012" "Ethtool version 3.7"
+.TH ETHTOOL 8 "December 2012" "Ethtool version 3.8"
 .SH NAME
 ethtool \- query or control network driver and hardware settings
 .
@@ -226,7 +226,7 @@
 .HP
 .B ethtool \-s
 .I devname
-.BI speed \ N
+.BN speed
 .B2 duplex half full
 .B4 port tp aui bnc mii fibre
 .B3 mdix auto on off
@@ -251,7 +251,7 @@
 .HP
 .B ethtool \-N|\-U|\-\-config\-nfc|\-\-config\-ntuple
 .I devname
-.BR rx\-flow\-hash \ \*(FL \: \*(HO \ |
+.BR rx\-flow\-hash \ \*(FL \ \: \*(HO \ |
 .br
 .B flow\-type \*(NC
 .RB [ src \ \*(MA\ [ m \ \*(MA]]
@@ -268,6 +268,7 @@
 .BM vlan\-etype
 .BM vlan
 .BM user\-def
+.RB [ dst-mac \ \*(MA\ [ m \ \*(MA]]
 .BN action
 .BN loc
 .RB |
@@ -280,8 +281,7 @@
 .IR filename ]
 .HP
 .B ethtool\ \-W|\-\-set\-dump
-.I devname
-.BI \ N
+.I devname N
 .HP
 .B ethtool \-T|\-\-show\-time\-stamping
 .I devname
@@ -298,8 +298,7 @@
 .RB ...\ ]
 .HP
 .B ethtool \-f|\-\-flash
-.I devname
-.RI FILE
+.I devname file
 .RI [ N ]
 .HP
 .B ethtool \-l|\-\-show\-channels
@@ -413,7 +412,6 @@
 .I file
 is specified, then use contents of previous raw register dump, rather
 than reading from the device.
-
 .TP
 .B \-e \-\-eeprom\-dump
 Retrieves and prints an EEPROM dump for the specified network device.
@@ -496,14 +494,16 @@
 .B \-t \-\-test
 Executes adapter selftest on the specified network device. Possible test modes 
are:
 .TP
-.RI \*(SD
-defines test type: 
 .B offline
-(default) means to perform full set of tests possibly causing normal operation 
interruption during the tests,
+Perform full set of tests, possibly interrupting normal operation
+during the tests,
+.TP
 .B online
-means to perform limited set of tests do not interrupting normal adapter 
operation,
+Perform limited set of tests, not interrupting normal operation,
+.TP
 .B external_lb
-means to perform external-loopback test in addition to other offline tests.
+Perform full set of tests, as for \fBoffline\fR, and additionally an
+external-loopback test.
 .TP
 .B \-s \-\-change
 Allows changing some or all settings of the specified network device.
@@ -675,9 +675,10 @@
 esp4   IPSEC ESP over IPv4
 .TE
 .PP
-All fields below that include a mask option may either use "m" to
-indicate a mask, or may use the full name of the field with a "-mask"
-appended to indicate that this is the mask for a given field.
+For all fields that allow both a value and a mask to be specified, the
+mask may be specified immediately after the value using the \fBm\fR
+keyword, or separately using the field name keyword with \fB-mask\fR
+appended, e.g. \fBsrc-mask\fR.
 .PD
 .RE
 .TP
@@ -707,7 +708,7 @@
 Specify the value of the Type of Service field in the incoming packet to
 match along with an optional mask.  Applies to all IPv4 based flow-types.
 .TP
-.BI l4proto \ N \\fR\ [\\fPl4m \ N \\fR]\\fP
+.BI l4proto \ N \\fR\ [\\fPm \ N \\fR]\\fP
 Includes the layer 4 protocol number and optional mask.  Valid only for
 flow-type ip4.
 .TP
@@ -739,6 +740,11 @@
 .BI user\-def \ N \\fR\ [\\fPm \ N \\fR]\\fP
 Includes 64-bits of user-specific data and an optional mask.
 .TP
+.BR dst-mac \ \*(MA\ [ m \ \*(MA]
+Includes the destination MAC address, specified as 6 bytes in hexadecimal
+separated by colons, along with an optional mask.
+Valid for all IPv4 based flow-types.
+.TP
 .BI action \ N
 Specifies the Rx queue to send packets to, or some other action.
 .TS
@@ -786,13 +792,20 @@
 receive queues according to the given weights.  The sum of the weights
 must be non-zero and must not exceed the size of the indirection table.
 .TP
-.B \-f \-\-flash \ FILE
-Flash firmware image from the specified file to a region on the adapter.
-By default this will flash all the regions on the adapter.
+.B \-f \-\-flash
+Write a firmware image to flash or other non-volatile memory on the
+device.
 .TP
-.B N
-A number to identify flash region where the image should be flashed.
-Default region is 0 which denotes all regions in the flash.
+.I file
+Specifies the filename of the firmware image.  The firmware must first
+be installed in one of the directories where the kernel firmware
+loader or firmware agent will look, such as /lib/firmware.
+.TP
+.I N
+If the device stores multiple firmware images in separate regions of
+non-volatile memory, this parameter may be used to specify which
+region is to be written.  The default is 0, requesting that all
+regions are written.  All other values are driver-dependent.
 .PD
 .RE
 .TP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-3.7/ethtool.8.in new/ethtool-3.8/ethtool.8.in
--- old/ethtool-3.7/ethtool.8.in        2012-12-13 19:26:25.000000000 +0100
+++ new/ethtool-3.8/ethtool.8.in        2013-02-07 23:17:26.000000000 +0100
@@ -226,7 +226,7 @@
 .HP
 .B ethtool \-s
 .I devname
-.BI speed \ N
+.BN speed
 .B2 duplex half full
 .B4 port tp aui bnc mii fibre
 .B3 mdix auto on off
@@ -251,7 +251,7 @@
 .HP
 .B ethtool \-N|\-U|\-\-config\-nfc|\-\-config\-ntuple
 .I devname
-.BR rx\-flow\-hash \ \*(FL \: \*(HO \ |
+.BR rx\-flow\-hash \ \*(FL \ \: \*(HO \ |
 .br
 .B flow\-type \*(NC
 .RB [ src \ \*(MA\ [ m \ \*(MA]]
@@ -268,6 +268,7 @@
 .BM vlan\-etype
 .BM vlan
 .BM user\-def
+.RB [ dst-mac \ \*(MA\ [ m \ \*(MA]]
 .BN action
 .BN loc
 .RB |
@@ -280,8 +281,7 @@
 .IR filename ]
 .HP
 .B ethtool\ \-W|\-\-set\-dump
-.I devname
-.BI \ N
+.I devname N
 .HP
 .B ethtool \-T|\-\-show\-time\-stamping
 .I devname
@@ -298,8 +298,7 @@
 .RB ...\ ]
 .HP
 .B ethtool \-f|\-\-flash
-.I devname
-.RI FILE
+.I devname file
 .RI [ N ]
 .HP
 .B ethtool \-l|\-\-show\-channels
@@ -413,7 +412,6 @@
 .I file
 is specified, then use contents of previous raw register dump, rather
 than reading from the device.
-
 .TP
 .B \-e \-\-eeprom\-dump
 Retrieves and prints an EEPROM dump for the specified network device.
@@ -496,14 +494,16 @@
 .B \-t \-\-test
 Executes adapter selftest on the specified network device. Possible test modes 
are:
 .TP
-.RI \*(SD
-defines test type: 
 .B offline
-(default) means to perform full set of tests possibly causing normal operation 
interruption during the tests,
+Perform full set of tests, possibly interrupting normal operation
+during the tests,
+.TP
 .B online
-means to perform limited set of tests do not interrupting normal adapter 
operation,
+Perform limited set of tests, not interrupting normal operation,
+.TP
 .B external_lb
-means to perform external-loopback test in addition to other offline tests.
+Perform full set of tests, as for \fBoffline\fR, and additionally an
+external-loopback test.
 .TP
 .B \-s \-\-change
 Allows changing some or all settings of the specified network device.
@@ -675,9 +675,10 @@
 esp4   IPSEC ESP over IPv4
 .TE
 .PP
-All fields below that include a mask option may either use "m" to
-indicate a mask, or may use the full name of the field with a "-mask"
-appended to indicate that this is the mask for a given field.
+For all fields that allow both a value and a mask to be specified, the
+mask may be specified immediately after the value using the \fBm\fR
+keyword, or separately using the field name keyword with \fB-mask\fR
+appended, e.g. \fBsrc-mask\fR.
 .PD
 .RE
 .TP
@@ -707,7 +708,7 @@
 Specify the value of the Type of Service field in the incoming packet to
 match along with an optional mask.  Applies to all IPv4 based flow-types.
 .TP
-.BI l4proto \ N \\fR\ [\\fPl4m \ N \\fR]\\fP
+.BI l4proto \ N \\fR\ [\\fPm \ N \\fR]\\fP
 Includes the layer 4 protocol number and optional mask.  Valid only for
 flow-type ip4.
 .TP
@@ -739,6 +740,11 @@
 .BI user\-def \ N \\fR\ [\\fPm \ N \\fR]\\fP
 Includes 64-bits of user-specific data and an optional mask.
 .TP
+.BR dst-mac \ \*(MA\ [ m \ \*(MA]
+Includes the destination MAC address, specified as 6 bytes in hexadecimal
+separated by colons, along with an optional mask.
+Valid for all IPv4 based flow-types.
+.TP
 .BI action \ N
 Specifies the Rx queue to send packets to, or some other action.
 .TS
@@ -786,13 +792,20 @@
 receive queues according to the given weights.  The sum of the weights
 must be non-zero and must not exceed the size of the indirection table.
 .TP
-.B \-f \-\-flash \ FILE
-Flash firmware image from the specified file to a region on the adapter.
-By default this will flash all the regions on the adapter.
+.B \-f \-\-flash
+Write a firmware image to flash or other non-volatile memory on the
+device.
 .TP
-.B N
-A number to identify flash region where the image should be flashed.
-Default region is 0 which denotes all regions in the flash.
+.I file
+Specifies the filename of the firmware image.  The firmware must first
+be installed in one of the directories where the kernel firmware
+loader or firmware agent will look, such as /lib/firmware.
+.TP
+.I N
+If the device stores multiple firmware images in separate regions of
+non-volatile memory, this parameter may be used to specify which
+region is to be written.  The default is 0, requesting that all
+regions are written.  All other values are driver-dependent.
 .PD
 .RE
 .TP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-3.7/ethtool.c new/ethtool-3.8/ethtool.c
--- old/ethtool-3.7/ethtool.c   2012-12-03 17:54:25.000000000 +0100
+++ new/ethtool-3.8/ethtool.c   2013-02-28 15:52:03.000000000 +0100
@@ -513,6 +513,7 @@
                { 0, ADVERTISED_10000baseT_Full,    "10000baseT/Full" },
                { 0, ADVERTISED_10000baseKX4_Full,  "10000baseKX4/Full" },
                { 0, ADVERTISED_20000baseMLD2_Full, "20000baseMLD2/Full" },
+               { 0, ADVERTISED_20000baseKR2_Full,  "20000baseKR2/Full" },
                { 0, ADVERTISED_40000baseKR4_Full,  "40000baseKR4/Full" },
                { 0, ADVERTISED_40000baseCR4_Full,  "40000baseCR4/Full" },
                { 0, ADVERTISED_40000baseSR4_Full,  "40000baseSR4/Full" },
@@ -3231,6 +3232,10 @@
        if (fsp->location != RX_CLS_LOC_ANY)
                return -1;
 
+       /* destination MAC address in L3/L4 rules is not supported by ntuple */
+       if (fsp->flow_type & FLOW_MAC_EXT)
+               return -1;
+
        /* verify ring cookie can transfer to action */
        if (fsp->ring_cookie > INT_MAX && fsp->ring_cookie < (u64)(-2))
                return -1;
@@ -3814,6 +3819,7 @@
          "                     [ vlan-etype %x [m %x] ]\n"
          "                     [ vlan %x [m %x] ]\n"
          "                     [ user-def %x [m %x] ]\n"
+         "                     [ dst-mac %x:%x:%x:%x:%x:%x [m 
%x:%x:%x:%x:%x:%x] ]\n"
          "                     [ action %d ]\n"
          "                     [ loc %d]] |\n"
          "             delete %d\n" },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-3.7/ethtool.spec new/ethtool-3.8/ethtool.spec
--- old/ethtool-3.7/ethtool.spec        2012-12-13 19:27:58.000000000 +0100
+++ new/ethtool-3.8/ethtool.spec        2013-02-28 16:01:12.000000000 +0100
@@ -1,5 +1,5 @@
 Name           : ethtool
-Version                : 3.7
+Version                : 3.8
 Release                : 1
 Group          : Utilities
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-3.7/install-sh new/ethtool-3.8/install-sh
--- old/ethtool-3.7/install-sh  2012-06-08 18:25:15.000000000 +0200
+++ new/ethtool-3.8/install-sh  2013-02-28 15:57:52.000000000 +0100
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2011-01-19.21; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -156,6 +156,10 @@
     -s) stripcmd=$stripprog;;
 
     -t) dst_arg=$2
+       # Protect names problematic for `test' and other utilities.
+       case $dst_arg in
+         -* | [=\(\)!]) dst_arg=./$dst_arg;;
+       esac
        shift;;
 
     -T) no_target_directory=true;;
@@ -186,6 +190,10 @@
     fi
     shift # arg
     dst_arg=$arg
+    # Protect names problematic for `test' and other utilities.
+    case $dst_arg in
+      -* | [=\(\)!]) dst_arg=./$dst_arg;;
+    esac
   done
 fi
 
@@ -200,7 +208,11 @@
 fi
 
 if test -z "$dir_arg"; then
-  trap '(exit $?); exit' 1 2 13 15
+  do_exit='(exit $ret); exit $ret'
+  trap "ret=129; $do_exit" 1
+  trap "ret=130; $do_exit" 2
+  trap "ret=141; $do_exit" 13
+  trap "ret=143; $do_exit" 15
 
   # Set umask so as not to create temps with too-generous modes.
   # However, 'strip' requires both read and write access to temps.
@@ -228,9 +240,9 @@
 
 for src
 do
-  # Protect names starting with `-'.
+  # Protect names problematic for `test' and other utilities.
   case $src in
-    -*) src=./$src;;
+    -* | [=\(\)!]) src=./$src;;
   esac
 
   if test -n "$dir_arg"; then
@@ -252,12 +264,7 @@
       echo "$0: no destination specified." >&2
       exit 1
     fi
-
     dst=$dst_arg
-    # Protect names starting with `-'.
-    case $dst in
-      -*) dst=./$dst;;
-    esac
 
     # If destination is a directory, append the input filename; won't work
     # if double slashes aren't ignored.
@@ -385,7 +392,7 @@
 
       case $dstdir in
        /*) prefix='/';;
-       -*) prefix='./';;
+       [-=\(\)!]*) prefix='./';;
        *)  prefix='';;
       esac
 
@@ -403,7 +410,7 @@
 
       for d
       do
-       test -z "$d" && continue
+       test X"$d" = X && continue
 
        prefix=$prefix$d
        if test -d "$prefix"; then
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-3.7/missing new/ethtool-3.8/missing
--- old/ethtool-3.7/missing     2012-06-08 18:25:15.000000000 +0200
+++ new/ethtool-3.8/missing     2013-02-28 15:57:52.000000000 +0100
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Common stub for a few missing GNU programs while installing.
 
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2012-01-06.13; # UTC
 
 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009 Free Software Foundation, Inc.
+# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
 # Originally by Fran,cois Pinard <[email protected]>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
@@ -84,7 +84,6 @@
   help2man     touch the output file
   lex          create \`lex.yy.c', if possible, from existing .c
   makeinfo     touch the output file
-  tar          try tar, gnutar, gtar, then tar without non-portable flags
   yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
 
 Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
@@ -122,15 +121,6 @@
     # Not GNU programs, they don't have --version.
     ;;
 
-  tar*)
-    if test -n "$run"; then
-       echo 1>&2 "ERROR: \`tar' requires --run"
-       exit 1
-    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
-       exit 1
-    fi
-    ;;
-
   *)
     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
        # We have it, but it failed.
@@ -226,7 +216,7 @@
          \`Bison' from any GNU archive site."
     rm -f y.tab.c y.tab.h
     if test $# -ne 1; then
-        eval LASTARG="\${$#}"
+        eval LASTARG=\${$#}
        case $LASTARG in
        *.y)
            SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
@@ -256,7 +246,7 @@
          \`Flex' from any GNU archive site."
     rm -f lex.yy.c
     if test $# -ne 1; then
-        eval LASTARG="\${$#}"
+        eval LASTARG=\${$#}
        case $LASTARG in
        *.l)
            SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
@@ -318,41 +308,6 @@
     touch $file
     ;;
 
-  tar*)
-    shift
-
-    # We have already tried tar in the generic part.
-    # Look for gnutar/gtar before invocation to avoid ugly error
-    # messages.
-    if (gnutar --version > /dev/null 2>&1); then
-       gnutar "$@" && exit 0
-    fi
-    if (gtar --version > /dev/null 2>&1); then
-       gtar "$@" && exit 0
-    fi
-    firstarg="$1"
-    if shift; then
-       case $firstarg in
-       *o*)
-           firstarg=`echo "$firstarg" | sed s/o//`
-           tar "$firstarg" "$@" && exit 0
-           ;;
-       esac
-       case $firstarg in
-       *h*)
-           firstarg=`echo "$firstarg" | sed s/h//`
-           tar "$firstarg" "$@" && exit 0
-           ;;
-       esac
-    fi
-
-    echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
-         You may want to install GNU tar or Free paxutils, or check the
-         command line arguments."
-    exit 1
-    ;;
-
   *)
     echo 1>&2 "\
 WARNING: \`$1' is needed, and is $msg.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ethtool-3.7/rxclass.c new/ethtool-3.8/rxclass.c
--- old/ethtool-3.7/rxclass.c   2012-07-17 00:58:30.000000000 +0200
+++ new/ethtool-3.8/rxclass.c   2013-01-22 21:30:01.000000000 +0100
@@ -41,26 +41,38 @@
 
 static void rxclass_print_nfc_spec_ext(struct ethtool_rx_flow_spec *fsp)
 {
-       u64 data, datam;
-       __u16 etype, etypem, tci, tcim;
+       if (fsp->flow_type & FLOW_EXT) {
+               u64 data, datam;
+               __u16 etype, etypem, tci, tcim;
+               etype = ntohs(fsp->h_ext.vlan_etype);
+               etypem = ntohs(~fsp->m_ext.vlan_etype);
+               tci = ntohs(fsp->h_ext.vlan_tci);
+               tcim = ntohs(~fsp->m_ext.vlan_tci);
+               data = (u64)ntohl(fsp->h_ext.data[0]) << 32;
+               data |= (u64)ntohl(fsp->h_ext.data[1]);
+               datam = (u64)ntohl(~fsp->m_ext.data[0]) << 32;
+               datam |= (u64)ntohl(~fsp->m_ext.data[1]);
 
-       if (!(fsp->flow_type & FLOW_EXT))
-               return;
+               fprintf(stdout,
+                       "\tVLAN EtherType: 0x%x mask: 0x%x\n"
+                       "\tVLAN: 0x%x mask: 0x%x\n"
+                       "\tUser-defined: 0x%llx mask: 0x%llx\n",
+                       etype, etypem, tci, tcim, data, datam);
+       }
+
+       if (fsp->flow_type & FLOW_MAC_EXT) {
+               unsigned char *dmac, *dmacm;
+
+               dmac = fsp->h_ext.h_dest;
+               dmacm = fsp->m_ext.h_dest;
 
-       etype = ntohs(fsp->h_ext.vlan_etype);
-       etypem = ntohs(~fsp->m_ext.vlan_etype);
-       tci = ntohs(fsp->h_ext.vlan_tci);
-       tcim = ntohs(~fsp->m_ext.vlan_tci);
-       data = (u64)ntohl(fsp->h_ext.data[0]) << 32;
-       data = (u64)ntohl(fsp->h_ext.data[1]);
-       datam = (u64)ntohl(~fsp->m_ext.data[0]) << 32;
-       datam |= (u64)ntohl(~fsp->m_ext.data[1]);
-
-       fprintf(stdout,
-               "\tVLAN EtherType: 0x%x mask: 0x%x\n"
-               "\tVLAN: 0x%x mask: 0x%x\n"
-               "\tUser-defined: 0x%llx mask: 0x%llx\n",
-               etype, etypem, tci, tcim, data, datam);
+               fprintf(stdout,
+                       "\tDest MAC addr: %02X:%02X:%02X:%02X:%02X:%02X"
+                       " mask: %02X:%02X:%02X:%02X:%02X:%02X\n",
+                       dmac[0], dmac[1], dmac[2], dmac[3], dmac[4],
+                       dmac[5], dmacm[0], dmacm[1], dmacm[2], dmacm[3],
+                       dmacm[4], dmacm[5]);
+       }
 }
 
 static void rxclass_print_nfc_rule(struct ethtool_rx_flow_spec *fsp)
@@ -70,7 +82,7 @@
 
        fprintf(stdout, "Filter: %d\n", fsp->location);
 
-       flow_type = fsp->flow_type & ~FLOW_EXT;
+       flow_type = fsp->flow_type & ~(FLOW_EXT | FLOW_MAC_EXT);
 
        invert_flow_mask(fsp);
 
@@ -172,7 +184,7 @@
 static void rxclass_print_rule(struct ethtool_rx_flow_spec *fsp)
 {
        /* print the rule in this location */
-       switch (fsp->flow_type & ~FLOW_EXT) {
+       switch (fsp->flow_type & ~(FLOW_EXT | FLOW_MAC_EXT)) {
        case TCP_V4_FLOW:
        case UDP_V4_FLOW:
        case SCTP_V4_FLOW:
@@ -533,6 +545,7 @@
 #define NTUPLE_FLAG_VLAN       0x100
 #define NTUPLE_FLAG_UDEF       0x200
 #define NTUPLE_FLAG_VETH       0x400
+#define NFC_FLAG_MAC_ADDR      0x800
 
 struct rule_opts {
        const char      *name;
@@ -571,6 +584,9 @@
        { "user-def", OPT_BE64, NTUPLE_FLAG_UDEF,
          offsetof(struct ethtool_rx_flow_spec, h_ext.data),
          offsetof(struct ethtool_rx_flow_spec, m_ext.data) },
+       { "dst-mac", OPT_MAC, NFC_FLAG_MAC_ADDR,
+         offsetof(struct ethtool_rx_flow_spec, h_ext.h_dest),
+         offsetof(struct ethtool_rx_flow_spec, m_ext.h_dest) },
 };
 
 static const struct rule_opts rule_nfc_esp_ip4[] = {
@@ -599,6 +615,9 @@
        { "user-def", OPT_BE64, NTUPLE_FLAG_UDEF,
          offsetof(struct ethtool_rx_flow_spec, h_ext.data),
          offsetof(struct ethtool_rx_flow_spec, m_ext.data) },
+       { "dst-mac", OPT_MAC, NFC_FLAG_MAC_ADDR,
+         offsetof(struct ethtool_rx_flow_spec, h_ext.h_dest),
+         offsetof(struct ethtool_rx_flow_spec, m_ext.h_dest) },
 };
 
 static const struct rule_opts rule_nfc_usr_ip4[] = {
@@ -639,6 +658,9 @@
        { "user-def", OPT_BE64, NTUPLE_FLAG_UDEF,
          offsetof(struct ethtool_rx_flow_spec, h_ext.data),
          offsetof(struct ethtool_rx_flow_spec, m_ext.data) },
+       { "dst-mac", OPT_MAC, NFC_FLAG_MAC_ADDR,
+         offsetof(struct ethtool_rx_flow_spec, h_ext.h_dest),
+         offsetof(struct ethtool_rx_flow_spec, m_ext.h_dest) },
 };
 
 static const struct rule_opts rule_nfc_ether[] = {
@@ -1063,6 +1085,8 @@
                fsp->h_u.usr_ip4_spec.ip_ver = ETH_RX_NFC_IP4;
        if (flags & (NTUPLE_FLAG_VLAN | NTUPLE_FLAG_UDEF | NTUPLE_FLAG_VETH))
                fsp->flow_type |= FLOW_EXT;
+       if (flags & NFC_FLAG_MAC_ADDR)
+               fsp->flow_type |= FLOW_MAC_EXT;
 
        return 0;
 

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to