شرح SDN + RYU controller + Mininet simple_switch_13.py Video 1 Using Ubuntu20.04 عربي HD
Steps clean old topogies add Mininet topology set switches as 1.3 protocol run controller https://drive.google.com/file/d/1sALzmMklkUtOWfilAeMH4gfX2F-ubzQT/view?usp=sharing Modified lines in the code are self.logger.info("
Before Send mod %s", mod) self.logger.info("
msg %s", msg) self.logger.info("
Before Send out %s", out) mininet topo built in sudo mn --controller=remote,ip=127.0.0.1 --switch=ovsk,protocols=OpenFlow13 --topo=minimal sudo mn --controller=remote,ip=127.0.0.1 --switch=ovsk,protocols=OpenFlow13 --topo=minimal --mac sudo mn --controller=remote,ip=127.0.0.1 --switch=ovsk,protocols=OpenFlow13 --topo=linear,5 sudo mn --controller=remote,ip=127.0.0.1 --switch=ovsk,protocols=OpenFlow13 --topo=tree,fanout=3,depth=2 sudo mn --controller=remote,ip=127.0.0.1 --switch=ovsk,protocols=OpenFlow13 --custom=/home/ubuntu/sdn/mininet/custom/topo-2sw-2host.py --mac sudo python3 python_topo01.py ------------------------------------- sudo git clone https://github.com/faucetsdn/ryu Chapter 2. Switching Hub ryu/app/example_switch_13.py class ExampleSwitch13(app_manager.RyuApp): OFP_VERSIONS = [ofproto_v1_3.OFP_VERSION] def __init__(self, *args, **kwargs): super(ExampleSwitch13, self).__init__(*args, **kwargs) # initialize mac address table. self.mac_to_port = {} sudo fuser -k 6633/tcp #kill any sdn controllers on port 6633 sudo mn-c sudo mn --topo single,3 --mac --switch ovsk --controller remote sudo ovs-vsctl show sudo ovs-dpctl show sudo ovs-vsctl set Bridge s1 protocols=OpenFlow13 sudo ovs-ofctl --help sudo ovs-ofctl -O OpenFlow13 dump-flows s1 sudo ovs-ofctl -O OpenFlow13 del-flows s1 ryu-manager --verbose ryu.app.example_switch_13 clear && ryu-manager --verbose ryu/app/simple_switch_13.py ------------------------------------------------------------ CHAPTER THREE TRAFFIC MONITOR The traffic monitor function has been implemented in the SimpleMonitor13 class which inherited SimpleSwitch13, ryu.app.simple_monitor_13 class SimpleMonitor13(simple_switch_13.SimpleSwitch13): def __init__(self, *args, **kwargs): super(SimpleMonitor13, self).__init__(*args, **kwargs) self.datapaths = {} self.monitor_thread = hub.spawn(self._monitor) ryu.app.example_switch_13 class ExampleSwitch13(app_manager.RyuApp): OFP_VERSIONS = [ofproto_v1_3.OFP_VERSION] def __init__(self, *args, **kwargs): super(ExampleSwitch13, self).__init__(*args, **kwargs) # initialize mac address table. sudo fuser -k 6653/tcp #kill any sdn controllers on port 6653 sudo mn -c sudo python /home/ubuntu/mininet_topo/custom002.py sudo ovs-vsctl show sudo ovs-dpctl show sudo ovs-vsctl set Bridge s1 protocols=OpenFlow13 && sudo ovs-vsctl set Bridge s2 protocols=OpenFlow13 sudo ovs-ofctl -O OpenFlow13 dump-flows s1 ryu-manager --verbose ryu.app.simple_monitor_13 ------------------------------------ Chapter 4 Executing REST API Added Switching Hub sudo fuser -k 6633/tcp #kill any sdn controllers on port 6633 sudo mn -c sudo python /home/ubuntu/mininet_topo/
Похожие видео
Показать еще