SONiC-P4实验搭建及研究SONiC管理的交换机

2023-05-16

首先需建立在虚拟机上部署SONiC-P4仿真环境,关于部署SONiC-P4,详情可以参考https://github.com/sonic-net/SONiC/wiki/SONiC-P4-Software-Switch,大体步骤如下:

1.首先在VMware中新建一个ubuntu22.04系统,随后可以先在windows系统下https://github.com/sonic-net/SONiC/wiki/files/SONiC-P4/SONiC-P4.Test.tar.gz打开此链接,下载SONiC-P4.Test.tar.gz压缩包,将下载后的压缩包通过QQ邮箱发送到另一个QQ邮箱,随后在Linux系统中登录QQ邮箱接收SONiC-P4.Test.tar.gz压缩包文件(在linux系统Firefox浏览器不知道好不好下载),并解压缩到Linux本地新建的一个SONiC文件夹中。文件夹内容如下:

2.下一步需要自己一步一步安装Docker和openvswitch。

安装Docker可参考Ubuntu系统安装Docker_流觞浮云的博客-CSDN博客_ubuntu docker 其中“获取软件最新源”步骤若出现问题,可以尝试以下解决办法,使用如下命令:

sudo gedit /etc/apt/sources.list

打开sources.list文件,将里面的所有内容替换为:

deb http://mirrors.aliyun.com/ubuntu focal main multiverse restricted universe

deb http://mirrors.aliyun.com/ubuntu focal-updates main multiverse restricted universe

deb http://mirrors.aliyun.com/ubuntu focal-security main multiverse restricted universe

deb http://mirrors.aliyun.com/ubuntu focal-proposed main multiverse restricted universe

deb http://mirrors.aliyun.com/ubuntu focal-backports main multiverse restricted universe

后面的直接按照步骤进行就可以,没有什么错误出现,最后输入测试代码显示Hello from docker即为成功。(后面的配置用户组不用看)

sudo docker run hello-world

 3.至此Docker就已经安装成功,下面继续安装openvswitch虚拟交换机。

安装openvswitch的方法是打开install_docker_ovs.sh文件,复制最下面三行命令到命令行,依次执行。

sudo apt-get install -y openvswitch-switch

sudo curl -L https://github.com/openvswitch/ovs/raw/master/utilities/ovs-docker -o /usr/bin/ovs-docker

sudo chmod a+x /usr/bin/ovs-docker

 4.下载SONiC-P4镜像

参考SONiC与P4仿真实验 – Martrix Blog (martrix-net.cn),使用如下命令从Docker官仓中下载sonic镜像,等待下载完成后,输入docker pull ubuntu:14.04命令下载Ubantu14.0镜像。

docker pull alihasanahmedkhan/docker-sonic-p4
docker pull ubuntu:14.04

5.进行实验

首先打开start.sh文件修改docker-sonic-p4为alihasanahmedkhan/docker-sonic-p4。进入虚拟机中的p4-test目录下打开终端,输入以下代码关闭之前开启的进程:

./stop.sh

使用./start.sh运行容器并连接网络拓扑;使用docker ps查看已经启动的容器:

./start.sh
docker ps

60s左右后,运行./test.sh测试host1和host2的连通性,可得到如下结果:

 随后使用以下代码连接switch1

sudo docker attach switch1

使用show vlan config可以查看VLAN 配置

show vlan config

使用vtysh -c "show ip route"查看路由表信息

vtysh -c "show ip route"

 使用cat /etc/sonic/config_db.json查看初始化配置,可以看到

cat /etc/sonic/config_db.json

 此外,可以查看Redis键值数据库中的路由表信息, SONiC用Redis存储数据,我们可以通过redis查看系统的配置,下面,我们用Redis查看当前的路由表:

redis-cli
keys ROUTE_TABLE*

可见在switch1上,有三条路由:

192.168.2.0/24: 下一跳是10.0.0.1, 出接口是vlan15

192.168.1.0/24: 直连路由,出接口是vlan10.

10.0.0.0/31: 直连路由,出接口是vlan15.

参考资料:

SONiC与P4仿真实验 – Martrix Blog (martrix-net.cn)

(89条消息) Ubuntu系统安装Docker_流觞浮云的博客-CSDN博客_ubuntu docker

SONiC P4 Software Switch · sonic-net/SONiC Wiki (github.com)

 用Docker体验微软开源网络操作系统SONiC - 知乎 (zhihu.com)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SONiC-P4实验搭建及研究SONiC管理的交换机 的相关文章

  • python期末考试

    python期末考试 文章目录 python期末考试前言一 选择题二 多选题三 函数题四 xff0c 编程题 前言 提示 xff1a 这里可以添加本文要记录的大概内容 xff1a 记录本学期python期末考试 提示 xff1a 以下是本篇
  • R-CNN论文解读

    背景 R CNN Regions with CNN features 这篇论文是在2014年CVPR的论文 xff0c 在此之前目标检测并未使用基于深度学习的方法 xff0c 主流的目标检测思路还是基于传统的目标检测方法 SIFT HOG等
  • 嵌入式软件工程师面试题(七)

    作者简介 xff1a 大家好我是 xff1a 嵌入式基地 xff0c 是一名嵌入式工程师 xff0c 希望一起努力 xff0c 一起进步 xff01 x1f4c3 个人主页 xff1a 嵌入式基地 x1f525 系列专栏 xff1a 嵌入式
  • 十,FreeRTOS之——信号量

    声明 xff1a 本专栏参考韦东山 xff0c 野火 xff0c 正点原子以及其他博主的FreeRTOS教程 xff0c 如若侵权请告知 xff0c 马上删帖致歉 xff0c 个人总结 xff0c 如有不对 xff0c 欢迎指正 信号量理论
  • 树莓派安装opencv

    OpenCV 开源的计算机视觉库 是基于BSD协议 因此它可免费用于学术和商业用途 其提供C 43 43 C Python和Java接口 支持Windows Linux Mac OS iOS和Android OpenCV致力于高效运算和即时
  • 树莓派安装ubuntu mate记录

    文章目录 1 系统下载1 ubuntu下载2 ubuntu mate下载 2 系统安装3 系统使用1 ubuntu系统2 ubuntu mate系统 这个算个失败的记录贴吧 xff0c 这个系统安装过程不太流畅 xff0c 使用起来也有很多
  • opencv C++图像风格迁移 深度神经网络模型的使用

    文章目录 1 代码示例 2 网络模型文件 及源代码下载 风格迁移的也是深度学习中的一个小的计算机视觉任务 目的是将A图像的风格迁移到B图像 风格的定义在在深度学习中可以认为是一些底层的特征 比如纹理特征等 1 代码示例 事先准备好 5种风格
  • opencv C++ 人脸识别+性别判断 网络模型

    文章目录 1 代码实现 2 网络模型和代码下载 1 代码实现 首先将整幅图输入到人脸检测网络 进行人脸识别 找到图像中的人脸区域 然后 检测并扩充后的人脸作为 性别判断网络的输入 进行性别判断 下面是人脸检测模型和性别判断模型 span c
  • 嵌入式linux杂记

    边看书边做笔记 xff0c 主要是为了查阅方便 1 readelf工具用来从可执行文件得到有用信息 譬如 xff0c readelf h hello 可以从hello得到elf header信息 readelf s hello可以查看hel
  • 【Halcon】计算机视觉(CV)与机器视觉(MV)

  • 【Halcon】 Halcon 22.11 安装详细教程

    文章目录 1安装 2 获取许可证 license 2 1 license下载 2 2 激活 license放置在相应文件夹下 3 DLT 安装 1安装 1 解压安装包 2 打开运行 exe 程序 跳转至页面 点击 可获得的 并安装 选择 A
  • 【Halcon】 Halcon 22.11 常用设置及界面介绍

    文章目录 1 设置语言 2 自带示例 3 示例文件 图片 等路径 4 工具栏设置 1 设置语言 第一次打开 默认繁体字 2 自带示例 3 示例文件 图片 等路径 先随便打开一个示例程序 然后 点打开程序 就可以看到示例文件路径了 C spa
  • 【Halcon】新建程序 读取图片 路径设置

    文章目录 1 新建程序 2 读取一张图片 3 图片路径 4 图片格式读取报错 5 快速添加 绝对路径 1 新建程序 点击新程序图标 即可新建 程序另存为 会弹出保存路径 2 读取一张图片 span class token function
  • 机器视觉 与 人眼错觉

  • 【Halcon】重置程序执行

    程序执行完毕后 xff0c 光标会停止在程序最后一行 xff08 没有设置stop xff09 的情况下 xff09 此时再点运行 xff0c 是没反应的 点一下 工具栏的 重置 xff0c 此时光标会回到第一行 xff0c 再次点击运行
  • 【Halcon】找到设备上的 标识牌

    如图 找到设备上的 标识牌 标识牌最明显的特征是比其他区域亮 二值化选择出亮区域 再通过面积选择出目标区域 先显示图片 span class token operator span 获取图片的大小 span class token func
  • Halcon 检测电路板上焊盘圆点 并显示焊盘的直径

    文章目录 1 问题描述 2 代码实现 3 halcon示例 1 问题描述 如图 检测电路板上焊盘圆点 并显示焊盘的直径 效果 2 代码实现 思路 焊盘颜色比较黑 可以用二值化 找到对应区域 但是可以观察原图上边缘部分颜色和焊盘接近 二值化减
  • Halcon 亚像素检测指定区域 瑕疵 轮廓

    如图 找到下图中铭牌上 面积最大的瑕疵快 认为黑点是瑕疵 span class token operator span 读取图片 并获取尺寸 span class token function read image span span cl
  • Halcon 阈值分割(全局阈值threshold、binary_threshold、动态阈值 dyn_threshold)、直方图

    文章目录 1 图像直方图 2 全局阈值 threshold 3 binary threshold 4 动态阈值mean image dyn threshold 5 代码和原图 1 图像直方图 图像直方图 Image Histogram 是用
  • uboot开篇 — arm-linux-gcc安装及编译uboot

    最近由于工作的原因需要研究下uboot在2440上的移植 xff0c 于是乎今天开始着手 首先下载了uboot的源码 xff08 源码下载官网http www icdev com cn batch viewlink php itemid 6

随机推荐

  • Halcon 找到产品上 圆圈中的7个点

    文章目录 1 关键实现环节演示 2 完整代码 及 原图 文章目录 1 关键实现环节演示 2 完整代码 及 原图 找到下图 圆圈中的7个点 思路 先找到圆圈外面的矩形 再找到里面的圆圈 最后找到圆圈里面的 圆点 1 关键实现环节演示 二值化
  • 安装endnote 之后打开word出现乱码

    文章目录 1 安装endnote 之后打开word出现乱码3 EndNote X9 插入参考文献常见问题总结4 EndNote X9 快速上手教程 xff08 毕业论文参考文献管理器 xff09 1 安装endnote 之后打开word出现
  • EndNote X9 引用参考 单击文献编号,不能跳转到文尾文献列表处,咋解决?文献编号 不能跳转 ,怎么办?

    文章目录 1 正常情况下 引用文献编号 是可以跳转的2 问题分析3 解决方法4 EndNote X9 插入参考文献常见问题总结5 EndNote X9 快速上手教程 xff08 毕业论文参考文献管理器 xff09 1 正常情况下 引用文献编
  • EndNote X9 参考文献附录列表 格式调整

    文章目录 1 参考文献附录列表 格式调整2 EndNote X9 插入参考文献常见问题总结3 EndNote X9 快速上手教程 xff08 毕业论文参考文献管理器 xff09 1 参考文献附录列表 格式调整 注意 xff1a 这里讲的是对
  • EndNote X9 导入知网文献 插入引用文献 方法

    文章目录 1 EndNote X9 导入知网文献2 EndNote X9 插入参考文献常见问题总结3 EndNote X9 快速上手教程 xff08 毕业论文参考文献管理器 xff09 1 EndNote X9 导入知网文献 下载知网参考文
  • endNote X9 导入英文文献(谷歌学术、web of science 等)

    文章目录 1 导入英文文献 xff08 谷歌学术 web of science 等 xff09 2 EndNote X9 插入参考文献常见问题总结3 EndNote X9 快速上手教程 xff08 毕业论文参考文献管理器 xff09 1 导
  • endNote X9 增加 / 删除参考文献 文献编号自动更新

    文章目录 1 增插参考文献2 删减参考文献3 EndNote X9 插入参考文献常见问题总结4 EndNote X9 快速上手教程 xff08 毕业论文参考文献管理器 xff09 1 增插参考文献 61 61 61 61 61 61 61
  • windows10 通过vnc方式远程连接服务器

    以下摘抄至腾讯云文档 xff0c 记录一下 腾讯云 文档中心 轻量应用服务器 最佳实践 搭建Ubuntu可视化界面 VNC xff08 Virtual Network Console xff09 是虚拟网络控制台的缩写 它是一款优秀的远程控
  • UART串口接收设计

    一 设计思路 1 端口设置 为实现UART串口接收 xff0c 所设计的模块应具有如下端口 xff1a 时钟 复位 波特率设置 串行数据输入 并行数据输出 一次数据接收完成标志 如图 xff1a module span class toke
  • (十)性能分析工具的使用(上)

    性能分析工具的使用 1 数据库服务器的优化步骤2 查看系统性能参数3 统计SQL的查询成本 xff1a last query cost4 定位执行慢的 SQL xff1a 慢查询日志4 1 开启慢查询日志参数1 开启slow query l
  • uboot1.1.6/lowlevel.S详解

    TEXT BASE word TEXT BASE 这个TEXT BASE是在uboot1 1 6 board smdk2410 config mk内定义的 xff0c TEXT BASE 61 0x33F80000 config mk内有注
  • 杨辉三角(Pascal‘s Triangle)

    6 杨辉三角 xff08 Pascal 39 s Triangle xff09 1 每个数等于它上方两数之和 直角模式等于上方和左上方元素之和 2 每行数字左右对称 xff0c 由1开始逐渐变大 3 第一行有1个元素 xff0c 第n行有n
  • A*算法在matlab上的实现

    先看看算法的效果 图中蓝绿色大圆为障碍物 xff0c 蓝色小圆为路径节点 xff0c 红色号为目的地 xff0c 蓝色为起点 算法下载位置 xff1a https gitee com bingobinlw volans tree maste
  • 数学知识---数论(质数和约数)

    文章目录 1 质数1 1质数的判定 试除法1 2分解质因数 试除法 1 3筛质数2 约数2 1试除法求约数2 2约数个数2 3约数之和2 4最大公约数 欧几里得算法 xff08 辗转相除法 xff09 1 质数 质数是针对所有大于1的自然数
  • ccie入门学习day1

    写信的例子 Source Name Source address Destination Name Destination address 数据从源端A送达目的端B xff1a 网络地址 xff1a IP地址 网络当中的任何网络设备的标识符
  • OSI七层模型 端到端通信

    免费DNS 电信 xff1a 114 114 114 114 google xff1a 8 8 8 8 xff0c 4 4 2 2 阿里 百度 腾讯 数据的端到端通信 xff1a 1 封装 xff1a encapsulation 2 解封装
  • 常见安全事件

    一 钓鱼 xff1b 1 诱惑性标题 xff1b 2 仿冒真实网站 xff1b 3 骗取用户账号 xff1b 4 骗取用户资料 xff1b 篡改 网页 Tampering 关键字 xff1a Hacked by 搜索引擎语法 xff1a I
  • 局域网技术,涉及到VLAN,TRUNK,链路聚合,VLAN间路由,单臂路由,

    Ethernet xff1a 以太网 构建一个网络 xff08 迷你型 小型 中型 大型 巨型 xff09 集线器 xff08 hub xff09 xff1a 物理层的设备 xff0c 半双工通信 xff0c 泛洪 xff08 floodi
  • ACL 网安基础

    ACL xff1a access control list 访问控制列表 网络当中哪些流量可以通过 xff0c 哪些流量不能通过 xff0c 哪些用户可以登录 xff0c 哪些用户拒绝登录 permit 允许 deny 拒绝 flow co
  • SONiC-P4实验搭建及研究SONiC管理的交换机

    首先需建立在虚拟机上部署SONiC P4仿真环境 xff0c 关于部署SONiC P4 xff0c 详情可以参考https github com sonic net SONiC wiki SONiC P4 Software Switch x