Software Defined Networks (SDN) is a networking approach that decouples the intelligent control plane from networking devices and establishes a separate entity called "controller" that rule the behaviour of the data plane on physical networking devices. Due to the rapid evolution and growth of SDN controllers in the market, this paper aims to present an extensive study on performance and scalability of different open source SDN controllers available in the existing literature. This work covers previous studies and expands them with updated information and official benchmarking methodologies. The study provides a framework based on the standards recommended by the IETF (Internet Engineering Task Force) and it will serve as a guideline to the SDN community to benchmark different SDN controllers.