自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(126)
  • 资源 (16)
  • 收藏
  • 关注

原创 katacontainers启动分析

程序入口文章目录程序入口初始化环境初始化事件通知器初始化命名空间初始化service实例启动service事件处理协程处理事件default初始化sandbox启动sandboxstart程序启动命令示例:/usr/bin/containerd-shim-kata-v2 -namespace k8s.io -address /run/containerd/containerd.sock -publish-binary /usr/bin/containerd -id 19639196b889a15b8d

2021-06-02 23:30:46 988

原创 katacontainers网络文件系统分析

准备sandbox和container启动文件sandbox:{ "metadata": { "name": "busybox-pod", "uid": "busybox-pod", "namespace": "test.kata" }, "hostname": "busybox_host", "log_directory": "", "dns_config": { }, "port_mappings": [], "resources": { }, "labels": {

2021-06-02 23:29:38 2384

原创 katacontainers v2编译

开发环境设备信息操作系统:Centos 8 发行版Hypervisor:VMWare[root@localhost ~]# cat /etc/*releaseCentOS Linux release 8.2.2004 (Core) NAME="CentOS Linux"VERSION="8 (Core)"ID="centos"ID_LIKE="rhel fedora"VERSION_ID="8"PLATFORM_ID="platform:el8"PRETTY_NAME="CentO

2021-06-02 23:28:23 835

原创 katacontainers二进制安装

kata v2适配kubernetescri+containerd+kata v2+qemu部署环境kubernetes使用cri方式对接containerd,containerd使用插件方式加载katacontainers v2containerd采用自己的方式管理容器镜像,不能公用docker已有镜像,并且containerd镜像使用了命名空间进行了隔离,cri默认命名空间是k8s.io,containerd默认存储命名空间是default,在调试的时候需要注意以上问题二进制安装kata部署

2021-06-02 23:27:01 1481

原创 bpf map映射简介

bpf map映射简介bpf程序运行在内核,而且为了保证bpf程序运行的安全性,bpf虚拟机限制了系统调用,如果bpf程序需要和用户空间程序进程通信就需要bpf映射,bpf提供了如hash、stack、array等映射,在bpf程序中可以根据需求直接使用。bcc bpf map映射分析bcc中的BPF可以使用bcc的宏定义定义,当bcc加载bpf程序时再转换成section段定义进行编译。bcc的BPF映射定义在src/cc/export/helpers.h文件,bcc编译bpf代码时替换bpf程序

2020-10-26 15:45:07 2159

原创 bpf-bcc加载代码分析

BCC简介bcc作为bpf的api库,提供了加载、编译,运行bpf代码功能,其核心功能是对bpf的系统调用进行封装,降低bpf使用门槛。BCC源码介绍[root@localhost bcc]# lsbuild CMakeLists.txt CONTRIBUTING-SCRIPTS.md Dockerfile.debian Dockerfile.ubuntu examples images introspection LICENSE.txt man RE

2020-10-26 13:00:23 1290

原创 Kubernetes kubeadm证书时间修改的正确姿势

版本kubeadm v1.16.3需求kubeadm init 部署集群时自动生成相关证书,包括api-server、etcd、ca等,自动生成过程中起始时间默认为当前系统的时间,如果当前系统时间不正确会导致生成的证书异常,所以需要根据需求进行定制apiserver.crt apiserver-kubelet-client.crt ca.crt front-proxy-ca.crt ...

2019-12-09 21:16:08 1291

原创 Cisco VPP VLIB_INIT_FUNCTION宏定义分析

VLIB_INIT_FUNCTIONvpp初始化接功能节点如acl、icmp、abf等时都是通过VLIB_INIT_FUNCTION宏定义进行初始化的,初始化过程主要包括运行环境、内存、以及对应功能的一些初始化,如acl初始化的地方:static clib_error_t *icmp4_init (vlib_main_t * vm){ ip_main_t *im = &ip_m...

2019-12-09 01:01:38 1507

原创 Cisco VPP 网络接口注册分析

简介Vpp在实际应用场景中专注于网络数据包的处理,收发数据包的过程一般由第三方软件提供如:DPDK、NETMAP等,但自身也提供了丰富的虚拟网络接口,如:Virtio、Vxlan、Ipsex等。每种接口,不论是虚拟的还是物理的在启动的时候都会主动向Vpp注册自己的接口。DPDK接口注册分析VPP编译过程中可以选择是否编译DPDK的IGB_UIO驱动,默认是不编译的,编译IGB_UIO驱动方法...

2019-12-04 11:19:29 1221

原创 Cisco VPP Vhost-user协商时序

vhost-user 分为服务端和客户端,以下时序为libvirtd和vpp进行协商,协商过程中不管libvirtd作为vhost-user的服务端或者客户端,都由libvirtd主动使用Unix Socket套接字发起协商vhost-user协商时序: vm libvirtd ---> ...

2019-10-26 12:05:04 667 2

原创 Cisco VPP Unix事件监听机制分析

VPP内部使用Epoll的方式监听VPP外面使用Unix Socket通道访问或者配置VPP的请求,主要注册事件包括cli、tuntap接口配置、vhost-user接口配置等

2019-10-25 17:21:41 479

转载 Linux Socket---write/send/sendto/wirev/sendmsg

首先,我们从一个实际的数据包发送的例子入手,来看看其发送的具体流程,以及过程中涉及到的相关数据结构;在我们的虚拟机上发送icmp回显请求包,ping另一台主机192.168.1.111。我们使用系统调用sendto发送这个icmp包。ssize_t sendto(int s, const void *buf, size_t len, int flags, ...

2019-10-18 16:35:06 1400

原创 Kubernetes DNS解析简要分析

Kubernetes POD IP会随POD的创建销毁动态变化,所以提出Service的方式访问POD网络,Kubernetes的Service可以使用Iptables实现也可以使用IPVS实现,本文简要分析Iptables实现方式。部署POD,进入POD观察域名解析服务器地址:Develop>kubectl exec -it -n default ncss-i-mysql-ha-0 /...

2019-09-04 20:22:38 2675

原创 Kubernetes Multus-CNI

简介Multus CNI 作为K8S的CNI插件,支持同时添加多个网络接口到K8S环境中的POD。这样的部署方式有利用用户把管理网络和业务网络相互隔离,有效控制容器集群网络架构下图是Multus CNI配置pod网络接口的例子。图中显示了POD具有三个接口:eth0、net0和net1。eth0将kubernetes集群网络连接到kubernetes服务器/服务(例如kubernetes ap...

2019-02-09 17:44:12 6740 2

原创 Kubernetes 部署contiv-vpp

简介Contiv/VPP is a Kubernetes network plugin that uses FD.io VPP to provide network connectivity between PODs in a k8s cluster. It deploys itself as a set of system PODs in the kube-system namespace, ...

2019-02-08 15:29:32 3380 1

原创 Kubevirt 部署虚拟机

ArchitectureKubeVirt is built using a service oriented architecture and a choreography pattern.Stack +---------------------+ | KubeVirt |~~+---------------------+~~ | Orchestration...

2019-01-11 11:29:26 3378 1

原创 docker cni插件分析

CNI简介Container Networking Interface(CNI)提供了一种linux的应用容器的插件化网络解决方案。最初是由rkt Networking Proposal发展而来。他的模型只涉及两个概念:容器(container) : 容器是拥有独立linux网络命名空间的独立单元。比如rkt/docker创建出来的容器。网络(network): 网络指代了可以相互联系的一组...

2018-11-08 22:29:46 2661

原创 Cisco VPP 内存池结构体分析

2018-10-27 15:13:07 1121 2

原创 Cisco VPP 内存池管理逻辑流程图

2018-10-27 15:06:27 1871

原创 kubeadm国内部署-Ubuntu16.04

系统信息root@ubuntu:~# cat /etc/*releaseDISTRIB_ID=UbuntuDISTRIB_RELEASE=16.04DISTRIB_CODENAME=xenialDISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"NAME="Ubuntu&amp

2018-10-12 13:07:33 7185 6

原创 vpp gerrit提交patch过程

准备环境注册gerrit账号及环境配置1、进入fdio gerrit登录页面https://gerrit.fd.io/r/login/%23%2Fq%2Fstatus%3Aopen 2、点击Account signup / management注册账号 选择‘I need to create a Linux Foundation ID’进行账号注册 也可以使用face...

2018-09-15 14:31:33 4316 1

原创 openstack nova 分析笔记

Openstack Nova 分析笔记

2018-09-11 16:14:05 215

原创 Cisco VPP vxlan tunnel

拓扑环境目的: 使用vxlan隧道连接两个主机,实现每个主机的内部网络可以通过vxlan隧道进行通信。host1内部运行vpp和一个网络命名空间APP1。网络命令空间APP1模拟host1端的内部网络,里面有一个网络接口veth_vpp1,这个接口与vpp之间使用veth方式连接,当vpp里面的host-APP1接口收到数据包后就会发送到网络命名空间的veth_vpp1接口。host1...

2018-08-18 22:17:02 4187

原创 Opendaylight Service Function Chaining Demo

ODL-SFC 环境搭建作者信息:绿盟科技SPG团队 张力茂ODL Service Function Chaining在网络通信过程中,包含各式各样的网络服务功能。既可以包含传统的像防火墙,NAT等功能,也有包含特定的网络应用功能(Service Function)。将特定的网络应用功能有序地组合起来,接着让流量通过这些服务功能就构成了网络服务链(Network Service...

2018-07-26 17:18:31 2418 1

原创 Cisco VPP KVM vhost-user

目的:VPP作为KVM数据平面,使用vhost-user方案进行数据包通信什么是 vhost-user在 vhost 的方案中,由于 vhost 实现在内核中,guest 与 vhost 的通信,相较于原生的 virtio 方式性能上有了一定程度的提升,从 guest 到 kvm.ko 的交互只有一次用户态的切换以及数据拷贝。这个方案对于不同 host 之间的通信,或者 guest 到...

2018-07-26 16:47:45 3129 1

原创 Python eventlet 模块笔记

作者信息:绿盟科技SPG团队 张力茂协程什么是协程协程,又称微线程,纤程。英文名Coroutine。协程是一条执行序列,拥有自己独立的栈、局部变量和指令指针,同时又与其他的协同程序共享全局变量。子程序调用总是一个入口,一次返回,调用顺序是明确的。而协程的调用和子程序不同。协程看上去也是子程序,但执行过程中,在“子程序”(协程)内部可中断,然后转而执行别的“子程序”,在适当的...

2018-07-26 16:44:55 18726

原创 RabbitMQ笔记

RabbitMQ 简介RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统。他遵循Mozilla Public License开源协议。MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消 息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过...

2018-07-26 16:30:43 393

原创 《Cisco VPP SFC》4、ODL SFC 安装

1、部署基础环境1.1 安装 gitsudo apt-get install git1.2 安装 Mavensudo apt-get install maven安装完成后:0 added, 0 removed; done.Running hooks in /etc/ca-certificates/update.d...done.done.root@ubunt...

2018-07-26 16:29:20 1107

原创 《Cisco VPP SFC》3、honeycomb 安装

honeycomb介绍 Honeycomb is a generic NETCONF/RESTCONF java-based management agent and provides a framework for building specialized agents. It uses many features and utilities from different Open...

2018-07-13 18:03:25 1741

原创 《Cisco VPP SFC》2、NSH_SFC 安装

SFC概念SFC是Service Function Chain的缩写,直译过来是服务功能链,通常简称服务链。简单地说把服务功能联接起来提供的一个有序的服务组合叫做服务链。SFC的延伸的含义包括服务链的定义,服务链的部署,基于policy的traffic steering,重点是在chain和策略,而不是在某个具体的服务功能service function。在SFC中service是服务的泛...

2018-07-13 14:55:42 2454

原创 《Cisco VPP SFC 》1、 VPP 安装

基础环境 Linux ubuntu 4.13.0-36-generic #40~16.04.1-Ubuntu SMP Fri Feb 16 23:25:58 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux1、安装 git sudo apt-get install -y git 2、下载vpp源码 sudo git clone https://ge...

2018-07-13 13:35:22 1223

原创 Cisco VPP VPP+KVM环境部署

部署目的:虚拟机网卡由VPP接管,VPP为虚拟机提供二层交换功能网络拓扑:guest host 1 <—> VPP(Bridge) <—> guest host 2准备资源:1、宿主机安装VPP2、下载测试镜像和OVMF.fd文件(测试镜像clear-22980-kvm.img.xz),下载地址:https://download.cl...

2018-06-13 21:59:34 3990 20

转载 ironic架构及相关技术简介

简介如今Openstack在虚拟化管理部分已经很成熟了, 通过nova我们可以创建虚拟机、枚举虚拟设备、管理电源状态、安装操作系统等。但是有时候虚拟机无法满足要求,比如以下几种情况需要直使用物理机:高性能的计算集群。计算任务需要访问无法虚拟化的硬件设备。数据库主机(有些数据库在hypervisor中运行效率很差)。单租户、专用硬件、安全性、可靠性和其他控制要求。快速部署云基...

2018-05-30 15:44:34 18222 1

转载 安装与配置ironic

安装及配置由于Ironic的配置很长,下面我们简短的说一下安装和配置过程,具体的安装配置教程参考官方手动配置教程或者使用devstack安装。Ironic需要与Nova、Neutron、Glance、Keystone等进行交互,于是先要对这些进行配置。1.配置KeyStone首先我们需要在keystone中创建ironic用户、服务、endpoint信息。keystone us...

2018-05-30 15:43:30 1240

原创 Cisco VPP 源码分析---vlib_main()

2018-02-27 20:18:39 2496

原创 Cisco VPP IKEV2 配置说明

1、 配置网络接口地址: cli: set int state GigabitEthernet2/6/0 up set int ip address GigabitEthernet2/6/0 192.168.10.10/24 2、 创建IKEV2配置 cli: ikev2 profile add pr1 //创建名为pr1的IKEV2配置 ikev2 profil...

2018-02-27 20:18:29 4870 3

原创 Cisco VPP IPSec配置

IPSEC SA:ipsec sa add 10 spi 1001 esp crypto-alg aes-cbc-128 crypto-key 4a506a794f574265564551694d653768 integ-alg sha1-96 integ-key 4339314b55523947594d6d3547666b45764e6a58ipsec sa add 20 spi 1000...

2018-02-27 20:18:18 2663 1

原创 Cisco VPP CSIT调用API过程

csit_cmd: vpp_ipsec_add_sad_entryfile: vpp-csit\csit\resources\libraries\python\IPsecUtil.py1、组织数据ckey = crypto_key.encode('hex') ikey = integ_key.encode('hex') tunnel = 'tunnel_sr...

2018-02-27 20:18:04 1275

原创 Cisco VPP emacs+gdb单步调试

VPP主要由VPP框架加上插件业务组成,开发插件时首先会编译成动态库,在VPP启动时通过指定路径加载动态库,所以在gdb调试时需要指明动态库路径。 启动可执行文件: 设置启动参数: 设置启动参数需要明确指定插件路径,VPP启动时会根据路径加载库文件。设置断点: 设置断点过程,“Function xxx not defined”意为进程符号表中没有“xxx”符号表,但是此处的...

2018-02-27 20:17:47 1845 2

原创 Cisco VPP 插件开发

VPP业务主要由插件扩展,在编译时插件会编译成动态库,并由plugin.c解析。解析过程:vlib_unix_main->vlib_plugin_early_init->vlib_load_new_plugins->load_one_plugin->VPP初始化插件首先由“VLIB_INIT_FUNCTION”宏定义初始化插件运行环境,如果支持CLI就使用“VLIB_C...

2018-02-27 20:17:34 3702

计算机程序设计艺术 全三卷 高清

计算机程序设计艺术 全三卷 高清 计算机程序设计艺术(第一卷) 基本算法 第3版.pdf 计算机程序设计艺术(第二卷) 半数值算法 第3版.pdf 计算机程序设计艺术(第三卷)排序与查找 第2版.pdf

2018-02-20

Vsftpd服务器移植.rar

Vsftpd服务器移植.rar源码包,可移植与嵌入式设备

2015-08-01

野火M3-LCD

野火M3-LCD,野火官方LCD使用说明,可以借鉴开发STM32驱动LCD

2014-10-14

STM32_FATFS_SPI

STM32_FATFS_SPI.STM32F103使用SPI模式连接FAT系统,实现FAT的使用

2014-10-14

max262使用说明

max262使用说明,需要系数的可以问我

2014-10-14

M62429使用说明

M62429_pdf使用说明,内容为英文版

2014-10-14

AY_TPA3112D1 EVM

AY_TPA3112D1_EVM使用更说明

2014-10-14

实时音频变调算法

实时音频变调算法的设计与实现_付中华.pdf

2014-10-14

OK6410的裸机调试

OK6410的裸机调试,不使用Jlink。

2014-10-14

TMS320C55x Assembly Language Tools User"s Guide Rev G

基于DSP TMS320C55x Assembly Language Tools User"s Guide Rev G 使用说明 英文版

2014-09-27

锁相环程序代码

基于ARM_M3的锁相环程序,适合调试锁相环用

2014-04-02

JAVA 模拟QQ

自己写的一个JAVAQQ,就是调用面板,按钮之类的,适合初学者调用学习

2014-04-02

keil的软件逻辑分析仪

keil的软件逻辑分析仪介绍了怎么使用KEIL监测波形

2014-03-13

STM32F103固件库使用手册

STM32F103固件库使用手册包含了所有固件库函数使用方法,同时也做出了参数说明,很好的资源!

2014-03-13

STM32F103固件库使用代码

STM32F10X 固件库示例代码,50个示例,可移植性好,包括TFT使用

2014-03-13

STM32F103定时器中断程序

基于STM32F103RB定时器操作及中断使用示例。

2014-03-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除