使用 Ryu 将流条目添加到流 table
Add a flow entry to flow table using Ryu
我正在使用 scapy 生成 proto=150
流量 tool.I 想要添加一个流 table 条目,以便交换机始终将此 pkt 发送到控制器。
我正在使用带有 proto 150 的 scapy 生成 IP 流量:
S=IP(proto=150,dst='10.0.0.2',len=100)
我正在 ryu 控制器中编辑 simple_switch.py
应用程序。
我正在尝试在此应用程序的开头添加条目 Table Miss flow entry 但是当我检查 flow table 时,我只能看到 Table miss flow entry 但是没有我想在这里添加的其他条目。
我在做什么:
// This is proto 150 which i want always to be sent to controller
match = parser.OFPMatch(ip_proto=150)
actions = [parser.OFPActionOutput(ofproto.OFPP_CONTROLLER)]
self.add_flow(datapath, 2, match, actions)
//This is Table miss flow entry
match = parser.OFPMatch()
actions = [parser.OFPActionOutput(ofproto.OFPP_CONTROLLER, ofproto.OFPCML_NO_BUFFER)]
self.add_flow(datapath, 0, match, actions)
我没有收到任何错误,我觉得 Match(ip_proto=150)
有问题。
请帮助我如何始终将 proto 150 发送到控制器。
非常感谢。
我希望我清楚如果不清楚请告诉我。
您需要在流程中添加 eth_type 匹配项。匹配 Eth_type 是匹配 Openflow Spec 中的 ip_proto 的先决条件。 (参考规范第 51 页 https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-spec-v1.3.1.pdf)
我正在使用 scapy 生成 proto=150
流量 tool.I 想要添加一个流 table 条目,以便交换机始终将此 pkt 发送到控制器。
我正在使用带有 proto 150 的 scapy 生成 IP 流量:
S=IP(proto=150,dst='10.0.0.2',len=100)
我正在 ryu 控制器中编辑 simple_switch.py
应用程序。
我正在尝试在此应用程序的开头添加条目 Table Miss flow entry 但是当我检查 flow table 时,我只能看到 Table miss flow entry 但是没有我想在这里添加的其他条目。
我在做什么:
// This is proto 150 which i want always to be sent to controller
match = parser.OFPMatch(ip_proto=150)
actions = [parser.OFPActionOutput(ofproto.OFPP_CONTROLLER)]
self.add_flow(datapath, 2, match, actions)
//This is Table miss flow entry
match = parser.OFPMatch()
actions = [parser.OFPActionOutput(ofproto.OFPP_CONTROLLER, ofproto.OFPCML_NO_BUFFER)]
self.add_flow(datapath, 0, match, actions)
我没有收到任何错误,我觉得 Match(ip_proto=150)
有问题。
请帮助我如何始终将 proto 150 发送到控制器。
非常感谢。
我希望我清楚如果不清楚请告诉我。
您需要在流程中添加 eth_type 匹配项。匹配 Eth_type 是匹配 Openflow Spec 中的 ip_proto 的先决条件。 (参考规范第 51 页 https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-spec-v1.3.1.pdf)