Stratum introduce
摘要
Stratum是开源的芯片不相关(silicon-independent)的SDN交换机操作系统。其公开了一组SDN接口包括P4Runtime和OpenConfig/gNMI、gNOI。目前支持的设备包括Barefoot的Tofino、Broadcom的Tomahawk,以及bmv2软交换机。
官方文档
代码库
Stratum Agent Architectural Components
[]
接口介绍
P4 runtime:与支持P4编程的交换芯片通信,可配置可编程交换机上的数据面的转发通道
gNMI:gRPC Network Management Interface
gNOI:定义了一组基于gRPC的微服务,用于在网络设备上执行操作命令
ARM cpu
概述
ARM原厂基于不同版本设计的CPU设计Cortex-A(ARM-A),Cortex-R(ARM-R),Cortex-M(ARM-M)三个系列,而根绝v7,v8等不同的arm架构版本,则头Cortex-A17,Cortex-A78等不同型号。基于Armv8-A的Neoverse E1。
ARM与x86的区别
ARM是RISC(精简指令集),x86是CISC(复杂指令集)
64位计算
对于64位计算,ARM和Intel也有一些显著区别。Intel并没有开发64位版本的x86指令集。64位的指令集名为x86-64(有时简称为x64),实际上是AMD设计开发的。Intel想做64位计算,它知道如果从自己的32位x86架构进化出64位架构,新架构效率会很低,于是它搞了一个新64位...
P4 introduce
摘要
P4是Programming Protocol-independent Packet Processors的缩写,
开发环境:windows10 virtualBox vagrant
官方文档
代码库
P4中的一些概念
P4是协议不相关的,所谓协议相关就是只能根据现有的协议来进行编程,例如OpenFlow1.0时有12个字段(IP,MAC等),但这明显是远远不够的。那么P4就解决了这个问题
P4可以定义自己的匹配字段和动作(action),从而定义流表,进而形成流水线
PISA(Protocol Independent Switch Architecture),一种通用的网络设备架构
P4 runtime的定位与OpenFlow一致,与P4配合使用
P...
Openstack的集成测试框架Tempst
摘要
官方文档
Quickstart
pip install tempest
tempest init cloud-01,此时会在当前目录下生成cloud-01目录,子目录中的etc包含tempest.conf和tempest.conf.sample。tempest.conf的配置
tempest中的module
abc
Python本身不提供抽象类和接口机制,要想实现抽象类,可以借助abc模块。ABC是Abstract Base Class的缩写。
six
six是为了解决Python2 和 Python3 代码兼容性而产生的。six这个名字来源于 6 = 2 x 3,为什么不用‘Five’呢?5 = 2+3,一是因为乘法更有力量(more powerfu...
zlink项目开发记录
数据库相关
希望实现一个功能,在用户注册时,数据库中的用户流量使用数据表能够自动增加一个用户的entry
Django
service_end_date = models.DateField(name=’service_end_date’, default=timezone.now)这段代码导致报错:
'datetime.date' object has no attribute 'tzinfo'
其中的models.DataField应修改为DataTimeField因为后面的default设置了timezone.now
setting.py中的DEBUG=True在上线后应修改为False
部署
基础环境搭建
安装docker-c...
Blog Collect
linux系
Linux内核系统架构介绍
yocto项目介绍
CICD
Git 版本控制的核心概念
network
三十天学不会TCP,UDP/IP网络编程
other
how to build a blog at github
40 post articles, 5 pages.