Fedora Linux不显示路由caching条目

我正在玩ip命令,今天我看到我的fedora 16没有显示路由caching信息后,我做了一个主机连接,在centos 5和suse 10,11我没有问题,如果我使用命令IP路由显示caching或路由-Cen,我的内核版本是3.6.11-4.fc16.i686

我想知道它是否与内核版本相关,或者如果它是一个Fedora问题命令实用程序。

从内核3.6中删除 IPv4路由caching。 您应该能够在FIB trie中find任何路由exception(请参阅/proc/net/fib_trie )。

您可以获取有关主机的pathMTU的详细信息,如下所示。 请注意,caching信息必须先填充。 这个testing是用3.13的Ubuntu内核进行的。 我首先validation一个主机的当前caching,我没有与它沟通,没有任何信息:

 johnf@mtutest:~$ ip ro get 192.168.3.48 192.168.3.48 dev eth0 src 192.168.1.22 cache 

然后我尝试使用大于MTU的数据包对它进行ping操作(但不能太大以至于数据包必须被操作系统分段)。 当你testing的时候,你可能会错过前几个ping,你应该看到Frag需要的消息。

 johnf@mtutest:~$ ping -s 1460 192.168.3.48 -c 10 PING 192.168.3.48 (192.168.3.48) 1460(1488) bytes of data. From 192.168.2.0 icmp_seq=1 Frag needed and DF set (mtu = 1220) 1468 bytes from 192.168.2.0: icmp_seq=2 ttl=252 time=1973 ms [...] --- 192.168.3.48 ping statistics --- 10 packets transmitted, 9 received, +1 errors, 10% packet loss, time 9016ms rtt min/avg/max/mdev = 95.681/516.815/1973.697/568.969 ms, pipe 2 

在收到ICMP MTU超出消息后,内核应调整路由caching以反映path限制:

 johnf@mtutest:~$ ip ro get 192.168.3.48 192.168.3.48 dev eth0 src 192.168.1.22 cache expires 588sec mtu 1220