IP路由与FIB查找详解
1. 基本概念与相关函数概述
在网络通信中,IP路由是一个核心概念。首先,当进行本地表查找时,如果源地址的路由类型不是 RTN_LOCAL 类型,那么该表项可能是无效的。 RTN_LOCAL 表示找到的地址是配置在系统本地接口上的。若本地表查找中源地址的路由类型为 RTN_LOCAL ,则通过调用第162行的宏 FIB_RES_DEV 获取 net_device 的引用,接着在第164行增加 net_device 结构体中的使用计数,最后在第168行返回 net_device 指针,并调用 fib_res_put() 函数释放 fib_table 中的引用。
另外, __in_dev_get() 函数返回 net_device 结构中的 void * ip_ptr 元素,该元素指向 in_device 结构体实例。 in_device 结构体包含重要元素 ifa_list ,它是 in_ifaddr 结构体类型,代表一个IP地址链。这在系统中非常重要,因为每个物理 net_device 可能会被分配别名IP地址和标签,例如 eth0:0 、 <
超级会员免费看
订阅专栏 解锁全文
7

被折叠的 条评论
为什么被折叠?



