I have a PC with Intel Corporation 82573L GigE NIC. It uses e1000e(version 1.5.1-k) driver. Driver is loaded with CRC stripping disabled:
[email protected]:~# modprobe -v e1000e CrcStripping=0
insmod /lib/modules/3.2.0-4-686-pae/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko CrcStripping=0
[email protected]:~#
In addition, all the Ethernet related Rx checksum offloading should be disabled:
[email protected]:~# ethtool -k eth2
Features for eth2:
rx-checksumming: off
tx-checksumming: off
tx-checksum-ipv4: off [fixed]
tx-checksum-unneeded: off [fixed]
tx-checksum-ip-generic: off
tx-checksum-ipv6: off [fixed]
tx-checksum-fcoe-crc: off [fixed]
tx-checksum-sctp: off [fixed]
scatter-gather: off
tx-scatter-gather: off [requested on]
tx-scatter-gather-fraglist: off [fixed]
tcp-segmentation-offload: off
tx-tcp-segmentation: off [requested on]
tx-tcp-ecn-segmentation: off [fixed]
tx-tcp6-segmentation: off [requested on]
udp-fragmentation-offload: off [fixed]
generic-segmentation-offload: off [requested on]
generic-receive-offload: on
large-receive-offload: off [fixed]
rx-vlan-offload: on
tx-vlan-offload: on
ntuple-filters: off [fixed]
receive-hashing: off [fixed]
highdma: on [fixed]
rx-vlan-filter: on [fixed]
vlan-challenged: off [fixed]
tx-lockless: off [fixed]
netns-local: off [fixed]
tx-gso-robust: off [fixed]
tx-fcoe-segmentation: off [fixed]
fcoe-mtu: off [fixed]
tx-nocache-copy: on
loopback: off [fixed]
[email protected]:~#
Still, if I capture packets with tshark -i eth2 -V
I do not see any FCS of CRC fields. Am I doing something wrong or does this NIC or driver not support Ethernet FCS passing?
asked 15 Jan '15, 03:56
![mrtn's gravatar image](https://secure.gravatar.com/avatar/c153148e19e1e7c04c48a2a5c4f68b54?s=32&d=identicon&r=g)
mrtn
11●6●6●9
accept rate: 0%
Thanks! Both for
ethtool -K eth2 rx-fcs on
andethtool -K eth2 rx-all on
I receive theethtool: bad command line argument(s)
error. However, on another machine with e1000e version 2.1.4-k I am able to pass FCS up to network stack. So I guess bothrx-fcs
andrx-all
features are heavily driver and NIC hardware dependent? In addition, I have to say that at leasttshark
version 1.8.5 is often confused about FCS field and sometimes interprets it as part of some other protocol(for example VSS-Monitoring ethernet trailer if ICMP "echo request" is padded with zeros) and sometimes counts it in as a part of Data field(for example in case of Cisco IOS keepalive packages). Has anyone else observed this behavior?