I am using two Ethernet adapter cards (ConnectX-3 40G), on an Ubuntu system.
I have noticed that certain Ethernet frames are not received by the cards, but are received fine by other Ethernet devices.
It is easily reproducible with the following steps:
connecting a cable between the two adapters
sending the specific frame from interface to the other (for example with scapy or tcpreplay)
checking with Wireshark that the frame was sent on one side, but not received on the other
The frame I am using is an IPv6 frame with an invalid header: the IPv6 ‘next header’ has a value of 0x00, and following bytes are all 0x00. Using a next header of value 59 (= “no next header”), the frame is received normally at the other end.
I have attached a pcap capture of the problematic frame.
I am using Mellanox driver installed from mlnx-en-3.0-1.0.1.tgz, on Ubuntu 14.04 64 bits.
Received packets dropped due to packet check that was failed.
I would like to disable all hardware or driver packet checks, so that I am to able receive what is sent from the other side, even if is an invalid IPv6 packet, is there a way to do that?