How to limit the MSS for UDP?

Hi Team,
Pls can you feedback on below queries -

  1. If we have enabled sub - i/f of a phy port of a router and we have defined IP MTU of 1500B @ sub i/f but we left 9000 Bytes MTU on the corresponding phy i/f, in this case IPv4 traffic leaving the router through sub i/f will face the constrain of 1500 B or 9000 B MTU?
  2. Same thing as mentioned in ph#1 above, but now we have enabled L2LAG (Eth-Trunk) on two phy ports, such that MTU on the sub i/f is 1500 B and MTU on the individual Phy port is 9000B. Now in this case IPv4 traffic leaving the router through sub i/f will face the constrain of 1500 B or 9000 B MTU?
  3. Is it possible to define the max segment size with UDP as well? With TCP, I saw the cmds in one of the topics @ networkless i.e. (config-if)#ip tcp adjust-mss 1360 …
    Actually we have a router in b/w the PSN which can’t handle MTU>1600B and also can’t fragment the pkt if already fragmented before on the path by previous router … so if this pre-fragmented pkt is still >1600B, it will drop w/o sending out from egress port …
    So, I was thinking to limit the MTU size at the source and along with that was thinking to limit the MSS size as well on the same source, to eliminate any fragmentation … but as source can generate both TCP & UDP based datagram, so just wanted to know can we limit MSS for UDP as well, just like we can do for TCP?
    Best Reg.
    Ashish JAIN

Hello Ajain

In order to address your first question, I labbed this up and found that the IP MTU of the subinterface is only limited by the interface MTU of the parent interface. It is otherwise independent of the IP MTU configured on the parent interface. In the following example, I have set the MTU of the parent interface to 1100, and the IP MTU of the parent interface to 1050. Take a look at what range I am allowed to configure the IP MTU of the subinterface:

R1(config)#inter gig 0/0.1
R1(config-subif)#ip mtu ?
  <68-1100>  MTU (bytes)

The subinterface IP MTU is therefore limited by the interface MTU of the parent interface.

Now as for the interface MTU, it is possible to modify this on the subinterface, but the router will always take a look at the interface MTU of the parent interface and the subinterface, and use the smaller of the two.

For your second question concerning Etherchannel, I assume you don’t mean subinterfaces here, because you cannot use Etherchannel in conjunction with subinterfaces. I assume you want to know how the individual physical interfaces and the port-channel interface interact as far as MTU goes.

For Layer 2 Etherchannel, only the interface MTU can be adjusted. You must change only the MTU of the port-channel. Any change to that MTU will automatically change the MTU of all of the physical interfaces, if they support the configured MTU. If you are using a switch that does not support individual MTU configurations per port, you must use the system mtu configuration, which will change the MTU on all ports of the switch.

For Layer 3 Etherchannel, the individual port IP MTUs should not be modified. Only the IP MTU of the port-channel should be modified. If you modify the IP MTU of individual ports, the IP MTU of the port-channel will inherit the smallest IP MTU configured on any of the physical ports. This will cause problems on your link as some physical channels may fragment IP packets or may drop them.

For the third question, it’s not possible to define a maximum segment size for UDP as you would with TCP. THis is because TCP has negotiation mechanisms between sender and reciever. When there is a perceived bottleneck somewhere on the network (which can be artificially created using the MSS feature on a network device), the sender and receiver will actually renegotiate the size of the segment. UDP has no such negotiation, so this cannot be done.

I hope this has been helpful!

Laz