# SDNFV Lab1 ## Part 1 ### 1. When ONOS activates “org.onosproject.openflow,” what are the APPs which it also activates? ![](https://i.imgur.com/OEmYPA7.png) After activating "org.onosproject.openflow", the APPs listed below were also activated. ``` * 5 org.onosproject.optical-model 2.2.0 Optical Network Model * 15 org.onosproject.lldpprovider 2.2.0 LLDP Link Provider * 59 org.onosproject.openflow-base 2.2.0 OpenFlow Base Provider * 60 org.onosproject.hostprovider 2.2.0 Host Location Provider * 66 org.onosproject.openflow 2.2.0 OpenFlow Provider Suite * 157 org.onosproject.fwd 2.2.0 Reactive Forwarding ``` ### 2. As topology in p.22, can H1 ping H2 successfully? Why or why not? ![](https://i.imgur.com/qtI3GM3.png) Without activating "Reactive Forward", H1 is not able to ping H2, since > Observe listening port there are no flows installed on the data-plane, which forward the traffic appropriately. ---[Basic ONOS Tutorial](https://wiki.onosproject.org/display/ONOS/Basic+ONOS+Tutorial#BasicONOSTutorial-StartMininet ) ### 3. Which TCP port the controller listens for the OpenFlow connection request from the switch? ![](https://i.imgur.com/26t2Ju6.png) Before deactivating openFlow (upper part of the screen shot), `netstat` shows there are two more listening port: 6633 and 6653. It turns out 6653/tcp is the port openFlow controller listening on for switches. The port 6633/tcp is used in ealier version of openFlow according to the site about *6653 port details* : https://www.speedguide.net/port.php?port=6653 > OpenFlow controllers listen for switches on port 6653/tcp (earlier versions used port 6633/tcp) ### 4. In question 3, which APP enables the controller to listen on the TCP port? *OpenFlow Base Provider* is the APP that enables the controller to listen on the TCP port. *OpenFlow* has three dependencies: 1. LLDP Link Provider 2. Host Location Provider 3. OpenFlow Base Provider The first two should have nothing to do with listening port. ## Part 2 ![](https://i.imgur.com/4WnRZmj.png) 1. Create and add three hosts by `addHost` 2. Create and add three switched by `addSwitch` 3. Connect the hosts and switches by `addLink` ## Part 3 ![](https://i.imgur.com/nVA6fZC.png) Mask 255.255.255.224 implies the network id is 27 bits. Besides the three steps described in part2, then assign IP address *192.168.0.\<host number\>* to the hosts. ![](https://i.imgur.com/9RFwOq3.png)