10-10-2011 06:52 AM
Hi everyone,
Im running an MPLS network and I seem to have some confusion with MTU behaviour changes in some releases of IOS
Typically, an IP packet is (1460 payload + 20 tcp + 20 ip) which makes up the 1500 bytes
Add one (or two) MPLS lables to that and you get a larger packet, 1504 or 1508 bytes
So to accomodate this, on my routers I have always IP MTU as default (ie 1500) and configured 'mpls mtu 1508' to accomodate two labels.
Without a larger MPLS MTU configured, I have packet loss issues with large MPLS packets.
The IP MTU I am not comfortable with changing due to other issues related to possible broken PMTUD behaviour (+ DF bit set) which will lead to packet drops in the IP world.
Now for the confusion: In some cases on some boxes when I change the MPLS MTU to 1508, the router complains like so:
Setting the mpls mtu to xxxx on interface x/x, which is higher than the interface MTU
xxxx. This could lead to packet forwarding problems including packet drops.
You must set the MPLS MTU values equal to or lower than the interface MTU values.
This is detailed in http://www.cisco.com/en/US/docs/ios/12_2sb/feature/guide/newmtu.html
However I still do not understand why:
1. changing MPLS MTU to be higher than IP MTU can lead to packet drops (the reverse is true according to my knowledge), but Im sure there is a reason here.
2. leaving MPLS MTU and IP MTU as the same (ie 1500) as per the link above, can possibly cater for large MPLS packets (eg 1460 payload +20 tcp + 20 IP + 4 MPLS Label 1 + 4 MPLS Label 2) = 1508
thanks in advance for clarifying
cheers
Mark
10-11-2011 12:04 AM
Mark,
(The gurus are going to jump in any minute most likely, so I'll try my best).
The main part that message is relaying is that MPLS MTU should be lower or equal to interface MTU, not IP MTU.
i.e.
We're talking about changing this:
http://www.cisco.com/en/US/docs/ios/interface/command/reference/ir_l2.html#wp1033610
not this:
http://www.cisco.com/en/US/docs/ios/ipapp/command/reference/iap_i1.html#wp1107172
Command reference is leading here (and contains a typo):
http://www.cisco.com/en/US/docs/ios/mpls/command/reference/mp_m2.html#wp1079448
correct phrasing (AFAIK) should be:
Although you can set the MPLS MTU to a value greater than the interface MTU, you should set the MPLS MTU to less than or equal to the interface MTU to prevent data corruption, dropped packets, and high CPU conditions.
A best practice is to set the interface MTU of the core-facing interface to a value greater than either the IP MTU or the interface MTU of the edge-facing interface.
HTH,
Marcin
10-12-2011 12:11 AM
Hi Marcin,
thanks for your feedback.
So what we are saying is that MPLS MTU = INTERFACE MTU, and we DONT touch IP MTU and MPLS MTU on the router ?
This means that I should change the interface MTU on my router, and leave the IP MTU at 1500
In summary am I correct in saying that for 2 MPLS labels:
I should do this (Interface MTU):
router(config-if)#mtu ?
<1500-9180> MTU size in bytes
router(config-if)#mtu 1508
not this (MPLS MTU):
router(config-if)#mpls mtu ?
<64-1500> MTU (bytes)
override Override mpls mtu maximum of interface mtu
router(config-if)#mpls mtu 1508
And, by changing the Interface MTU on the router, I am automatically enabling the router to handle MPLS packets larger than 1500 without issues, fragmentation, drops, and neither causing issues for regular IP packets.
thanks
Mark
10-12-2011 12:59 AM
Yes mark,
Your understanding is correct.
Like for my link i set mtu of 4470 (and not mpls mtu) due to ATM link in network. see below one example
interface GigabitEthernet9/0/0
description xxxx
dampening
mtu 4470
bandwidth 1000000
ip address x.x.x.x 255.255.255.252
no ip redirects
no ip unreachables
no ip proxy-arp
ip router isis
ip pim sparse-mode
load-interval 30
carrier-delay msec 50
negotiation auto
mpls ip
mpls label protocol ldp
mpls traffic-eng tunnels
bfd interval 100 min_rx 100 multiplier 3
isis network point-to-point
isis metric 100000 level-2
service-policy output TEST
ip rsvp bandwidth 1000000
Hope this helps
Regards
Mahesh
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide