On 02/10/2012 05:04 PM, greearb@candelatech.com wrote: > From: Ben Greear > > 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.