Thread (29 messages) 29 messages, 9 authors, 2019-01-22

Re: [Patch net v2] mlx5: fixup checksum for short ethernet frame padding

From: Saeed Mahameed <hidden>
Date: 2018-11-30 11:37:41

On Wed, Nov 28, 2018 at 8:09 PM Eric Dumazet [off-list ref] wrote:
On Wed, Nov 28, 2018 at 7:53 PM Cong Wang [off-list ref] wrote:
quoted
On Wed, Nov 28, 2018 at 7:50 PM Eric Dumazet [off-list ref] wrote:
quoted
On Wed, Nov 28, 2018 at 7:40 PM Cong Wang [off-list ref] wrote:
quoted
On Wed, Nov 28, 2018 at 4:07 PM Eric Dumazet [off-list ref] wrote:
quoted
A NIC is supposed to deliver frames, even the ones that 'seem' bad.
A quick test shows this is not the case for mlx5.

With the trafgen script you gave to me, with tot_len==40, the dest host
could receive all the packets. Changing tot_len to 80, tcpdump could no
longer see any packet. (Both sender and receiver are mlx5.)

So, packets with tot_len > skb->len are clearly dropped before tcpdump
could see it, that is likely by mlx5 hardware.
Or a router, or a switch.

Are your two hosts connected back to back ?
Both should be plugged into a same switch. I fail to see why a
switch could parse IP header as the packet is nothing of interest,
like a IGMP snooping.
Well, _something_ is dropping the frames.
It can be mlx5, or something else.
mlx5 HW should deliver such packets.
just tested with scapy :
sender:

#scapy
p = Ether(dst="24:8a:07:b4:24:6e")/IP(dst="1.2.3.4", len = 1000)
sendp(p, iface = "p5p1")

receiver:
tcpdump: listening on p5p1, link-type EN10MB (Ethernet), capture size
262144 bytes
16:24:26.427563 80:18:44:e5:2f:c4 > 24:8a:07:b4:24:6e, ethertype IPv4
(0x0800), length 60: truncated-ip - 954 bytes missing! (tos 0x0, ttl
64, id 1, offset 0, flags [none], proto Options (0), length 1000)
    10.20.2.212 > 1.2.3.4:  ip-proto-0 980

Does ethtool -S show any increasing counter ?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help