![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Sysrepo-1.4.2源码解读
文章平均质量分 81
以sysrepo-1.4.2源码版本为例,解读sysrepo新的实现机制,边读边记录,纯属个人理解。
剑澈桐谷
愿做一把刺破苍穹的利剑,愿修一座能引真凰的桐谷
展开
-
第七章 frr sysrepo纳管初始化流程分析
本章节主要是通过分析frr isis的sysrepo纳管实现来跟大家讲讲frr是如何实现对sysrepo的支持。了解本章节的内容需要先了解前给章节的内容。本章节的内容不会过多复述前面的内容。通过前一章节的内容,首先是要确保frr-isisd.yang能在sysrepo中成功加载,这是前提,需要先确保;其次,启动isisd进程。1 isisd进程的启动分析Isisd集成sysrepo的启动方法如下:/usr/lib/frr/isisd -d -M sysrepo:/usr/lib64/frr/m原创 2021-01-25 18:29:55 · 1918 阅读 · 3 评论 -
第六章 frr集成sysrepo概述
FRR7.2之后的版本,增加了sysrepo对其的管理,最新版本已对支持到bfd,bgp协议管理,是越来越完善。有兴趣的伙伴可以参阅frr最新代码https://github.com/FRRouting/frr.git。主要还是聊聊frr是如何支持sysrepo对不同协议的管理的。简单画一个FRR的逻辑层次图,支持sysrepo模式是在FRR原来的基础上扩展通过netconf协议下发XML命令的功能。VTY_CLI模式是单机管理模式,XML模式是跨平台,跨网络的统一管理模式。这点对于SDN网络,这点就特别重原创 2021-01-21 17:52:36 · 1416 阅读 · 0 评论 -
第五章 sysrepo订阅
5.1 概述 Sysrepo的每一类订阅(*_subscribe)调用都会返回一个相应的订阅的结构。用户可以对一个已知订阅进行订阅,然后将多个订阅事件由单个订阅做处理。Sysrepo在默认情况下,是由一个专门的线程订阅结构中的所有事件,所以在使用sysrepo时,无需做进一步处理。当然,如果不想使用默认处理,需要做一些特殊处理,可以在订阅时的ops选项中增加标志SR_SUBSCR_NO_THREAD。请参考sysrepo.h中结构sr_subscr_flag_e的定义。5.2 change订...原创 2021-01-20 19:46:00 · 3326 阅读 · 20 评论 -
第四章 sysrepo共享内存机制
1、共享内存机制 Sysrepo0.X.X版本使用的进程间通信的机制,在实际的使用过程中,出现了诸如数据不同步、数据处理TimeOut、完成一次Get请求时,但实际处理的请求会较多,导致性能与规格上不去的各类问题。Sysrepo-devel分支开始引入共享机制后,合入到Sysrepo的Master分支,也就是现在的Sysrepo1.X.X版本。 简单说一说什么是共享内存,共享内存就是允许两个或多个进程共享一定的存储区,说白了,就是两个进程访问同一块内存区域,当一个进程改变了这块地址中的...原创 2020-07-26 14:55:05 · 2171 阅读 · 6 评论 -
第四章 Sysrepo连接与会话
写在前面,最近忙于工作与上王者。王者已上,已无它望,哈哈,以后还是保持尽量保证每周一更。1 、何为连接与会话 开发者要开始使用Sysrepo,首先必须创建一个连接。一个应用程序或者进程即使可以允许创建多个连接,但是一般情况只会创建一个连接。Sysrepo允许同时创建多个连接。简单的举个例子,通常情况下,sysrepo-plugin在init_cb初始时就会创建一个连接,这是一个由sysrepo-plugin与Sysrepo所创建的连接,只要发生异常不释放,该连接会一直存在整个sysrepo...原创 2020-06-13 13:43:04 · 3141 阅读 · 0 评论 -
第三章 sysrepo-plugind源码分析
应用程序通过将对Sysrepo的调用通过Sysrepo提供的相应的API接口访问方法,称为Syrepo的间接访问方法。该方法是应用程序通过创建Deamon进程,通过IPC Shm机制与Sysrepo通信。可以做到对Sysrepo的即插即用,最后由Sysrepo纳管,这就是Plugind,命名为sysrepo-plugind。要快速的使用Sysrepo,并快速开发出适配于Sysrepo的插件...原创 2020-05-01 13:53:37 · 2529 阅读 · 4 评论 -
第二章 Sysrepo常用操作命令
Sysrepo提供两个独立的,非常实用的程序。方便开发者便捷地使用Sysrepo来开发与调试自己的应用。原创 2020-04-29 18:03:56 · 5982 阅读 · 2 评论 -
第一章 sysrepod概述
Sysrepo是Linux/Unix系统下一个基于YANG模型的配置和操作数据库,为应用程序提供统一的操作数据的接口。应用程序使用YANG模型来建模,通过利用YANG模型完成数据合法性的检查,保证的风格的一致,不需要应用程序直接操作配置文件的一种数据管理方式。 基本特性与原则 1)、sysrepo只是一个库,不是一个独立的进程 2)、全部的数据始终由...原创 2020-04-29 17:08:59 · 4934 阅读 · 19 评论