linux网络协议栈 路由表

博客记录1

今天了解了一下linux下面路由表的组织和管理
1/路由表的关键表项
a/dest adder
b/mask adder
c/gate way adder
d/flags
e/dev*


2/路由表的组织
就是一个rt_base打头的一个指针

添加路由
1/如果指定了设备名字,先根据设备名字查找设备控制块,没找到就返回歇菜!返回错误。
2/根据添加网络路由和主机路由分别找到对应的接口
get_gw_dev 根据gw找到相应的接口设备
ip_dev_check 根据dadder 找到相应的端口设备,p-p要完全相等,非p-p,以太网在这个接口的子网里面

3/ip_rt_add这个函数申请rt的控制快内存,填写好相应的字段,检查有没有相同的rt检查方法就是看dest 和mask相同,如果有相同的rt就删除掉原来的rt,将rt表插入到rt-base中去,mask长的放在最前面。

o了               

作者: linuxlemon   发布时间: 2010-10-08