6

When I test with Cisco 2960 series switches or with ISR routers, then if port receives an Ethernet frame larger than its MTU value seen in sh int output, then device drops this frame and increases the giants counter. In my opinion this is an expected behavior. However, for example some Linux servers(different NIC vendors and thus different kernel modules) still process frames with larger MTU than seen in ip link show or ifconfig output and send fragmented reply back.

What is a correct behavior? What should a device do when it receives an Ethernet frame larger than its MTU? I would expect it to either silently drop this frame or behave like Cisco equipment which nicely counts giant frames.

Ron Maupin
  • 98,218
  • 26
  • 115
  • 191
Martin
  • 1,177
  • 6
  • 25
  • 47
  • Did any answer help you? If so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you can post and accept your own answer. – Ron Maupin Jan 04 '21 at 23:48

1 Answers1

6

The ethernet standard (IEEE 802.3) calls the large frames damaged because the bits where the FCS is supposed to be don't match the CRC of the bits coming before them. What you see the Cisco switch do is correct for the default.

Some vendors have adopted Jumbo Frames, and what you see on the servers is the use of those. Unfortunately, there is no actual standard for Jumbo Frames so the limit on the size can vary from manufacturer to manufacturer, and even on different models from the same manufacturer. For example, see Jumbo/Giant Frame Support on Catalyst Switches Configuration Example. That document tells you that the Cisco 2960 series switch can be configured to use an MTU up to 1998 bytes on 10/100 Mbps interfaces, and up to 9000 bytes on 1000 Mbps interfaces.

Ron Maupin
  • 98,218
  • 26
  • 115
  • 191
  • Thanks! What I find especially confusing on those servers is that for transmitted frames the MTU value seen in `ip link show` or `ifconfig` applies, but for received frames they have some hidden much higher MTU. For example, one NIC with `e1000e` driver had this hidden Rx MTU at 4210 bytes while MTU seen in `ifconfig` was 1500 bytes. Another NIC with `r8169` driver had this hidden Rx MTU at 8166 bytes while again `ifconfig` reported 1500 byte MTU and ICMP `echo request` messages with DF bit set and >1472 byte payload sent out from this server reported that the message is too long. – Martin Feb 04 '17 at 23:18
  • You seem to be confusing some things. The DF bit applies to the IP header to tell _routers_ not to fragment layer-3 IP packets. Ethernet is a layer-1/2 set of protocols that really don't know or care about layer-3 protocols, e.g. IP. Also, as I pointed out, there is no standard for Jumbo Frames. The ethernet standard (IEEE 802.3) has a payload (MTU) of 1500 bytes, period. – Ron Maupin Feb 05 '17 at 01:12