Advertisement

FIB系统深入解析(Linux网络协议栈笔记)

阅读量:

FIB配置过程续

在为设备配置IP地址的过程中,内核会向inetdev_chain通知链发出一个NETDEV_UP事件,而FIB系统对此类事件具有关注需求,因此将相应的结构体注册至inetaddr_chain之中:

复制代码
    static struct notifier_block fib_inetaddr_notifier = { 
    .notifier_call = fib_inetaddr_event, 
    
     }; 
    
    
      
      
      
      
    

FIB系统为何会对这一问题产生关注?原因在于,为设备配置IP地址的过程,实际上等同于向系统中添加一条类型为RTN_LOCAL且作用域为RT_SCOPE_HOST的路由记录,对吗?当系统新增IP地址时,其操作机制与路由协议(如OSPF、RIP等)将路由信息写入内核的过程本质上是一致的,仅在部分参数上存在差异。甚至可以认为,路由的本质就是地址的一种形式,区别仅在于这些地址属于其他设备。若未来对路由概念仍感到困惑,不妨将其简单理解为他人的地址即可。关键点在于你已经掌握了FIB系统如何实现路由表项的添加与删除。

该过程所依赖的回调函数是fib_inetaddr_event。当此函数接收到`NETDEV_DO

全部评论 (0)

还没有任何评论哟~