首页 > 代码库 > Quagga代码学习之BGP4
Quagga代码学习之BGP4
文中理解参考:http://www.cnblogs.com/danxi/p/6344116.html 等关于Quagga的源码学习
第一部分:入口函数
int main (int argc, char **argv) //bgp_main.c
vty_init(bm->master)
bgp_init() // install command
bgp_scan_init()
bgp_attr_init(void)
aspath_init()
community_init()
bgp_route_init() //路由表初始化,安装BGP命令
table.h
备注:delegate意思为代表
/* Routing table top structure. */ struct route_table { struct route_node *top; /* * Delegate that performs certain functions for this table. */ route_table_delegate_t *delegate; unsigned long count; /* * User data. */ void *info; };
第二部分:config配置如何生效
主要方式:通过DEFUN入口(bgp_vty.c),调用相关的函数
第三部分:路由计算
当收到一个UPDATE包,需要进行路由计算
bgp_packet.c
/* Parse BGP Update packet and make attribute object. */ static int bgp_update_receive (struct peer *peer, bgp_size_t size) {
//code }
第四部分:路由宣告
Quagga代码学习之BGP4
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。