问题标签 [ryu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
657 浏览

openflow - Ryu 框架,parser.OFPMatch 中的 tcp_flags

我正在尝试通过使用 ryu 框架来匹配 openflow 兼容交换机(openflow 1.5)中的流。

据我所知,openflow 1.5 版支持“tcp_flags”匹配条件,Ryu 也支持。

因此,当我尝试编写如下代码时:

流表中什么都没有发生,而我期望会出现一个新的流条目。

入口数据包包含 tcp 标志的空值。

有谁知道,如何在 ryu 中编码这种情况?

谢谢。

0 投票
0 回答
496 浏览

openflow - Ryu,openflow v1.5,OFPET_BAD_ACTION,OFPBAC_BAD_OUT_PORT 错误

当我在 mininet 环境中运行 simple_switch_14.py 应用程序时,主机的 ping 工作正常。

然后我更改以下代码字符串:

1)“从ryu.ofproto导入proto_v1_4”到“从ryu.ofproto导入proto_v1_5”

2)“OFP_VERSIONS = [ofproto_v1_4.OFP_VERSION]”到“OFP_VERSIONS = [ofproto_v1_5.OFP_VERSION]”

3) “out = parser.OFPPacketOut(datapath=datapath, buffer_id=msg.buffer_id, in_port=in_port, actions=actions, data=data)”到“out = parser.OFPPacketOut(datapath=datapath, buffer_id=msg.buffer_id,匹配=parser.OFPMatch(in_port=in_port),动作=动作,数据=数据)"

这意味着我正在尝试在 openflow 1.5 版本环境中运行此应用程序。

我收到以下错误:

事件 ofp_event->SimpleSwitch14 EventOFPPacketIn 数据包在 1 00:00:00:00:00:01 ff:ff:ff:ff:ff:ff 1 EventOFPErrorMsg 收到。版本=0x6,msg_type=0x1,msg_len=0x44,xid=0x703a0cc -- msg_type: OFPT_ERROR(1) OFPErrorMsg(type=0x2, code=0x4, data=b'\x06\x0d\x00\x38\x07\x03\xa0\xcc\x00\x00\x01\x00\x00\x10\x00\x00\x00\x01\x00\x16\x80\x00\x00\x04\x00\x00\x00\x01\x80\x00\x06\x06\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x10\xff\xff\xff\xfb\xff\xe5\x00\x00\x00\x00\x00\x00') |-- type: OFPET_BAD_ACTION(2) |-- code: OFPBAC_BAD_OUT_PORT(4) -- 数据:版本=0x6,msg_type=0xd,msg_len=0x38,xid=0x703a0cc `--msg_type:OFPT_PACKET_OUT(13)

所以,我想知道,为什么它会产生“输出端口错误”错误,openflow 协议的 v1.4 和 v1.5 之间的“输出端口”或“操作”发生了什么变化?

谢谢

0 投票
1 回答
759 浏览

ryu - 无法安装 RYU 控制器

我尝试安装 RYU 控制器。我正在使用下面的命令“sudo python setup.py install”,它的错误是下面的消息 ryu.hooks 不可用,当我运行命令“python setup.py install”时,它给出了 setuptools not available 的错误。

请尽快回复我们正在安装控制器。

-阿杰

0 投票
1 回答
1486 浏览

gateway - Ryu fakeGateway/Router

我正在尝试在 pox 中编写一个与此类似的假网关:在 mininet 中的 h1(10.1.1.2) 和 h2(10.1.4.2) 之间发送数据包

我的网关有两个接口,一个在 10.1.1.0/24(ip:10.1.1.1),一个在 10.1.4.0/24(ip:10.1.4.1)

我正在尝试使用 h1 从运行在 h2 上的 apache 网络服务器下载视频。

当我这样做时,h1 会发送一个 ARP 请求来查找谁拥有 10.1.1.1?我已经编写了一个函数来回复这些 arp 请求并且我的开关回答:00:00:00:00:00:01 (S1-eth0 mac)

现在 h1 将 src 为 10.1.1.2 的 TCP 数据包发送到 10.1.4.2,h2 接收它们但丢弃它们,因为 dst mac 是 00:00:00:00:00:01。我在我的代码中添加了一些东西来将 mac 更改为 00:00:00:00:00:02,但到目前为止它不起作用,并且根据 tcpdump,mac 保持 00:00:00:00:00:01。

有人可以告诉我我的推理是否错误吗?此外,我的代码有什么问题?如果有类似的工作示例,您可以给我一个链接吗?我找到了 ryu rest 路由器,但它不太容易修改,这就是我开始编写此代码的原因。

(您必须为 h1 和 h2 配置路由才能让 s1 获取数据包)提前谢谢您。

我的代码如下

先感谢您。

0 投票
2 回答
2063 浏览

icmp - OpenFlow - 如何处理 ICMP 消息

我正在运行一个 Ryu 控制器和一个带有 2 个主机和 1 个交换机的 Mininet 实例,如下所示。

H1---S---H2

Ryu 控制器中的代码

基本上交换机流表是空的。在这种情况下,当我h1 ping h2从我的 mininet 控制台运行并记录数据包交换时,这就是我从主机 h1 在wireshark 中得到的。

在此处输入图像描述

mininet 实例中没有路由器。我如何从发起 ping 的同一主机接收 ICMP 主机目标不可达消息?

0 投票
0 回答
288 浏览

python - 如何告诉 SDN 交换机处理定向到他的数据包

我正在用 Ryu、openVswitch 和 OpenFlow 构建一个 SDN 网络。我遇到的问题是我的数据路径没有回答给他的消息,因为 table-miss 流条目告诉他淹没所有内容。这也发生在邻居请求的数据包中,因此主机永远不会收到邻居广告 e 不知道如何与数据路径对话。

我怎样才能告诉我的数据路径来回答这种消息?我正在尝试安装一个新的流条目,但我不知道哪个应该是正确的操作。

谢谢您的帮助

编辑:
我说的是来自 SDN 其他主机的通用数据包。控制器和数据路径之间的通信正常。问题是,例如,当数据路径接收到邻居请求时,它没有响应,而是向控制器发送了一个数据包。我需要知道如何让数据路径发送邻居广告。

0 投票
0 回答
295 浏览

controller - ryu 中的自定义控制器文件

我正在尝试创建一个自定义控制器文件,该文件基于 dpid 实例化 simple_switch_13.py 和 hub.py。在创建交换机或集线器时,我很难找到负责分配 dpid 的类。有人可以给我解决方案吗?
这是我写的代码

0 投票
1 回答
537 浏览

sdn - Openvswitch 创建队列无法达到比特率限制

all:我是 SDN 新手,也是 stackoverflow 新手。

这是我的拓扑: 拓扑学 当我为 mytopo 设置队列时,我注意到当最大位低于 300000 时,iperf 值变得奇怪。无法达到最大比特率设置。

让 max-rate= ppp 设置顺序:

测试 ppp = 1000000,800000,600000,400000,300000,250000,200000。 结果在这里

有什么问题吗?还是ovs的限制?ovs-vswitchd --version ovs-vswitchd (Open vSwitch) 2.0.2 编译于 2015 年 12 月 9 日 14:08:11 OpenFlow 版本 0x1:0x1

迷你网python文件:

0 投票
1 回答
2138 浏览

tcp - 基于 tcp 端口 Ryu 控制器匹配 TCP 流

我正在尝试使用带有 RYU SDN 控制器的 tcp 源端口将 TCP 流重定向到特定服务器。这是我的拓扑(第一步很简单):

ovs1 的匹配规则:

但我收到以下错误

关键是,如果我删除 tcp_src 选项,一切正常,这就是为什么我认为问题与我通过端口的方式有关。

有任何想法吗?

提前致谢!

0 投票
1 回答
372 浏览

sdn - 从数据路径获取 OpenFlow 规则

在 Ryu 控制器中,对于选定的数据路径,如何从交换机获取 OpenFlow 规则?例如,对于以下规则:

cookie=0x0,持续时间=18575.528s,表=0,n_packets=1,n_bytes=98,优先级=1,ip,in_port=3,nw_dst=10.0.0.1 动作=输出:1

我想获得 nw_dst 和操作字段。