问题标签 [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.
openflow - Ryu 框架,parser.OFPMatch 中的 tcp_flags
我正在尝试通过使用 ryu 框架来匹配 openflow 兼容交换机(openflow 1.5)中的流。
据我所知,openflow 1.5 版支持“tcp_flags”匹配条件,Ryu 也支持。
因此,当我尝试编写如下代码时:
流表中什么都没有发生,而我期望会出现一个新的流条目。
入口数据包包含 tcp 标志的空值。
有谁知道,如何在 ryu 中编码这种情况?
谢谢。
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 之间的“输出端口”或“操作”发生了什么变化?
谢谢
ryu - 无法安装 RYU 控制器
我尝试安装 RYU 控制器。我正在使用下面的命令“sudo python setup.py install”,它的错误是下面的消息 ryu.hooks 不可用,当我运行命令“python setup.py install”时,它给出了 setuptools not available 的错误。
请尽快回复我们正在安装控制器。
-阿杰
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 获取数据包)提前谢谢您。
我的代码如下
先感谢您。
python - 如何告诉 SDN 交换机处理定向到他的数据包
我正在用 Ryu、openVswitch 和 OpenFlow 构建一个 SDN 网络。我遇到的问题是我的数据路径没有回答给他的消息,因为 table-miss 流条目告诉他淹没所有内容。这也发生在邻居请求的数据包中,因此主机永远不会收到邻居广告 e 不知道如何与数据路径对话。
我怎样才能告诉我的数据路径来回答这种消息?我正在尝试安装一个新的流条目,但我不知道哪个应该是正确的操作。
谢谢您的帮助
编辑:
我说的是来自 SDN 其他主机的通用数据包。控制器和数据路径之间的通信正常。问题是,例如,当数据路径接收到邻居请求时,它没有响应,而是向控制器发送了一个数据包。我需要知道如何让数据路径发送邻居广告。
controller - ryu 中的自定义控制器文件
我正在尝试创建一个自定义控制器文件,该文件基于 dpid 实例化 simple_switch_13.py 和 hub.py。在创建交换机或集线器时,我很难找到负责分配 dpid 的类。有人可以给我解决方案吗?
这是我写的代码
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文件:
tcp - 基于 tcp 端口 Ryu 控制器匹配 TCP 流
我正在尝试使用带有 RYU SDN 控制器的 tcp 源端口将 TCP 流重定向到特定服务器。这是我的拓扑(第一步很简单):
ovs1 的匹配规则:
但我收到以下错误:
关键是,如果我删除 tcp_src 选项,一切正常,这就是为什么我认为问题与我通过端口的方式有关。
有任何想法吗?
提前致谢!
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 和操作字段。