Python 块流/丢包ryu控制器

Python 块流/丢包ryu控制器,python,ddos,sdn,openflow,ryu,Python,Ddos,Sdn,Openflow,Ryu,我正在尝试实现一种方法,该方法阻止特定的流,从而丢弃数据包。我将数据路径、源ip和目标ip传递给它。应用程序检测到流,但流继续工作,源发送数据,目标主机接收数据。我做错了什么 def drop_flow(self, datapath, ip_src, ip_dst): ofproto = datapath.ofproto parser = datapath.ofproto_parser match = parser.OFPMatch(ipv4_src=ip_src,

我正在尝试实现一种方法,该方法阻止特定的流,从而丢弃数据包。我将数据路径、源ip和目标ip传递给它。应用程序检测到流,但流继续工作,源发送数据,目标主机接收数据。我做错了什么

def drop_flow(self, datapath, ip_src, ip_dst):
    ofproto = datapath.ofproto
    parser = datapath.ofproto_parser

    match = parser.OFPMatch(ipv4_src=ip_src, 
                            ipv4_dst=ip_dst) 

    inst = [parser.OFPInstructionActions(ofproto.OFPIT_APPLY_ACTIONS, [])]
    mod = parser.OFPFlowMod(datapath=datapath,
                            command=ofproto.OFPFC_DELETE,
                            out_port=ofproto.OFPP_ANY,
                            out_group=ofproto.OFPG_ANY,
                            match=match, instructions=inst)  

    print "deleting flow entries in the table "
    datapath.send_msg(mod)

谢谢

也许你应该这样做:

mod = parser.OFPFlowMod(datapath=datapath,
                        out_port=ofproto.OFPP_ANY,
                        out_group=ofproto.OFPG_ANY,
                        match=match, instructions=inst)  
您发出的命令是删除流,并且您希望将其添加到交换机中,不是吗

希望有帮助