# SDNFV Lab1
## Part 1
### 1. When ONOS activates “org.onosproject.openflow,” what are the APPs which it also activates?

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?

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?

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

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

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.
