## 3 SDN-IP Overview  
SDN-IP is an application developed to implement routing between SDN and legacy networks [22]. It enables communication over a multi-autonomous system (multi-AS) within the SDN and legacy networks. Figure 1 depicts the overall architecture of ONOS/SDN-IP implementation [23]. The architecture supports the multiple instances in the distributed cluster of BGP speakers, SDN-IPs, and ONOS for robust operation and load balancing. SDN-IP is implemented as an API over ONOS, a robust and distributed network control plane operating system developed for carrier-grade SDN implementation in the ISP/Telcos networks. SDN-IP transforms BGP peering sessions between BGP speaker and external gateway routers into intents to establish point-to-point and multi-point-to-multi/single-point communications. Single-point-to-single-point intents are used to establish peering between BGP speaker and external gateway routers via two attachment points containing details about attached switch ports, data-path identification (DPID), and MAC addresses of the attached BGP speaker and external gateway routers [24]. ONOS then translates those intents into a forwarding rule to be deployed over SDN switches [25]. Operational flexibility, compatibility, scalability, high availability, and vendor neutrality are the major features of SDN-IP [23]. SDN-IP enables service providers to conduct the greenfield deployment of SDN in an AS, and communicates with legacy networks. Additionally, it treats the SDN network as an autonomous transit network so that multiple legacy networks attached to the SDN network can communicate with each other by translating BGP routes into ONOS application intent requests, while ONOS translates those intent requests into forwarding rules to deploy to the data plane devices to establish communication with external networks. The fair communication mechanisms developed between SDN switches and the legacy routers in the hybrid network enables the gradual migration of the legacy network into SDN. The network under migration as a whole becomes a hybrid network so that normal traffic and control traffic load balancing as well as failure handling during the migration have to be carefully designed. ONOS considers multiple instances, having its flexibility and scalability features in the distributed clustered environment, allowing multiple instances of SDN-IP and BGP speakers to consider efficient traffic load management. Increasing the number of SDN data plane devices during incremental deployment increases the control traffic between the controller and the SDN switches. Additionally, when attached with SDN switches, the legacy BGP routers reroute the BGP routing traffic to the SDN BGP speaker. During the migration, at some points, increasing SDN switches will increase internal BGP (iBGP) peers, leading to higher control traffic to the BGP speaker, which ultimately increases the intent calculation and flow-rule processing load of ONOS. From Table 1, it seems that ONOS/SDN-IP implementation in ISP network migration comes to reality. So, we can plan for smooth migration of legacy networks into SoDIP6 networks with the consideration of controller placement and traffic engineering. Hence, in this article, we consider shortest-path routers migration and identify the best location for controller placement with its instance  
Figure 1: Architectural overview of Open Network Operating System (ONOS)/SDN-IP implementation. creation for control traffic load balancing through the selection of median point router by implementing the ONOS/SDN-IP platform for network migration. The controller is the heart of the SDN, in which propagation delay, controller and switch latency, resiliency, and quality of service are the major and most sensitive parameters to be considered to have minimum flow setup time in SDN. The number of controllers required to be assigned to switches and their proper placement in SDN play an important role in achieving considerable flow setup time with better fault handling and effective controller load balancing [26].