【问题标题】:Add a flow entry to flow table using Ryu使用 Ryu 将流条目添加到流表
【发布时间】:2017-03-22 17:04:48
【问题描述】:

我正在使用 scapy 工具生成 proto=150 流量。我想添加一个流表条目,以便交换机始终将此 pkt 发送到控制器。

我正在使用带有 proto 150 的 scapy 生成 IP 流量:

S=IP(proto=150,dst='10.0.0.2',len=100)

我正在 ryu 控制器中编辑 simple_switch.py 应用程序。

我正在尝试在此应用程序的开头添加带有 Table Miss 流条目的条目,但是当我检查流表时,我只能看到 Table Miss 流条目,但没有我要在此处添加的其他条目。

我在做什么:

// 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 发送到控制器。

非常感谢。

希望我清楚,如果不清楚,请告诉我。

【问题讨论】:

    标签: python sdn ryu


    【解决方案1】:

    您需要在 flow 中添加 eth_type 匹配。匹配 Eth_type 是匹配 Openflow Spec 中的 ip_proto 的先决条件。 (参考规范https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-spec-v1.3.1.pdf第51页)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-15
      • 2012-10-18
      • 2016-03-05
      • 1970-01-01
      • 2017-10-08
      • 2023-01-23
      • 2017-04-18
      相关资源
      最近更新 更多