SDN第五次上机作业

实验任务

使用 tcpdump 验证Hub模块

L2_learning模块代码,画出程序流程图.

tcpdump 验证Switch模块

进阶任务

代码如下

from pox.core import core
import pox.openflow.libopenflow_01 as of
from pox.openflow.of_json import *

def _handle_ConnectionUp(event):
    msg = of.ofp_flow_mod()
    msg.priority = 1
    msg.match.in_port = 1
    msg.actions.append(of.ofp_action_output(port=2))
    msg.actions.append(of.ofp_action_output(port=3))
    event.connection.send(msg)

    msg = of.ofp_flow_mod()
    msg.priority = 1
    msg.match.in_port = 2
    msg.actions.append(of.ofp_action_output(port=1))
    msg.actions.append(of.ofp_action_output(port=3))
    event.connection.send(msg)

    msg = of.ofp_flow_mod()
    msg.priority = 1
    msg.match.in_port = 3
    msg.actions.append(of.ofp_action_output(port=1))
    msg.actions.append(of.ofp_action_output(port=2))
    event.connection.send(msg)


def launch():
    core.openflow.addListenerByName("ConnectionUp", _handle_ConnectionUp)

个人心得

本次作业算是做的时间最长的一次,原因是因为我之前安装的pox控制器好像有问题,自定义组件的时候,执行总是无法找到模块,我一直以为是我代码的问题。经过长时间探索,感觉应该没什么问题,后来借用同学的环境,用我的代码跑了一遍,没问题。再次感觉到了计算机是玄学的问题。

posted @ 2021-10-10 14:27  如梦的少年丶  阅读(108)  评论(0编辑  收藏  举报