<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[学而思之的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/u010873172</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u010873172]]></copyright><item><title><![CDATA[vpp编程]]></title><link>https://blog.youkuaiyun.com/u010873172/article/details/113498552</link><guid>https://blog.youkuaiyun.com/u010873172/article/details/113498552</guid><author>u010873172</author><pubDate>Mon, 01 Feb 2021 10:21:58 +0800</pubDate><description><![CDATA[vpp编程与部分编译问题vppinfravec.hbitmap.hpool.hheap.hbihash.hformat.helog.hvlibvlib nodepluginsvlib buffersvpp-pc编译问题
vppinfra
vec.h
向量是一个带有一些原数据自动调整大小的C数组：参数：类型T，头部大小，元素对齐。
内存分配只会增加。
矢量原点指针可能改变!
存储索引(不是指针)!

bitmap.h
操作和获取位图信息，可以根据需要分配任意bit的位图。

pool.h
固定大小的内存分配，]]></description><category></category></item><item><title><![CDATA[QOS]]></title><link>https://blog.youkuaiyun.com/u010873172/article/details/108334042</link><guid>https://blog.youkuaiyun.com/u010873172/article/details/108334042</guid><author>u010873172</author><pubDate>Tue, 01 Sep 2020 09:23:58 +0800</pubDate><description><![CDATA[QOSQOS的作用QOS模型DiffServ模型的基本过程报文分类流量监管流量整形拥塞管理1. FIFO（先入先出队列，First In First Out Queuing）2. PQ（优先队列，Priority Queuing）3. CQ（定制队列，Custom Queuing）4. WFQ（加权公平队列，Weighted Fair Queuing）5. CBQ（基于类的队列，Class Based Queuing）6. RTP（Real-time Transport Protocol）优先队列7. RT]]></description><category></category></item><item><title><![CDATA[以太网OAM]]></title><link>https://blog.youkuaiyun.com/u010873172/article/details/108316070</link><guid>https://blog.youkuaiyun.com/u010873172/article/details/108316070</guid><author>u010873172</author><pubDate>Mon, 31 Aug 2020 11:08:15 +0800</pubDate><description><![CDATA[以太网OAM
定义：以太网OAM全称为以太网Operations Administration and Maintenance，即针对以太网的操作管理和维护。
以太网OAM主要功能可分为以下两部分：


故障管理


通过定时或手动发送检测报文来探测网络的连通性。


提供类似IP网络中的Ping（Packet Internet Groper）和Traceroute的功能，对以太网进行故障确认和故障定位。


和保护倒换协议配合，当检测到连通性故障后触发保护倒换，以实现网络业务中断小于等于50毫秒的运营级可]]></description><category></category></item><item><title><![CDATA[Doxygen文档生成工具]]></title><link>https://blog.youkuaiyun.com/u010873172/article/details/108315845</link><guid>https://blog.youkuaiyun.com/u010873172/article/details/108315845</guid><author>u010873172</author><pubDate>Mon, 31 Aug 2020 10:01:03 +0800</pubDate><description><![CDATA[doxygen生成函数关系
安装依赖：
apt install doxygen
apt install graphviz
apt install doxygen-latex
doxygen -g 会生成Doxyfile文件，修改这个文件
doxygen Doxyfile 会生成html与latex文件夹
在latex文件夹下运行make即会生成最终的文档refman.pdf
Doxygen能识别这几种风格的注释：
/**

… text …
*/

/*!

… text …
*/

///
/// … t]]></description><category></category></item><item><title><![CDATA[VPP cli]]></title><link>https://blog.youkuaiyun.com/u010873172/article/details/108315685</link><guid>https://blog.youkuaiyun.com/u010873172/article/details/108315685</guid><author>u010873172</author><pubDate>Mon, 31 Aug 2020 09:56:52 +0800</pubDate><description><![CDATA[VPP/命令行 (CLI)
具体内容详见下发连接
VPP/命令行 (CLI) 指南
VPP cli




命令行
注释




create sub BondEthernet0 834
创建子接口，tag是834


set interface ip table BondEthernet0.834 1
将此接口设置在fib 1里


set interface ip address BondEthernet0.834 192.168.0.250/24
设置接口ip


set interface stat]]></description><category></category></item><item><title><![CDATA[Trunking学习总结]]></title><link>https://blog.youkuaiyun.com/u010873172/article/details/93754295</link><guid>https://blog.youkuaiyun.com/u010873172/article/details/93754295</guid><author>u010873172</author><pubDate>Wed, 26 Jun 2019 17:11:04 +0800</pubDate><description><![CDATA[Trunking1.1 什么是trunk？1.2 trunk的具体应用1.3 Eth-Trunk 接口的链路聚合模式1.4 Trunk 接口的约束条件1.4 trunk接口的几个概念1.5 Trunk 转发原理1.6 trunk实现方式（已BCM交换芯片为例）
1.1 什么是trunk？
Trunk 是一种捆绑技术。将多个物理接口捆绑成一个逻辑接口，这个逻辑接口就称为 Trunk 接口，捆绑在一起...]]></description><category></category></item><item><title><![CDATA[Network Switching Software Platform Guide学习笔记]]></title><link>https://blog.youkuaiyun.com/u010873172/article/details/93752650</link><guid>https://blog.youkuaiyun.com/u010873172/article/details/93752650</guid><author>u010873172</author><pubDate>Wed, 26 Jun 2019 16:50:26 +0800</pubDate><description><![CDATA[Network Switching Software Platform Guide学习笔记
1 Broadcom SDK简介
broadcom sdk是为了给broadcom交换设备StrataSwitch and StrataXGS系列开发目标系统而设计的套件。提供的源代码可以被任何平台编译执行。源代码以模块化的形式组成，客户可以用最合适的方式利用这些模块，执行以下步骤即可以使系统正常运行：

...]]></description><category></category></item><item><title><![CDATA[U-boot]]></title><link>https://blog.youkuaiyun.com/u010873172/article/details/88526198</link><guid>https://blog.youkuaiyun.com/u010873172/article/details/88526198</guid><author>u010873172</author><pubDate>Wed, 13 Mar 2019 10:01:14 +0800</pubDate><description><![CDATA[U-BootBootLoader简介U-boot简介常用命令uboot移植
BootLoader简介
一个嵌入式系统从软件角度来看可以分为三个层次：

引导加载程序
包括固化在固件（firmware）中的boot程序（可选），和bootloader两大部分
Linux内核
特定于嵌入式平台的定制内核
文件系统
包括系统命令和应用程序
BootLoader就是在操作系统运行之前运行的一段小程序。通过...]]></description><category></category></item><item><title><![CDATA[Linux内核学习]]></title><link>https://blog.youkuaiyun.com/u010873172/article/details/88396898</link><guid>https://blog.youkuaiyun.com/u010873172/article/details/88396898</guid><author>u010873172</author><pubDate>Mon, 11 Mar 2019 16:26:17 +0800</pubDate><description><![CDATA[Linux内核学习基础内核简介内核源代码linux内核配置与编译3.1 定制linux内核3.2 内核安装交叉工具链
内核简介
Linux系统的构成：用户空间、内核空间
思考：为什么划分为两个层次？
目的其实是为保护操作系统，防止应用程序的异常导致操作系统崩溃。

内核空间与用户空间是程序执行的两种不同状态，通过系统调用和硬件中断能够完成从用户空间到内核空间的转移。
那么Linux的内核由哪些构成...]]></description><category></category></item><item><title><![CDATA[网络编程]]></title><link>https://blog.youkuaiyun.com/u010873172/article/details/88169947</link><guid>https://blog.youkuaiyun.com/u010873172/article/details/88169947</guid><author>u010873172</author><pubDate>Tue, 05 Mar 2019 10:14:27 +0800</pubDate><description><![CDATA[Linux网络编程Linux网络编程1.1 socket介绍1.2 地址转换1.3 TCP网络编程1.4 UDP网络编程1.5 并发服务器
Linux为用户提供了完善的、强大的网络功能

完善的内置网络。其他操作系统不包含如此紧密地和内核结合在一起的网络部分。
Linux免费提供了大量支持Internet的软件，Internet是在unix领域中建立并繁荣起来的，在这方面使用Linux是相当方便的...]]></description><category></category></item><item><title><![CDATA[Linux多线程编程]]></title><link>https://blog.youkuaiyun.com/u010873172/article/details/88044497</link><guid>https://blog.youkuaiyun.com/u010873172/article/details/88044497</guid><author>u010873172</author><pubDate>Thu, 28 Feb 2019 20:41:39 +0800</pubDate><description><![CDATA[Linux多线程编程多线程简介线程编程2.1 创建线程2.2 终止线程2.3 线程等待2.4 线程标识
多线程简介

为什么使用线程？



和进程相比，它是一种非常“节俭”的多任务操作方式。在Linux系统下，启动一个新的进程必须分配给它独立的地址空间，建立众多的数据表来维护它的代码段、堆栈段和数据段，这是一种“昂贵”的多任务工作方式。


线程间方便的通信机制。对不同进程来说，他们具有独立的数...]]></description><category></category></item><item><title><![CDATA[Linux进程间通信]]></title><link>https://blog.youkuaiyun.com/u010873172/article/details/88027933</link><guid>https://blog.youkuaiyun.com/u010873172/article/details/88027933</guid><author>u010873172</author><pubDate>Thu, 28 Feb 2019 14:40:25 +0800</pubDate><description><![CDATA[进程间通讯
[[toc]]
为什么进程间需要通信？

数据传输
资源共享
通知事件
进程控制

linux使用的进程间通信方式有：

管道（pipe）和有名管道（FIFO）
信号（signal）
消息队列
共享内存
信号量
套接字（socket）

1.1 管道通信
管道是单向的、先进先出的它把一个进程的输出和另一个进程的输入连接在一起。一个进程（写进程）在管道的尾部写入数据，另一个进程(读进程)...]]></description><category></category></item><item><title><![CDATA[进程控制]]></title><link>https://blog.youkuaiyun.com/u010873172/article/details/87601129</link><guid>https://blog.youkuaiyun.com/u010873172/article/details/87601129</guid><author>u010873172</author><pubDate>Mon, 18 Feb 2019 09:58:38 +0800</pubDate><description><![CDATA[进程控制1 进程控制理论基础2 进程控制编程2.1 获取ID2.2 创建进程2.3 exec函数族2.4 进程等待
1 进程控制理论基础
进程是一个具有一定独立功能的程序的一次运行活动。
特点：

动态性
并发性
并发与并行的区别？
独立性
异步性
进程互斥：是指若干个进程都要使用某一共享资源（软件与硬件资源）时，任何时刻最多允许一个进程使用，其他的要使用这个资源的进程必须等待，直到占用该资源者释...]]></description><category></category></item><item><title><![CDATA[文件编程]]></title><link>https://blog.youkuaiyun.com/u010873172/article/details/87097136</link><guid>https://blog.youkuaiyun.com/u010873172/article/details/87097136</guid><author>u010873172</author><pubDate>Tue, 12 Feb 2019 16:33:41 +0800</pubDate><description><![CDATA[文件编程Linux系统调用-文件访问1.1 创建文件1.2 文件描述符1.3 文件关闭1.4 文件读写1.5 文件定位1.6 文件访问判断c库函数-文件访问2.1 创建与打开2.2 读与写2.3 格式化读与写2.4 文件定位2.5 创建目录时间编程3.1 获取日历时间3.2 显示时间3.3 获取时间
Linux系统调用-文件访问
1.1 创建文件
int creat(const char *fil...]]></description><category></category></item><item><title><![CDATA[GDB&gcc 应用]]></title><link>https://blog.youkuaiyun.com/u010873172/article/details/86505282</link><guid>https://blog.youkuaiyun.com/u010873172/article/details/86505282</guid><author>u010873172</author><pubDate>Wed, 16 Jan 2019 11:51:41 +0800</pubDate><description><![CDATA[GCC程序编译
Linux系统下的gcc (GNU C Compiler)是GNU推出的功能强大、性能优越的多平台编译器，是GNU的代表作之一。GCC编译器能将c、c++语言源程序、汇编程序编译、链接成可执行文件。在Linux系统中，可执行文件没有统一的后缀，系统从文件的属性来区分可执行文件和不可执行文件
GCC编译程序时，分为四个阶段：

预处理（Pre-Processing）
编译(Comil...]]></description><category></category></item><item><title><![CDATA[ARM系统简介]]></title><link>https://blog.youkuaiyun.com/u010873172/article/details/85342251</link><guid>https://blog.youkuaiyun.com/u010873172/article/details/85342251</guid><author>u010873172</author><pubDate>Thu, 03 Jan 2019 11:17:28 +0800</pubDate><description><![CDATA[ARM系统学习笔记第一章 ARM系统简介1.1 ARM工作模式1.2 ARM寄存器1.3 ARM寻址方式1.4 ARM 指令集1.4.1 跳转指令1.4.2 数据处理指令1.4.3 程序状态寄存器访问指令1.4.4 加载/存储指令1.4.5 批量加载/存储指令
第一章 ARM系统简介
1.1 ARM工作模式
ARM有两种工作状态：
第一种为ARM状态，此时处理器执行32位的字对齐的ARM指令
第二...]]></description><category></category></item></channel></rss>