DAN Blog

代码界的女王,Bug 的克星.

git的基本操作命令

前言 git分为以下几部分:工作区、暂存区、本地仓库、远程仓库: git配置 Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置) # 显示当前的Git配置 $ git config --list # 编辑Git配置文件 $ git config -e [--global] # 设置提交代码时的用户信息 $ git config [--...

linux进程间通信之共享内存

前言 前几天整理了消息队列,那就不得不提一下共享内存,说起来他, 那可真是好处多多,一般应用我都会首先考虑它, 共享内存 + 信号灯 应用。 简介 共享内存 共享内存:是一种最为高效的进程间通信方式,进程可以直接读写内存,而不需要任何数据的拷贝. ipcs -m: 列出当前系统上的所有共享内存段的详细信息,包括共享内存段的标识符(ID)、权限、大小等 ipcrm -m ID: 将...

linux进程间通信之消息队列

前言 最近要搞个功能,涉及到了进程间通信,最后商定用消息队列的方式。先回顾下消息队列的特点: 队列结构: 先进先出(FIFO)的数据结构 消息类型:可以传递不同类型的消息,这些消息可以是文本、二进制数据或自定义数据结构 异步通信: 允许发送方和接收方以异步方式进行通信。发送方将消息放入队列后可以立即继续执行,而不必等待接收方的响应 解耦应用程序:有助于解耦不同组件或模块之...

传参的深度解析

前言 传参避免不了,用倒是会用, 但是让深入解析一下,倒说不出个一二三了,今儿就再整理一下。 传参 传参分为:值传递、指针传递、引用传递。 事实上,关于 C 函数的参数传递规则可以表述如下: 所有传递给函数的参数都是按值传递的。 值传递 当函数被调用的时候,形参被创建,调用时带的参数被拷贝到刚创建好的形参,函数结束时,形参被摧毁。由于是参数的一个副本被传递到被调用的函数。所以,原始的参数...

NETCONF浅解

netconf 浅解 由于作者使用netconf中都是用的callhome方式,所以本文默认都是 callhome连接方式,以下不再赘述。 netconf server tcp xml <netconf-server xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-server"> <listen> &...

sysrepo源码解析

前言 Sysrepo 是一个用于网络设备的轻量级、模块化的配置和状态数据存储库。它以高效的方式存储、管理和检索设备的配置数据,同时支持实时监控设备的运行状态。 主要特性 模块化架构:Sysrepo 的设计理念是模块化的,每个模块负责特定设备功能的配置和状态管理。这使得系统的可维护性和可扩展性得以提高。 YANG 数据模型:Sysrepo 使用 YANG...

NETCONF链接过程

前言 由于现在所做的产品功能NETCONF是基础,每次DEVICE 不在线,就会重新了解一遍 netconf过程,以便查找原因。今儿总算抽个时间整理一下了。 基于ssh的netconf会话 Netconf会话实际上比较简单,但是在建立netconf会话之前需要为netconf会话准备一条安全的通道,可以是ssh、tls、https、soap。下面以ssh为例简单介绍下netconf会话的建立...

netopeer使用

前言 NETCONF 的自动化配置系统采用 Client/Server 架构,而 netopeer 即实现了 netconf 的 C/S 框架的开源项目。 netopeer简介 本人所用环境介绍 之前我一直用的是openwrt系统,非常好集成netconf。所有的依赖项,只要选择最终需要的,它所依赖的都会被自动编译上。后来有一个新的系统,用的SDK,并非某个系统,这就非常不好移植整个net...

sysrepo使用总结

前言 搞sdwan也搞了一段时间了,数据交互用的是netconf,sysrepo相当于是一个数据库。本文着重介绍一下sysrepo的使用方式,如果想要sysrepo的源码解析,请看另一篇文章:https://lovecpro.github.io/2020/09/26/sysrepo-src/。 sysrepo Sysrepo是一个开源的配置数据存储库,它用于存储网络设备的配置和状态数...

openwrt编译步骤

前言 年初入职了新的公司, 是搞通信的, 开发需要基于openwrt系统开发, 初期编译以及使用openwrt系统遇到了各种坑,整理出来,以防入坑。 编译 ubuntu:18.04 openwrt:19.07 安装依赖项 sudo apt-get install -y bison flex unzip gcc g++ libncurses5-dev zlib1g-dev bi...