2019 SDN上机第5次作业
1.浏览RYU官网学习RYU控制器的安装和RYU开发入门教程,提交你对于教程代码的理解,包括但不限于: 描述官方教程实现了一个什么样的交换机功能? 该应用程序使用OFPP_FLOOD标志来指示应在所有端口上发送数据包。 控制器设定交换机支持什么版本的OpenFlow? OFP_VERSIONS = [ofproto_v1_0.OFP_VERSION] OpenFlow v1.0 控制器设定了交换机如何处理数据包? @set_ev_cls(ofp_event.EventOFPPacketIn, MAIN_DISPATCHER)#修饰器,告诉Ryu什么时候调用修饰的函数,用“ MAIN_DISPATCHER”作为第二个参数表示仅在协商完成后才调用此函数。 #当Ryu收到OpenFlow packet_in消息时,将调用此方法 def packet_in_handler(self, ev): msg = ev.msg#packet_in数据结构的对象 dp = msg.datapath#数据路径的对象 ofp = dp.ofproto ofp_parser = dp.ofproto_parser #dp.ofproto和dp.ofproto_parser是代表Ryu和交换机协商的OpenFlow协议的对象。 actions = [ofp_parser.OFPActionOutput