Consider the implementation of Dijkstra's algorithm in an SDN framework. Which of the following statements are true? (Hint: more than one statement is true.) a When executing, Dijkstra's algorithm will run as a network control application "on top on the SDN controller. b If a router's forwarding table should be changed as a result of running Dijkstra's algorithm, the new flow table for that router will be updated by the SDN controller via the southbound API using the Openflow protocol.
c When executing, Dijkstra's algorithm will need to send messages to all of the routers to gather their link costs.
d If a router's forwarding table should be changed as a result of running Dijkstra's algorithm, the implementation of Dijkstra's algorithm will determine the routers needing updated flow tables, and send the new flow tables to them directly using the OSPF protocol. e When executing, Dijkstra's algorithm will execute within the operating system of the SDN controller f When executing, Dijkstra's algorithm will use the link-state database that is maintained within the SDN controller.