Showing results for 
Search instead for 
Did you mean: 

Changing MTU in ASR 920 on a BDI interface


Hello everyone,


First, I wanna say that I hope everyone is safe and healthy during the covid pandemia. 


Regarding to the title, here is my question. I have an ASR920 and I'd like to send packets with MTU bigger than 1500 over a BDI interface. I've changed the IP MTU on both physical and BDI interfaces and when I do a ping bigger than 1500 to a directly connected ip to the BDI 200 (physical is gi0/0/11) it works, but when I source it from another interface it doesn't.


I've seen in past IOS-XE versions that there were some limitations regarding MTU and BDI interfaces, but I'm running IOS-XE 3.18.4SP and I believe this isn't the case anymore.


In my opinion the ping works when sourced from the BDI because of the MTU used is the one applied on the physical interface and not the one on the BDI, since it hasn't changed despite the configuration:


ASR920#sh run int gi 0/0/11
Building configuration...

Current configuration : 342 bytes
interface GigabitEthernet0/0/11
mtu 1600 <----------------------MTU 1600
service instance 200 ethernet
encapsulation dot1q 200
rewrite ingress tag pop 1 symmetric
bridge-domain 200


ASR920#sh int gi 0/0/11
GigabitEthernet0/0/11 is up, line protocol is up
MTU 1600 bytes, BW 1000000 Kbit/sec, DLY 10 usec  <----------------------MTU 1600


ASR920#sh run int bdi 200
Building configuration...

interface BDI200
ip address
ip mtu 1600    <----------------------MTU 1600



ASR920#show inter bdi 200
BDI200 is up, line protocol is up
Internet address is
MTU 1500 bytes,  <----------------------!!! MTU 1500  !!!


Am I right and there is some limitation on that? If so, is there another IOS version which corrects this behaviour? Maybe any command I'm missing? We're thinking about upgrading to 16.9.4 and this could be another reason to do it. Thanks!


Best regards 


3 Replies 3

Giuseppe Larosa
Hall of Fame
Hall of Fame

Hello @MysticalTh0r ,

you have configured ip mtu 1600 under interface bdi 200 so the physical MTU is left to 1500 bytes.

Try to configure

mtu 1600

under the interface bdi 200 if it is supported you should see it on show int bdi200.


On the other hand show ip interface bdi 200 should show an IP MTU of 1600 now, but you cannot have an IP MTU greater then the physical MTU at least on physical interfaces.


Hope to help




Thanks @Giuseppe Larosa for the reply, but BDI interfaces don't support the command MTU X ,as referenced on this post:


Since it's a quite old post, I tested on my router and with IOS-XE 16.9.4 and didn't work either:


ASR920(config-if)#mtu 1600
% Interface BDI200 does not support user settable mtu.


I believe the difference between IP MTU and MTU is that the second can be used on a non IP interfaces such as ATM, right? 



Hello @MysticalTh0r ,

thanks for your clarification I was afraid the command was not supported but I decided to make a note about it.


the mtu command applies to all protocols that can run over an interface like IPv4 or IPv6.

What creates more confusion is that MTU can be a L3 concept = max size of IPv4 packet or it can be an OSI L2 concept = max size of the frame (ethernet in case of LAN interfaces and their logical relatives like BDI).

For example in IOS XR the mtu is a L2 concept and the size of MTU on an ethernet interface is 1514 bytes (only the 4 bytes of final FCS checksum are skipped it accounts for the 6 bytes destination MAC address the 6 bytes source MAC address and  two bytes of ethertype).

In IOS XR an 802.1Q subinterface has an MTU of 1518 bytes greater then the one of the physical interface.


At this point it would be interesting to check if any "switch like" command like system mtu in global config is supported and can have an effect on the MTU of the BDI interfaces.

Because there should be a way to increase this MTU.


Hope to help



Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: