目前,主要有两个版本的源码实现,一是quagga,一是bird。
quagga的代码大概有3-4万行,有提到unnumbered interface,
bird的代码大概1万行,但没有提到unnumbered interface,在README下提到了unnumbered。
quagga里关于ospfv2的介绍:http://www.nongnu.org/quagga/docs/quagga.html#OSPFv2
关于quagga源码分析的博客,quagga源码分析--大内总管zebra,quagga源码分析--内核通信netlink
2017.09.17
今天大致看了下quagga,ospfd和ospf6d除了自己目录下的源文件外,还用到了../lib/libzebra.la,也就是zebra的一个静态库,这个库由lib文件夹下生成。在ospfd下调用的zprivs_init这些东西就和zebra的那个静态库有关,还涉及用户权限,似乎和系统绑定的非常密切。有点麻烦。
接下来再看看BIRD。。。