Project

General

Profile

Actions

Bug #2305

closed

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

Added by susmit shannigrahi almost 10 years ago. Updated almost 10 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 almost 10 years ago

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

Updated by Davide Pesavento almost 10 years ago

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

Actions #3

Updated by Alex Afanasyev almost 10 years ago

Is there something fundamental/special about jumbo frames?

Actions #4

Updated by Davide Pesavento almost 10 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 almost 10 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 almost 10 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 almost 10 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 almost 10 years ago

  • Status changed from Code review to Closed
Actions

Also available in: Atom PDF