guagga入门-我们对guagga的修改

原创 2017年01月03日 18:06:23
在虚拟化修改之前我们队guagga的修改很少主要包含两个部分:
1.管理接口的过滤;
2.server的对接
管理接口的过滤:
主要是为了让zebra等程序不需要再管理口上面运行动态路由的程序。过滤方式主要是在netlink消息通知;
修改文件rt_netlink.c中函数
netlink_routing_table与netlink_route_change函数中

2。server对接
需要在动态路由生成了路由表项的时候,将所有的表项写入到一个xml文件中。然后通知server去加载这个xml文件中;该修改也在rt_netlink.c中在函数netlink_route_multipath中调用

主要思路:
netlink_route_multipath在zebra往内核写路由的时候回调用这个函数,这个函数把内容写入自己定义的结构体中保存;
然后在eoi_route_list_timer中检查,当连续两次检查路由条目没有变化的时候写入文件中;并且执行通知server加载路由的操作,通知的行为是发送一个killall -39 server给server。
总结:
1。netlink_route_multipath只放到内存中;
2。eoi_route_list_timer定时写回到xml文件中(ospf_route.xml rip_route.xml bgp_route.xml)
3。写完文件后killall -39 server通知server重新加载路由
另外:
我们还修改了网内核添加路由时候的distance和metric的位置,两个内容互相交换,目前已经不知道其意图了。。。
版权声明:本文为博主原创文章,未经博主允许不得转载。

Quagga 简介

Quagga 简介 什么是Quagga   Quagga软件原名是Zebra是由一个日本开发团队编写的一个以GNU版权方式发布的软件。Quagga项目开始与1996年,当前版本是0.98.4版 可...
  • u011353822
  • u011353822
  • 2014年11月20日 23:51
  • 5944

quagga简介

Quagga是一款功能比较强大的开源路由软件,支持ip,ripng,ospfv2,ospfv3,bgp等协议。目前最新版本为Quagga 1.1.0。安装Quagga的目的是使装有linux系统的电脑...
  • bestboyxie
  • bestboyxie
  • 2016年12月29日 11:51
  • 1030

guagga入门-lib库介绍

无论是zebra也好还是动态路由的进程也好其都是一个单线程的程序;都能完成以下几个事情 1。一个tcp服务器 2。一个cli命令处理程序; 3。能够监听socket事件(读/写/关闭...
  • bestboyxie
  • bestboyxie
  • 2017年01月03日 18:06
  • 230

guagga配置问题

zebra和ospfd以及ripd都有自己的配置管理接口; 配置管理接口分为两种: 1。使用telnet来实现的配置管理界面; 2。使用unix套接字来实现的配置管理界面; TCP端口对应关系...
  • bestboyxie
  • bestboyxie
  • 2017年01月03日 18:11
  • 240

guagga入门-ripd的简单配置

在进过前面的内容以后,应该可以正常启动一个ripd的进程了,就可以开始ripd的学习工作了。一般学习ripd这种动态路由,一个主机是不够的,所以需要至少两台主机;建议使用VMware启动两台linux...
  • bestboyxie
  • bestboyxie
  • 2017年01月03日 18:09
  • 349

Quagga 路由软件学习(by quqi99)

Quagga 路由软件学习(by quqi99) 作者:张华  发表于:2013-07-07 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明  http:/...
  • quqi99
  • quqi99
  • 2013年07月07日 18:03
  • 5168

quagga 命令定义的代码分析--从定义到实现

本文大多数内容转自http://blog.chinaunix.net/uid-20788636-id-1841428.html,部分内容自己读过代码之后觉得...
  • lk0098
  • lk0098
  • 2014年08月01日 13:42
  • 1435

guagga入门-我们对guagga的修改

在虚拟化修改之前我们队guagga的修改很少主要包含两个部分: 1.管理接口的过滤; 2.server的对接 管理接口的过滤: 主要是为了让zebra等程序不需要再管理口上面运行动态路由的...
  • bestboyxie
  • bestboyxie
  • 2017年01月03日 18:06
  • 305

unbutu环境下quagga路由软件下的安装[转]

一Quagga简介 Quagga是一个路由软件套件,它提供了路由协议的TCP / IP的路由支持服务,如RIPv1,RIPv2的,RIPng,OSPFv2,OSPFv3,BGP - 4的,和BG...
  • shan275
  • shan275
  • 2016年05月07日 14:52
  • 852

guagga入门-我们的虚拟化方案

guagga的虚拟化最早的版本是建立在6win的在github上的开源项目。所以在虚拟化版本中我们实际上是使用的6wind的github版本,后来发现在最新的官方版本中,将6wind已经合入到主线版本...
  • bestboyxie
  • bestboyxie
  • 2017年01月03日 18:05
  • 229
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:guagga入门-我们对guagga的修改
举报原因:
原因补充:

(最多只允许输入30个字)