Public bug reported: Hello,
Looks like setting per route mtu (as described in [1]) is broken in linux kernel 3.2 (default kernel from ubuntu 12.04). I made script to illustrate this: root@germany7:~# cat route-mtu #!/bin/bash uname -a ip tuntap add dev test mode tun ifconfig test 10.1.1.1/16 mtu 1500 echo ============================================================= echo No per route mtu entry ping -c1 -Mdo -s2000 10.1.1.2 echo ============================================================= echo Per route MTU is set to 800 ip route add 10.1.1.2 dev test proto static src 10.1.1.1 mtu lock 800 ip route flush cache ping -c1 -Mdo -s2000 10.1.1.2 ip route del 10.1.1.2 dev test proto static src 10.1.1.1 mtu lock 800 echo ============================================================= echo Per route MTU is set to 600 ip route add 10.1.1.2 dev test proto static src 10.1.1.1 mtu lock 600 ip route flush cache ping -c1 -Mdo -s2000 10.1.1.2 ip route del 10.1.1.2 dev test proto static src 10.1.1.1 mtu lock 600 echo ============================================================= echo No per route mtu entry ip route flush cache ping -c1 -Mdo -s2000 10.1.1.2 ip tuntap del dev test mode tun With kernel 3.2 I get following output: Linux germany7 3.2.0-41-generic-pae #66-Ubuntu SMP Thu Apr 25 03:50:20 UTC 2013 i686 i686 i386 GNU/Linux ============================================================= No per route mtu entry PING 10.1.1.2 (10.1.1.2) 2000(2028) bytes of data. >From 10.1.1.1 icmp_seq=1 Frag needed and DF set (mtu = 1500) --- 10.1.1.2 ping statistics --- 0 packets transmitted, 0 received, +1 errors ============================================================= Per route MTU is set to 800 PING 10.1.1.2 (10.1.1.2) 2000(2028) bytes of data. >From 10.1.1.1 icmp_seq=1 Frag needed and DF set (mtu = 800) --- 10.1.1.2 ping statistics --- 0 packets transmitted, 0 received, +1 errors ============================================================= Per route MTU is set to 600 PING 10.1.1.2 (10.1.1.2) 2000(2028) bytes of data. >From 10.1.1.1 icmp_seq=1 Frag needed and DF set (mtu = 800) --- 10.1.1.2 ping statistics --- 0 packets transmitted, 0 received, +1 errors ============================================================= No per route mtu entry PING 10.1.1.2 (10.1.1.2) 2000(2028) bytes of data. >From 10.1.1.1 icmp_seq=1 Frag needed and DF set (mtu = 800) --- 10.1.1.2 ping statistics --- 0 packets transmitted, 0 received, +1 errors After once set to 800 MTU is always 800, even if you add different route and clean routing cache. It looks like that problem is fixed in ubuntu kernel 3.5. With it everything works like expected: root@germany7:~# ./route-mtu Linux germany7 3.5.0-28-generic #48~precise1-Ubuntu SMP Wed Apr 24 21:43:05 UTC 2013 i686 i686 i386 GNU/Linux ============================================================= No per route mtu entry PING 10.1.1.2 (10.1.1.2) 2000(2028) bytes of data. >From 10.1.1.1 icmp_seq=1 Frag needed and DF set (mtu = 1500) --- 10.1.1.2 ping statistics --- 0 packets transmitted, 0 received, +1 errors ============================================================= Per route MTU is set to 800 PING 10.1.1.2 (10.1.1.2) 2000(2028) bytes of data. >From 10.1.1.1 icmp_seq=1 Frag needed and DF set (mtu = 800) --- 10.1.1.2 ping statistics --- 0 packets transmitted, 0 received, +1 errors ============================================================= Per route MTU is set to 600 PING 10.1.1.2 (10.1.1.2) 2000(2028) bytes of data. >From 10.1.1.1 icmp_seq=1 Frag needed and DF set (mtu = 600) --- 10.1.1.2 ping statistics --- 0 packets transmitted, 0 received, +1 errors ============================================================= No per route mtu entry PING 10.1.1.2 (10.1.1.2) 2000(2028) bytes of data. >From 10.1.1.1 icmp_seq=1 Frag needed and DF set (mtu = 1500) --- 10.1.1.2 ping statistics --- 0 packets transmitted, 0 received, +1 errors I also tested with kernels 2.6.35 (in lucid) and 3.8 (in precise), results are same to 3.5. Is there any chance to get fixes from 3.5/3.8 backported to the default precise kernel 3.2? 1. http://lartc.org/howto/lartc.cookbook.mtu-discovery.html ** Affects: linux-meta (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1177507 Title: per route mtu settings are broken in linux kernel 3.2 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux-meta/+bug/1177507/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
