Mininet问题合集

news/2024/10/21 23:24:15

我的环境:Ubuntu 22.04.5 LTS

liu@liu-Ubuntu-Desktop:~/桌面$ ovs-vsctl -V
ovs-vsctl (Open vSwitch) 2.17.9
DB Schema 8.3.0
liu@liu-Ubuntu-Desktop:~/桌面$ mn --version
2.3.0
liu@liu-Ubuntu-Desktop:~/桌面$ python3
Python 3.10.12 (main, Sep 11 2024, 15:47:36) [GCC 11.4.0] on linux

一、MiniEdit中将拓扑另存为python文件时报错

报错信息如下:

image-20241016155421891

这个报错原因通常是因为使用了python3来启动miniedit.py。

如果有python2环境,使用python2打开就能解决。

# 查看当前环境中的python版本
liu@liu-Ubuntu-Desktop:~/桌面$ which python2
/usr/bin/python2	# 说明我当前环境中有python2
liu@liu-Ubuntu-Desktop:~/桌面$ which python3
/usr/bin/python3	# 说明我当前环境中有python3# 如果有python2,那么使用python2来打开miniedit
sudo python2 miniedit.py的路径
# 例如:
sudo python2 ~/mininet/examples/miniedit.py

如果环境中没有python2或者想要使用python3启动,那么就需要修改miniedit.py文件的内容。

根据报错信息可知,我的miniedit.py是在/usr/lib/python3/dist-packages/mininet/examples/目录下。(如果你是使用git clone,之后执行install.py安装的mininet,那么你的)

先备份miniedit.py文件.

sudo cp [miniedit.py的路径]/miniedit.py [miniedit.py的路径]/miniedit_backup.py 
# 示例
sudo cp /usr/lib/python3/dist-packages/mininet/examples/miniedit.py /usr/lib/python3/dist-packages/mininet/examples/miniedit_backup.py

使用vim编辑器打开miniedit.py文件。

# 示例
sudo vim /usr/lib/python3/dist-packages/mininet/examples/miniedit.py

打开后输入:1707,回车。

image-20241016162130659

跳转到1707行后,按i进入编辑模式,找到wb,将其修改为wt

image-20241016162341986

再按Esc建,退出编辑模式,再输入:wq保存并退出。

image-20241016162455182

若保存退出时出现下面这种情况,清输入wq!保存并强制退出。

image-20241016162930026

此时,重新使用python3启动MiniEdit(也就是miniedit.py文件),就可以将拓扑图保存为python文件了。

# 示例
sudo python3 /usr/lib/python3/dist-packages/mininet/examples/miniedit.py

二、MiniEdit中点击Run运行时闪退、以python脚本保存的拓扑文件运行报错

MiniEdit中点击Run运行时闪退,或者以python脚本保存的拓扑文件运行出现类似下图中所示的报错,提示Cannot find required executable controller.

image-20241016183239169

这是因为ovs-controller从OVS 2.1.0开始不再打包,但是mininet仍然需要使用ovs-controller。

mininet的github上也有说明:https://github.com/mininet/mininet/issues/301

image-20241016184828563

目前我的OVS版本是2.17.9,且我是通过sudo apt install mininet命令直接安装的mininet,所以没有ovs-controller。

如果你是使用git clone mininet的仓库,并通过install.sh脚本来安装的,那么你可以尝试重新安装mininet来解决此问题。

# 进入到解压后的mininet目录
cd /[mininet路径]/mininet/util/
# 反复执行安装脚本(记得加上-a选项)
sudo ./install.sh -a

如果多次尝试重新安装无果后,请尝试下面的方法。

如果你和我一样,使用apt安装的,可以尝试下面提供的解决方法。

解决方法是,安装openvswitch-testcontroller,并为openvswitch-testcontroller创建符号链接为controller

# 安装openvswitch-testcontroller
sudo apt-get install openvswitch-testcontroller
# 创建符号链接
sudo ln /usr/bin/ovs-testcontrholler /usr/bin/controller

img

接下来还需要关闭OVS的controller服务,否则mininet会报错。

# 关闭服务
sudo service openvswitch-testcontroller stop
# 查看服务状态(按Ctrl+C退出)
sudo service openvswitch-testcontroller status
# 禁止开机自启
sudo update-rc.d openvswitch-testcontroller disable

没有关闭OVS的controller服务的后果。

MiniEdit点击Run运行时:

image-20241016170105710

运行保存的python脚本时:

image-20241016165316469

使用测试命令时:

image-20241016165405370

此时,再次运行脚本文件,成功执行。

image-20241016191527789

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/72378.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

计算机网络——第一章

@目录1.计算机网络在信息时代中的作用2.互联网概述2.1网络的网络2.2互联网发展的三个阶段3.互联网的组成3.1互联网的边缘部分3.2互联网的核心部分4.计算机网络的性能指标5.计算机网络体系结构5.1计算机网络的五层体系结构5.2 TCP/IP协议族6.本章重点概念 本文首先介绍计算机网络…

计算机基础(cpu,内存,硬盘)

计算机基础(cpu,内存,硬盘) 内存:负责硬盘等硬件上的数据与CPU之间数据交换处理; 缓存系统中的临时数据。 断电后数据丢失。硬盘: ​ 存储资料和软件等数据的设备,有容量大,断电数据不丢失的特点。 流程 ​ 简单来说,硬盘用来存储程序和数据,当运行程序时,CPU首先接…

Java中网络编程的学习

Java 网络编程学习总结 本章目标了解计算机网络基础知识 了解 OSI 七层参考模型 熟悉 TCP/IP 协议 熟悉常见网络协议 掌握 socket 套接字编程计算机网络 什么是计算机网络 计算机网络是通过传输介质、通信设施和网络通信协议,把分散在不同地点的计算机设备互连起来,实现资源共…

高等数学 5.5 反常积分的审敛法 Γ函数

目录一、无穷限反常积分的审敛法二、无界函数的反常积分审敛法三、\(\Gamma\) 函数 一、无穷限反常积分的审敛法 定理1 设函数 \(f(x)\) 在区间 \([a, +\infty)\) 上连续,且 \(f(x) \geqslant 0\).若函数 \[F(x) = \int_a^x f(t) \mathrm{d}t \]在 \([a, +\infty)\) 上有上界,…

allergo导出位号图

1 选择ADB看一下 2 file export pdf

F5-TTS语音克隆汉化整合包1016

F5-TTS项目地址:https://github.com/SWivid/F5-TTS F5-TTS汉化整合包:https://pan.quark.cn/s/9754ae0cdbe4 F5-TTS在线demo: https://huggingface.co/spaces/mrfakename/E2-F5-TTSF5-TTS是由上海交通大学开源的一款基于流匹配的全非自回归文本到语音转换系统(Text-to-Speec…

rust学习一、入门之搭建简单开发环境

最近希望学习一些新的,选择了rust. 本篇介绍怎么搭建一个非常简单的windows开发环境,以及如何使用cargo 命令 1、搭建开发环境(windows11) a.登录官网 https://www.rust-lang.org/tools 一看就明白,此处略。 b.安装rustup 一看就明白,此处略。 c.安装 cargo script cargo …