ip mtu vs mtu vs mpls mtu

This is kind of a stupid question, but I've read the definitions several times in several places, and I'm just not sure I'm getting it, so can somebody please confirm.

 

ip mtu -- only ip packets (not MPLS)

mtu -- maximum size of ANY packet sent on the link, including MPLS

mpls mtu - the maximum size of IP + MPLS lable

 

So, if I want to send a 1500 byte IP packet with 2 MPLS labels on it, on a fast-ethernet interface, and I don't want fragementation then:

 

mtu = 1508 (Or anything larger than this, up to the interface maximum for jumbo frames - 1530 or so.)

mpls mtu = 1508

ip mtu = 1500

 

Or I can just set the mpls mtu to 1508, and it will automatically up the mtu value...

 

Thanks to anybody who can help with my confusion.

 

am

 

 

Comments

  • Good question Andre, i liked this and will respect other views, as per me any one will work.

  • I have never had any issues with MPLS and MTU unless I am dealing with crytpo or IPSec and in those cases it's the usually the GRE/IPSec which causes the problem.  I think that Cisco accepts baby giants by default.  So you shouldn't have a problem with 1508 packets.


    As another side note, all the networks that I have worked on have enabled jumbo frame support in the MPLS backbone.

    On Thu, Feb 11, 2010 at 10:53 AM, andrewmoriarty <[email protected]> wrote:

    This is kind of a stupid question, but I've read the definitions several times in several places, and I'm just not sure I'm getting it, so can somebody please confirm.

     

    ip mtu -- only ip packets (not MPLS)

    mtu -- maximum size of ANY packet sent on the link, including MPLS

    mpls mtu - the maximum size of IP + MPLS lable

     

    So, if I want to send a 1500 byte IP packet with 2 MPLS labels on it, on a fast-ethernet interface, and I don't want fragementation then:

     

    mtu = 1508 (Or anything larger than this, up to the interface maximum for jumbo frames - 1530 or so.)

    mpls mtu = 1508

    ip mtu = 1500

     

    Or I can just set the mpls mtu to 1508, and it will automatically up the mtu value...

     

    Thanks to anybody who can help with my confusion.

     

    am

     

     





    Internetwork Expert - The Industry Leader in CCIE Preparation

    http://www.internetworkexpert.com



    Subscription information may be found at:

    http://www.ieoc.com/forums/ForumSubscriptions.aspx

  • So, if I want to send a 1500 byte IP packet with 2 MPLS labels on it, on a fast-ethernet interface, and I don't want fragementation then

     

    actually the answer is : it depends

    PHY MTU is the generic L2 MTU (all included)

    MPLS MTU is the IP+MPLS but the without the L2 (Eth in your question)

    IP MTU is just the IP without the the L2 and without the MPLS

     

    So, if your payload is pure IP (let's say for L3VPN) then the Minimum PHY MTU  would be 1500(IP)+8(labels)+14(Eth DLC) = 1522  minimun because the frame can go larger in transit (e.g. Facility FRR would add another label)

    If you are delivering an Ethernet frame (with AToM), then you should add 14 bytes cause the payload would carry the Eth header.

    HTH

     

     

  • When I am reading this article here: http://www.ciscopress.com/articles/article.asp?p=680824&seqNum=5 I come to the conclusion that the interface MTU is the same as the MPLS mtu.

    Right or wrong?

     

    Regards!

    Markus

     

     

  • Hi Markus, I undesrtood this.

    If you change the mtu interface value, you are configuring the lenght size for the complete packet (mpls, ip, ethernet, etc) and for default all the types of mtu changing automatically, but it you only change for example ip mtu, you are changing the lengh size of the ip packet, the same applies for the mtu mpls.

     

    in summary, to default all the mtu on cisco are same mtu interface = 1500, ip mtu = 1500 and mpls mtu = 1500, if you don't change nothing.

    But if you change mtu interface to 1508 then mtu ip and mtu mpls are changing:

    R1(config)#do sh ip int f0/0 | inc MTU
    MTU is 1500 bytes
    R1(config)#do sh int f0/0 | inc MTU
    MTU 1500 bytes, BW 10000 Kbit/sec, DLY 1000 usec,

    change

    R1(config)#int f0/0
    R1(config-if)#mtu
    R1(config-if)#mtu 1520
    R1(config-if)#exit
    R1(config)#do sh int f0/0 | inc MTU
    MTU 1520 bytes, BW 10000 Kbit/sec, DLY 1000 usec,
    R1(config)#do sh ip int f0/0 | inc MTU
    MTU is 1520 bytes
    R1(config)#

    R1#sh mpls interfaces det | inc MTU
    MTU = 1520

    Now if we want pass two mpls labels for vpn mpls you could use mtu mpls to 1508 but mtu interface don't change.

    R1#sh mpls interfaces det | inc MTU
    MTU = 1508
    R1#sh int f0/0 | inc MTU
    MTU 1520 bytes, BW 10000 Kbit/sec, DLY 1000 usec,
    R1#

    R1#sh ip int f0/0 | inc MTU
    MTU is 1520 bytes

    I hope to help,

    Regards

    Renzo Tovar

     

     

     

     

     

Sign In or Register to comment.