Project

General

Profile

Actions

Bug #2305

closed

Ethernet face reports MTU to be 1500 bytes on 9000 bytes interface

Added by susmit shannigrahi over 9 years ago. Updated over 9 years ago.

Status:
Closed
Priority:
Normal
Category:
Faces
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:

Description

Tested Ethernet face on a Jumbo frame enabled face. The MTU is 9000 bytes.

$ ifconfig
p2p2: flags=4163 mtu 9000
inet xx netmask 255.255.255.252 broadcast xx
inet6 xx prefixlen 64 scopeid 0x20
ether xx txqueuelen 10000 (Ethernet)
RX packets 3024380 bytes 2175073663 (2.0 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6210823 bytes 7606515260 (7.0 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

NFD always reports MTU = 1500 bytes

1418755213.108174 WARNING: [EthernetFace] ifr_mtu = 9000
1418755213.108205 DEBUG: [EthernetFace] [id:-1,endpoint:p2p2] Interface MTU is: 1500

This happens since in /ndn-cxx/src/util/ethernet.hpp, MAX DATA LENGTH is 1500 bytes.

47: const size_t MAX_DATA_LEN = 1500;

and on NFD/daemon/face/ethernet-face.cpp,

447: mtu = std::min(mtu, static_cast(ifr.ifr_mtu));

Actions #1

Updated by Alex Afanasyev over 9 years ago

  • Target version set to v0.3
  • Start date deleted (12/16/2014)
Actions #2

Updated by Davide Pesavento over 9 years ago

This is feature request rather than a bug. EthernetFace does not support jumbo frames.

Actions #3

Updated by Alex Afanasyev over 9 years ago

Is there something fundamental/special about jumbo frames?

Actions #4

Updated by Davide Pesavento over 9 years ago

You mean from an implementation POV? No, there shouldn't be. Jumbo support simply wasn't part of the initial requirements, but it should be trivial to add.

Actions #5

Updated by susmit shannigrahi over 9 years ago

Davide Pesavento wrote:

You mean from an implementation POV? No, there shouldn't be. Jumbo support simply wasn't part of the initial requirements, but it should be trivial to add.

Yes, I set it to mtu = ifr.ifr_mtu and it works.
Also, why set MTU to minimum(MTU, ifr.ifr_mtu)? Why not use ifr.ifr_mtu in the library too?

Actions #6

Updated by Davide Pesavento over 9 years ago

  • Status changed from New to Code review
  • Assignee set to Davide Pesavento
  • % Done changed from 0 to 100
Actions #7

Updated by Davide Pesavento over 9 years ago

susmit shannigrahi wrote:

Why not use ifr.ifr_mtu in the library too?

What do you mean "in the library"? What library?

Actions #8

Updated by Alex Afanasyev over 9 years ago

  • Status changed from Code review to Closed
Actions

Also available in: Atom PDF