http://bbs.chinaunix.net/thread-4090162-1-1.html
一、为什么要这样做读kernel route子系统代码,当我弄懂了数据结构之间的关系以及控制流程后,心里还是不妥贴,总有一种“纸上得来终觉浅,绝知此事要躬行”的感觉。此时,systemtap能起大作用。二、准备工作安装systemtap, kernel, kernel-debuginfo, kernel-debuginfo-common等。uname -r2.6.38.6-26.rc1.fc15.i686rpmbuild --rebuild --target=i686 --without pae --without perf --with firmware --without debug kernel-2.6.38.6-26.rc1.fc15.src.rpm三、编写脚本这个脚本是针对 2.6.38.6-26代码编写的,如果你使用别的kernel版本,需要相应的修改。需要重命名成 route.tap。<ignore_js_op> 四、运行在一个终端运行:stap -v route.tap |tee log在另一个终端运行:ip route flush cachessh 10.66.66.66五:分析分析log文件,你就可以看到整个路由查找的过程。如 <ignore_js_op> 鱼饮水,冷暖自知,乐趣尽在其中!