Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

e1000e driver cannot capture the packet,always show "Truncate incomplete fragment at" in dmesg #963

Open
xiaojin2630 opened this issue Jul 29, 2024 · 0 comments

Comments

@xiaojin2630
Copy link

The netmap e1000e driver fails to capture the packet and displays a message indicating that the netmap e1000e driver displays a message called Truncate incomplete fragment at

I recompiled the kernel and netmap in a linux, including the E1000E and IGB drivers.

I wrote a simple test program that works in vale mode with reference to netmap.git/apps/bridge/bridge.c.
The web is actually very simple. I found that the E1000E driver could not capture packets on the eth5 port. However, when using the IGB driver interface, it is normal to capture packets.

Linux Kernel: 5.8.0

netmap

commit fdcccaf (HEAD ->
Merge: 65bcd3e 04ed7ad
Author: Giuseppe Lettieri giuseppe.lettieri@unipi.it
Date: Tue Apr 9 09:25:40 2024 +0200

Merge pull request #954 from OpenBroadcastSystems/dev

Some mellanox housekeeping and a new driver version

ifconfig =----------------------------------- eth5 Link encap:Ethernet HWaddr 10:90:27:E7:4E:B5 UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:455358 errors:0 dropped:2 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:39024851 (37.2 MiB) TX bytes:0 (0.0 B) Interrupt:17 Memory:df100000-df120000

nm [ ~ ]# ethtool -i eth5

driver: e1000e version: 3.8.7-NAPI firmware-version: 2.1-0 expansion-rom-version: bus-info: 0000:09:00.0 supports-statistics: yes supports-test: yes supports-eeprom-access: yes supports-register-dump: yes supports-priv-flags: no
I've also tried the following command, and the problem is still the same
ethtool -K eth5 tx off rx off gso off tso off gro off lro off

nm [ ~ ]# ethtool -k eth5

Features for eth5: rx-checksumming: on tx-checksumming: on tx-checksum-ipv4: off [fixed] tx-checksum-ip-generic: on tx-checksum-ipv6: off [fixed] tx-checksum-fcoe-crc: off [fixed] tx-checksum-sctp: off [fixed] scatter-gather: on tx-scatter-gather: on tx-scatter-gather-fraglist: off [fixed] tcp-segmentation-offload: off tx-tcp-segmentation: off tx-tcp-ecn-segmentation: off [fixed] tx-tcp-mangleid-segmentation: off tx-tcp6-segmentation: off generic-segmentation-offload: on generic-receive-offload: on large-receive-offload: off [fixed] rx-vlan-offload: off tx-vlan-offload: off [requested on] ntuple-filters: off [fixed] receive-hashing: on 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] tx-gre-segmentation: off [fixed] tx-gre-csum-segmentation: off [fixed] tx-ipxip4-segmentation: off [fixed] tx-ipxip6-segmentation: off [fixed] tx-udp_tnl-segmentation: off [fixed] tx-udp_tnl-csum-segmentation: off [fixed] tx-gso-partial: off [fixed] tx-tunnel-remcsum-segmentation: off [fixed] tx-sctp-segmentation: off [fixed] tx-esp-segmentation: off [fixed] tx-udp-segmentation: off [fixed] tx-gso-list: off [fixed] fcoe-mtu: off [fixed] tx-nocache-copy: off loopback: off [fixed] rx-fcs: off rx-all: off tx-vlan-stag-hw-insert: off [fixed] rx-vlan-stag-hw-parse: off [fixed] rx-vlan-stag-filter: off [fixed] l2-fwd-offload: off [fixed] hw-tc-offload: off [fixed] esp-hw-offload: off [fixed] esp-tx-csum-hw-offload: off [fixed] rx-udp_tunnel-port-offload: off [fixed] tls-hw-tx-offload: off [fixed] tls-hw-rx-offload: off [fixed] rx-gro-hw: off [fixed] tls-hw-record: off [fixed] rx-gro-list: off macsec-hw-offload: off [fixed]

dmesg

kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e: Intel(R) PRO/1000 Network Driver - 3.8.7-NAPI kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e: Copyright(c) 1999 - 2020 Intel Corporation. kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:01:00.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:01:00.0 0000:01:00.0 (uninitialized): registered PHC clock kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:01:00.0 eth0: (PCI Express:2.5GT/s:Width x1) 10:90:27:e7:4e:b0 kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:01:00.0 eth0: Intel(R) PRO/1000 Network Connection kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:01:00.0 eth0: MAC: 3, PHY: 8, PBA No: FFFFFF-0FF kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:02:00.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:02:00.0 0000:02:00.0 (uninitialized): registered PHC clock kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:02:00.0 eth1: (PCI Express:2.5GT/s:Width x1) 10:90:27:e7:4e:b1 kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:02:00.0 eth1: Intel(R) PRO/1000 Network Connection kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:02:00.0 eth1: MAC: 3, PHY: 8, PBA No: FFFFFF-0FF kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:03:00.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:03:00.0 0000:03:00.0 (uninitialized): registered PHC clock kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:03:00.0 eth2: (PCI Express:2.5GT/s:Width x1) 10:90:27:e7:4e:b2 kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:03:00.0 eth2: Intel(R) PRO/1000 Network Connection kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:03:00.0 eth2: MAC: 3, PHY: 8, PBA No: FFFFFF-0FF kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:04:00.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:04:00.0 0000:04:00.0 (uninitialized): registered PHC clock kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:04:00.0 eth3: (PCI Express:2.5GT/s:Width x1) 10:90:27:e7:4e:b3 kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:04:00.0 eth3: Intel(R) PRO/1000 Network Connection kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:04:00.0 eth3: MAC: 3, PHY: 8, PBA No: FFFFFF-0FF kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:08:00.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:08:00.0 0000:08:00.0 (uninitialized): registered PHC clock kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:08:00.0 eth4: (PCI Express:2.5GT/s:Width x1) 10:90:27:e7:4e:b4 kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:08:00.0 eth4: Intel(R) PRO/1000 Network Connection kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:08:00.0 eth4: MAC: 3, PHY: 8, PBA No: FFFFFF-0FF kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:09:00.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:09:00.0 0000:09:00.0 (uninitialized): registered PHC clock kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:09:00.0 eth5: (PCI Express:2.5GT/s:Width x1) 10:90:27:e7:4e:b5 kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:09:00.0 eth5: Intel(R) PRO/1000 Network Connection kern.log:Jul 29 10:37:06 nm kern.info kernel: e1000e 0000:09:00.0 eth5: MAC: 3, PHY: 8, PBA No: FFFFFF-0FF

nm [ ~ ]# vale-ctl vale1:eth5 bridge_idx 0 port_idx 0 nm [ ~ ]#

As follows, this kind of information is constantly printed.
`nm [ ~ ]# dmesg -c 10
751.269269 [ 552] nm_vale_preflush Truncate incomplete fragment at 1 (1 frags)
751.271323 [ 552] nm_vale_preflush Truncate incomplete fragment at 1 (1 frags)
751.304199 [ 552] nm_vale_preflush Truncate incomplete fragment at 1 (1 frags)
751.315002 [ 552] nm_vale_preflush Truncate incomplete fragment at 1 (1 frags)
751.343470 [ 552] nm_vale_preflush Truncate incomplete fragment at 1 (1 frags)
752.308560 [ 552] nm_vale_preflush Truncate incomplete fragment at 1 (1 frags)
752.487319 [ 552] nm_vale_preflush Truncate incomplete fragment at 1 (1 frags)
752.528667 [ 552] nm_vale_preflush Truncate incomplete fragment at 2 (2 frags)
752.529309 [ 552] nm_vale_preflush Truncate incomplete fragment at 1 (1 frags)
752.529433 [ 552] nm_vale_preflush Truncate incomplete fragment at 1 (1 frags)

After I run vale-ctl -d vale1:eth5, I can capture a lot of network packets by using tcpdump -ni eth5, so I wonder if there is a bug in the netmap or where it is not properly configured.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant