I have a following very simple topology where router r1 sends ICMP "echo request" messages to r2 with 2000 byte payloads and router r2 replies to those messages with ICMP "echo reply" messages:
Routers Gi0/0/0 interfaces are with 9000 byte MTU. As seen on the drawing, there is also a passive network tap between those two routers which mirrors traffic to bond0 interface in PC. When bond0(and thus eth2 and eth3) has smaller MTU than Ethernet frames containing ICMP messages on wire, then packet capture utilities like tcpdump or tshark see only part of the payload part of the ICMP messages. For example lets say that r1 sends ICMP messages padded with 0xabcd data, then packet capture utilities listening either on bond0, eth2 or eth3 interfaces in PC see following data:
0x0000: abcd abcd abcd abcd abcd abcd abcd abcd ................
0x0010: abcd abcd abcd abcd abcd abcd abcd abcd ................
0x0020: abcd abcd abcd abcd abcd abcd abcd abcd ................
0x0030: abcd abcd abcd abcd abcd abcd abcd abcd ................
0x0040: abcd abcd abcd abcd abcd abcd abcd abcd ................
/* further data removed for brevity */
What causes such behavior?
eth2
andeth3
iscdc_ether
(USB CDC Ethernet devices) which depends onusbnet
, i.e thoseeth2
andeth3
interfaces are USB NICs. If I bondeth0
andeth1
interfaces(both usee1000e
driver), then this behavior does not occur- frames which are larger than interface MTU are simply dropped. So I guess this behavior is specific to USB NICs.