- 论坛徽章:
- 0
|
本帖最后由 helun 于 2016-08-10 11:35 编辑
例如此刻路由表为空时,当我们在用户层执行ifconfig eth0 192.168.0.7 netmask 255.255.255.0的时候,会分别执行
1 fib_add_ifaddr netaddr_event首次触发fib_magic(192.168.0.7, LOCAL) , 因为dev->flags此时还没有UP就直接返回了,等待UP后,会触发NETDEV 状态UP事件仍然调用fib_add_ifaddr
2 netdev up事件,触发fib_add_ifaddr调用,依次执行fib_magic(192.168.0.7, LOCAL)->fib_magic(192.168.0.255, broadcast)->fib_magic(192.168.0.0, RTN_UNICAST)->fib_magic(192.168.0.0, RTN_BROADCAST)->
fib_magic(192.168.0.255, RTN_BROADCAST)
在1的过程中会创建T_NODE路由表结点(根结点),并在child[1]中生成leaf指向192.168.0.7。
现在向步聚2执行过程前,发现1中生成的T_NODE根结点变成T_LEAF了,不知 道在哪里改变了这些,看过的朋友指点一下 ,谢谢 |
|