据我所知,路由缓存被删除是从LinuxKern3.6开始的。在具有较早Linux内核的系统中,可以使用ip route show cache命令查看路由缓存的内容,并在路由表之前查阅路由缓存。然而,在最新的Linux内核中路由缓存的状态是什么?它是否只是被移除,所有的数据包都通过路由表?是否有某种(类似的)替换系统?
我想模拟从Linux实例中拔出电缆的过程。我最初的反应是ip link set eth0 down。但是,这个命令会对更高级别的网络功能产生影响,例如删除路由(包括default路由)等等。当我用ip link set eth0 up“插入”它时,这些路由现在就丢失了。
如何不使用down来模拟拔出的网络,或者相反地告诉iproute2只会导致网络电缆断开?
Linux3.6删除了ipv4路由缓存(提交)。
删除ipv4路由缓存。现在,查找直接进入FIB trie并使用缓存在那里的预先构建的路由。根据这个问题,路由缓存条目现在存储在“路由异常”结构中,这是路由条目的一部分。路由表只有默认路由:
~#ip路由通过10.11.2.3 dev eth0 10.11.0.0/16 dev eth0 proto