OpenFastPath 学习5(netlink server)

netlink server线程是一个控制平面线程,在ofp_init_global中启动,因此全局只有一个。netlink服务线程与内核互动。因为:有些事情内核一直在干,并且也干的很好,但是这些事情用户态干起来很费劲。因此,这些事情交给内核做,用户态通过netlink接收消息通知获取信息。

发一个包时,需要明确一些事情:当面对复杂网络时,发出一个包的时候,你需要知道用哪个网口发,并且发给谁,目的MAC地址是多少。还有一些其他信息:比如IP地址改变、网口up和down等等。这些信息可以通过netlink从内核进行同步。

因为这些信息获取,依赖于内核,因此只有启了SP宏之后,这些代码才启用。另外,根据OFP的注释和协议实现(ofp 实现了ARP协议),MAC地址表的信息获取不由本netlink服务负责。

从内核获取路由信息
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 180,074评论 25 708
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,417评论 2 59
  • 本文是我自己在秋招复习时的读书笔记,整理的知识点,也是为了防止忘记,尊重劳动成果,转载注明出处哦!如果你也喜欢,那...
    波波波先森阅读 11,765评论 4 56
  • (四格故事挑战:猫,刀,灵魂,酒) 一 他,刀客,活在世界另一面的刀客。 被黑夜遮住,夜行衣,黑色刀鞘,以及灵魂深...
    半个冷月半个洁阅读 637评论 17 10
  • 我曾经在不知名的深夜想过无数次 是否这世界上的人都是因为想要生而生 是否这世界上的人都是日复一日的重复着自己或是重...
    Dinya阅读 232评论 0 0

友情链接更多精彩内容