Subject: Re: [PATCH v3 00/16] Low-level Ethernet debugging features.

From: Jeff Kirsher <[email-masked]>
Date: Fri, 10 Feb 2012 23:56:27 -0800

On 02/10/2012 05:04 PM, [email-masked] wrote:
> From: Ben Greear <[email-masked]>
>
> This patch series enables some features designed to make
> testing ethernet devices and debugging link-level errors
> easier.
>
> First, support is added for receiving the Ethernet FCS.  This
> allows stock wireshark to show you the actual Ethernet FCS.
>
> Second, allow sending packets with user-specified Ethernet
> FCS.  The user can specify bad FCS in order to test network
> equipments' handling of FCS errors, or, in strange cases,
> users might want to implement their own FCS scheme.
>
> Third, allow configuring a NIC to receive errored (and possibly
> other types of packets not normally passed up the stack).  This
> allows sniffers to show packets with bad FCS, for instance.
>
> Changes from V2:
>
> *  Fix e100 to properly not count the FCS in the rx-bytes counter.
>
> *  Add rx-fcs and rx-all support for e1000 driver (tested with bad FCS pkts).
>
> *  Add realtek 8139too and r8169 support for rx-all and rx-fcs features.
>    It appears these drivers cannot do per-packet FCS tx config, so I
>    have no plans to implement the 'send custom fcs' logic in them.
>
> Ben Greear (16):
>   net: Support RXFCS feature flag.
>   e100: Support RXFCS feature flag.
>   e1000e:  Support RXFCS feature flag.
>   net: Add framework to allow sending packets with customized CRC.
>   e100: Support sending custom Ethernet CRC
>   e1000e:  Support sending custom Ethernet CRC.
>   net:  Support RX-ALL feature flag.
>   e1000e:  Support RXALL feature flag.
>   e100:  Support RXALL feature flag.
>   e1000: Support sending custom Ethernet CRC.
>   e1000:  Support RX-ALL flag.
>   e1000:  Support RX-FCS flag.
>   8139too:  Support RX-ALL logic.
>   8139too:  Support RX-FCS flag.
>   r8169:  Support RX-ALL flag.
>   r8169:  Support RX-FCS flag.
>
>  Documentation/networking/netdev-features.txt  |   13 ++++
>  arch/alpha/include/asm/socket.h               |    3 +
>  arch/arm/include/asm/socket.h                 |    3 +
>  arch/avr32/include/asm/socket.h               |    3 +
>  arch/cris/include/asm/socket.h                |    3 +
>  arch/frv/include/asm/socket.h                 |    3 +
>  arch/h8300/include/asm/socket.h               |    3 +
>  arch/ia64/include/asm/socket.h                |    3 +
>  arch/m32r/include/asm/socket.h                |    3 +
>  arch/m68k/include/asm/socket.h                |    3 +
>  arch/mips/include/asm/socket.h                |    3 +
>  arch/mn10300/include/asm/socket.h             |    3 +
>  arch/parisc/include/asm/socket.h              |    4 +
>  arch/powerpc/include/asm/socket.h             |    3 +
>  arch/s390/include/asm/socket.h                |    3 +
>  arch/sparc/include/asm/socket.h               |    4 +
>  arch/xtensa/include/asm/socket.h              |    3 +
>  drivers/net/ethernet/intel/e100.c             |   68 +++++++++++++++++++--
>  drivers/net/ethernet/intel/e1000/e1000_main.c |   59 +++++++++++++++----
>  drivers/net/ethernet/intel/e1000e/defines.h   |    1 +
>  drivers/net/ethernet/intel/e1000e/e1000.h     |    1 +
>  drivers/net/ethernet/intel/e1000e/netdev.c    |   80 +++++++++++++++++++++---
>  drivers/net/ethernet/intel/e1000e/param.c     |    5 +-
>  drivers/net/ethernet/realtek/8139too.c        |   58 ++++++++++++++++++-
>  drivers/net/ethernet/realtek/r8169.c          |   55 +++++++++++++----
>  include/asm-generic/socket.h                  |    4 +
>  include/linux/if.h                            |    2 +
>  include/linux/netdev_features.h               |    4 +
>  include/linux/netdevice.h                     |    8 ++-
>  include/linux/skbuff.h                        |    4 +-
>  include/net/sock.h                            |    4 +
>  net/core/ethtool.c                            |    2 +
>  net/core/skbuff.c                             |    1 +
>  net/core/sock.c                               |    4 +
>  net/packet/af_packet.c                        |   32 +++++++++-
>  35 files changed, 408 insertions(+), 47 deletions(-)
>

Thanks Ben, I have dropped the previous series for this latest version. 
I cannot promise to validate the changes to the r8169 and r8139too
drivers.  But if the Realtek maintainer is fine with the changes, I will
push the entire series through my tree after we validate the e100, e1000
and e1000e changes.