Software Defined Networking (SDN) is a logical approach to networking. The control plane is decoupled from hardware and given to a software application called a controller. A software based controller is responsible for managing the forwarding information of one or more switches/routers. In addition SDN allows implementation of vendor-independent control over the entire network from a centralized logical point, which may simplify the network complexity. These make SDN feasible to implement Policy Based Routing (PBR). Since the control plane is the central unit of SDN; studying the performance (behavior) of the control plane is vital. The purpose of this thesis is to study the performance of the control plane of SDN with different parameters as well as to implement PBR. Three different SDNs setups have been modeled and the performance (behavior) of the control plane studied on the first two SDNs and PBR was implemented and tested using the third SDN. The performance (behavior) of the controller was studied by measuring the CPU usage of the controller while packets arrive to the controller with constant arrival rate in different size. Moreover we calculated the utilization ratio of the controller from the measured value of the average service time of the controller and average inter-arrival time of packets. For all the scenarios we used, the utilization ratio increased exponentially when the arrival rate of packets increased. Similarly CPU utilization of the controller increased when packet sizes or/and the number of switches in the network increased. The value of utilization ratio indicates the level to what extent the controller is busy. On the other hand CPU utilization of the controller shows the efficiency of the controller in terms of total CPU time it uses while processing packets. The functionality of PBR was tested using three different traffic types (HTTP, SSH and ICMP) on the third SDN. The generated traffics passed through the network based on the policies set on the controller.