In this chapter, we presented sample network applications that utilized the OpenFlow and SDN controllers as a platform to perform networking applications. In particular, we started with a simple hub functionality over the POX controller and then we moved toward layer 2 learning switching functionality. By adding more logic to this learning switch, we demonstrated how easily we can perform packet inspection as it could be done in a simple firewall by extending the learning switch. Finally, we saw a simple packet forwarding Net App, which utilized the OpenDaylight SDN controller. In the next chapter, we will look at network virtualization and how to get a network slice.