linux/drivers/net/ethernet
Jesse Brandeburg dddd406d9d ice: Implement control of FCS/CRC stripping
The driver can allow the user to configure whether the CRC aka the FCS
(Frame Check Sequence) is DMA'd to the host as part of the receive
buffer.  The driver usually wants this feature disabled so that the
hardware checks the FCS and strips it in order to save PCI bandwidth.

Control the reception of FCS to the host using the command:
ethtool -K eth0 rx-fcs <on|off>

The default shown in ethtool -k eth0 | grep fcs; should be "off", as the
hardware will drop any frame with a bad checksum, and DMA of the
checksum is useless overhead especially for small packets.

Testing Hints:
test the FCS/CRC arrives with received packets using
tcpdump -nnpi eth0 -xxxx
and it should show crc data as the last 4 bytes of the packet. Can also
use wireshark to turn on CRC checking and check the data is correct.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Co-developed-by: Grzegorz Nitka <grzegorz.nitka@intel.com>
Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com>
Co-developed-by: Benjamin Mikailenko <benjamin.mikailenko@intel.com>
Signed-off-by: Benjamin Mikailenko <benjamin.mikailenko@intel.com>
Co-developed-by: Anatolii Gerasymenko <anatolii.gerasymenko@intel.com>
Signed-off-by: Anatolii Gerasymenko <anatolii.gerasymenko@intel.com>
Tested-by: Gurucharan <gurucharanx.g@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2022-08-18 08:08:23 -07:00
..
3com eth: switch to netif_napi_add_weight() 2022-05-08 11:33:57 +01:00
8390
actions
adaptec eth: switch to netif_napi_add_weight() 2022-05-08 11:33:57 +01:00
aeroflex
agere agere: fix repeated words in comments 2022-06-27 22:06:14 -07:00
alacritech slic: remove a copy of the NAPI_POLL_WEIGHT define 2022-04-29 11:56:41 +01:00
allwinner
alteon
altera Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-06-09 16:38:15 -07:00
amazon eth: remove remaining copies of the NAPI_POLL_WEIGHT define 2022-04-30 14:00:45 +01:00
amd net: amd8111e: remove repeated dev->features assignement 2022-07-20 21:01:16 -07:00
apm
apple net: ethernet: Prepare cleanup of powerpc's asm/prom.h 2022-05-05 15:53:02 -07:00
aquantia net: atlantic: fix aq_vec index out of range error 2022-08-09 22:17:11 -07:00
arc eth: switch to netif_napi_add_weight() 2022-05-08 11:33:57 +01:00
asix
atheros atl1c: use netif_napi_add_tx() for Tx NAPI 2022-07-18 11:31:28 +01:00
broadcom net: bgmac: Fix a BUG triggered by wrong bytes_compl 2022-08-09 12:15:44 -07:00
brocade net: add skb_[inner_]tcp_all_headers helpers 2022-07-02 16:22:25 +01:00
cadence Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32 2022-08-04 15:20:39 -07:00
calxeda net: calxedaxgmac: Fix typo (doubled "the") 2022-04-11 20:49:21 -07:00
cavium net: add skb_[inner_]tcp_all_headers helpers 2022-07-02 16:22:25 +01:00
chelsio Including fixes from bluetooth, bpf, can and netfilter. 2022-08-11 13:45:37 -07:00
cirrus cirrus: cs89x0: fix typo in comment 2022-05-22 20:44:29 +01:00
cisco SPDX changes for 6.0-rc1 2022-08-04 12:12:54 -07:00
cortina eth: remove copies of the NAPI_POLL_WEIGHT define 2022-04-29 11:56:41 +01:00
davicom
dec eth: de4x5: remove support for Generic DECchip & DIGITAL EtherWORKS PCI/EISA 2022-05-23 11:43:51 +01:00
dlink
emulex Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-07-21 13:03:39 -07:00
engleder tsnep: Fix tsnep_tx_unmap() error path usage 2022-08-08 20:44:33 -07:00
ezchip eth: switch to netif_napi_add_weight() 2022-05-08 11:33:57 +01:00
faraday net: ftgmac100: Hold reference returned by of_get_child_by_name() 2022-07-13 13:29:07 +01:00
freescale Including fixes from bluetooth, bpf, can and netfilter. 2022-08-11 13:45:37 -07:00
fujitsu
fungible net/funeth: Tx handling of XDP with fragments. 2022-08-01 12:38:57 +01:00
google net: add skb_[inner_]tcp_all_headers helpers 2022-07-02 16:22:25 +01:00
hisilicon net: hns: Fix spelling mistakes in comments. 2022-07-04 11:15:45 +01:00
huawei net: hinic: avoid kernel hung in hinic_get_stats64() 2022-07-06 13:09:28 +01:00
i825xx
ibm Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-07-07 12:07:37 -07:00
intel ice: Implement control of FCS/CRC stripping 2022-08-18 08:08:23 -07:00
litex
marvell octeontx2-pf: Fix NIX_AF_TL3_TL2X_LINKX_CFG register configuration 2022-08-05 18:56:51 -07:00
mediatek net: ethernet: mtk_eth_soc: add xdp tx return bulking support 2022-07-29 12:18:10 +01:00
mellanox Including fixes from bluetooth, bpf, can and netfilter. 2022-08-11 13:45:37 -07:00
micrel
microchip Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-07-21 13:03:39 -07:00
microsoft net: mana: Add support of XDP_REDIRECT action 2022-06-16 10:40:25 +02:00
moxa eth: switch to netif_napi_add_weight() 2022-05-08 11:33:57 +01:00
mscc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-07-14 15:27:35 -07:00
myricom net: add skb_[inner_]tcp_all_headers helpers 2022-07-02 16:22:25 +01:00
natsemi ethernet/natsemi: fix repeated words in comments 2022-07-01 11:14:24 +01:00
neterion eth: remove neterion/vxge 2022-07-05 15:26:31 -07:00
netronome nfp: fix use-after-free in area_cache_get() 2022-08-11 09:02:26 -07:00
ni
nvidia eth: remove remaining copies of the NAPI_POLL_WEIGHT define 2022-04-30 14:00:45 +01:00
nxp eth: switch to netif_napi_add_weight() 2022-05-08 11:33:57 +01:00
oki-semi eth: pch_gbe: remove a copy of the NAPI_POLL_WEIGHT define 2022-04-29 11:56:41 +01:00
packetengines
pasemi
pensando Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-08-03 09:04:55 +02:00
qlogic qlogic: qed: fix clang -Wformat warnings 2022-07-12 20:36:41 -07:00
qualcomm net: add skb_[inner_]tcp_all_headers helpers 2022-07-02 16:22:25 +01:00
rdc
realtek r8169: fix accessing unset transport header 2022-07-06 19:53:21 -07:00
renesas ravb: Add support for RZ/V2M 2022-05-16 10:14:27 +01:00
rocker net: switch to netif_napi_add_tx() 2022-05-05 15:54:12 -07:00
samsung samsung/sxgbe: fix repeated words in comments 2022-07-01 20:13:39 -07:00
seeq
sfc sfc: implement ethtool get/set RX ring size for EF100 reps 2022-07-29 21:22:07 -07:00
sgi
silan
sis
smsc epic100: fix use after free on rmmod 2022-06-27 21:48:51 -07:00
socionext net: switch to netif_napi_add_tx() 2022-05-05 15:54:12 -07:00
stmicro stmmac: intel: remove unused 'has_crossts' flag 2022-08-17 20:40:52 -07:00
sun Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-07-14 15:27:35 -07:00
sunplus eth: sp7021: switch to netif_napi_add_tx() 2022-07-08 12:12:27 +01:00
synopsys net: add skb_[inner_]tcp_all_headers helpers 2022-07-02 16:22:25 +01:00
tehuti
ti net: ethernet: ti: am65-cpsw: Fix devlink port register sequence 2022-07-07 17:21:44 -07:00
toshiba eth: switch to netif_napi_add_weight() 2022-05-08 11:33:57 +01:00
tundra
vertexcom net: vertexcom: mse102x: Update email address 2022-08-16 19:49:51 -07:00
via ethernet/via: fix repeated words in comments 2022-07-11 14:12:54 +01:00
wangxun eth: fix the help in Wangxun's Kconfig 2022-08-05 19:01:45 -07:00
wiznet eth: switch to netif_napi_add_weight() 2022-05-08 11:33:57 +01:00
xilinx net: axienet: Modify function description 2022-06-27 21:53:04 -07:00
xircom
xscale ixp4xx_eth: Set MAC address from device tree 2022-07-09 12:34:18 +01:00
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c jme: remove an unnecessary indirection 2022-05-05 15:53:28 -07:00
jme.h jme: remove an unnecessary indirection 2022-05-05 15:53:28 -07:00
Kconfig net: txgbe: Add build support for txgbe 2022-06-29 20:57:06 -07:00
korina.c
lantiq_etop.c eth: switch to netif_napi_add_weight() 2022-05-08 11:33:57 +01:00
lantiq_xrx200.c net: switch to netif_napi_add_tx() 2022-05-05 15:54:12 -07:00
Makefile net: txgbe: Add build support for txgbe 2022-06-29 20:57:06 -07:00