1

当我在 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 之间的“输出端口”或“操作”发生了什么变化?

谢谢

4

0 回答 0