FRR BGP协议分析11 -- ZEBRA初始化
zebra,翻译是斑马,它负责管理其他所有协议进程的路由信息的更新与交互,并负责与内核交换信息,整体的架构如下:
Zebra的初始化在zebra/main.c里面,代码也来的干净直接
- frr_init创建zebra主进程的master数据结构,用来做事件驱动,我们可以看下thread_master的数据结构。
其整合了事件的可读、可写、定时器、信号的处理,后面有时间可以来学习下。
- frr_pthread_init 初始化所有的线程链表
- zebra_router_init 初始化和策略路由PBR ?? 相关的HASH
- zserv
zebra作为其他协议进程的服务端,通过建立socket和其它的进程建立通道来交互信息。
zserv_accept 接受客户端的请求,并创建一个新的客户端,还会给每个客户端创建一个线程处理客户端的读、写请求。
客户端比如bgp会调用zclient_new/zclient_init初始化客服端连接到zebra服务端,并发送关心的事件到zebra的服务端。
bgp_zebra_connected 是连接服务端成功后,向zebra注册各种事件的回调函数。
- rib_init
rib_queue_init初始化work queue相关的事情,ribq处理rib信息相关的,meta_queue_new会创建5个subq,每个队列是具有优先级的,也就是处理rib的消息是PQ的队列。
zebra_dplane_init 是初始化data plane数据平面的信息,并会初始化linux kernel数据平面处理的函数,也就是会做一个适配层,隔离FRR和DP面,减少耦合。
zebra_dplane_start会Start the dataplane pthread,处理数据下发到DP 数据平面的消息。
- zebra_mpls_init初始化MPLS相关的信息,主要完成:
- 内核是否支持MPLS
- Zebra处理MPLS 信息的work queue
- 最后frr_run, zebra 主线程跑起来,全部初始化完成,其它的初始化点,后续在继续补充 !!!!!!!
FRR BGP协议分析11 -- ZEBRA初始化相关推荐
- 【FRR 】【BGP协议分析】 1 - BGP 初始化
FRR支持BGP-4,BGP-4+协议,BGP协议本身的知识点,可以参考很多资料,TCP/IP路由技术是一本不错的书,建议多看几次,还有红茶哥的博客和视频 http://blog.sina.com.c ...
- 蓝牙协议分析(11)_BLE安全机制之Security Manager
1. 前言 书接上文,我们在"蓝牙协议分析(10)_BLE安全机制之LE Encryption"中介绍了BLE安全机制中的终极武器----数据加密.不过使用这把武器有个前提,那就是 ...
- 计算机网络——Wireshark软件使用与协议分析(ARP协议、IP与ICMP分析)
实验4 Wireshark软件使用与协议分析 4.1-----ARP协议分析 一.实验目的 学习 Wireshark 的基本操作,抓取和分析有线局域网的数据包:掌握以太网 MAC帧的基本结构,掌握 ...
- 基于FRR全面解析BGP协议(七):FRR编译
FRR编译 环境:centos 7.6.1810 版本:FRR 7.3 编译 下载FRR源代码包 wget https://github.com/FRRouting/frr/archive/frr-7 ...
- 基于FRR全面解析BGP协议(五):FRR的BGP路由策略
FRR的BGP路由策略 过滤器 FRR提供了基于IP,基于Community和基于AS-PATH的三种类型过滤器来匹配路由. IP Access List 基于IP的路由ACL规则,比较少使用,通常是 ...
- 11.NDP协议分析与实践
NDP 协议分析与实践 1. 概述 1.1 简介 Neighbor Discovery Protocol 基于 ICMPv6 实现,用于替代 IPv4 中的 ARP 和 ICMP 路由器发现 基于 I ...
- nginx源码分析之网络初始化
nginx作为一个高性能的HTTP服务器,网络的处理是其核心,了解网络的初始化有助于加深对nginx网络处理的了解,本文主要通过nginx的源代码来分析其网络初始化. 从配置文件中读取初始化信息 与网 ...
- Memcache的使用和协议分析详解
Memcache的使用和协议分析详解 作者:heiyeluren 博客:http://blog.csdn.net/heiyeshuwu 时间:2006-11-12 关键字:PHP Memcache L ...
- OSPF与BGP协议流程与协议格式简单学习
OSPF概述: 1.出现意义: RIP的缺陷: 以跳数评估的路由并非最优路径; 最大跳数16导致网络尺度小; 更新发送全部路由表浪费网络资源; 收敛速度慢. 概述; OSPF协议Open Shorte ...
- BGP协议基础配置—学习
BGP重要概念 IGP是运行在AS内部的路由协议,主要有RIP.OSPF及IS-IS,着重于发现和计算路由. EGP是运行在AS之间的路由协议,通常是BGP,它是实现路由控制和选择最好的路由协议. 这 ...
最新文章
- 浅析基于双目视觉的自动驾驶技术
- linux系统安全设置
- IDEA 2022.2.1 Beta 2发布:新增支持Java 18、增强JUnit 5的支持
- OVS sflow(二十六)
- Android笔记——Matrix
- apollo 配置中心_.NET Core 下使用 Apollo 配置中心
- 14家文化机构联合抖音、今日头条启动“都来读书”计划
- bcp: 给boost瘦身
- [原创][Windows] Win7安装visual c++ 2015 redistributable x64失败
- index android js,reactjs – React Native项目没有index.ios.js或index.android.js
- JavaScriptJquery 练习 扫雷
- k620显卡linux驱动下载,NVIDIA英伟达Quadro系列专业显卡官方驱动
- mysql 最新版本_mysql最新版本是多少
- 软件测试周刊(第25期):不要成天到晚地找意义
- 【webRTC】一个基于 tornado 和 webRTC 的点对点视频语音文字聊天室
- java 读取文本_Java如何读取txt文件的内容?
- 手机收到回复TD退订的短信,需要回复吗?今天算是搞明白了
- opencv打开相机获取图像并保存
- 程序员保持健康的生活指南
- BP神经网络原理分析及c++代码实现(下)