CEF does the switching of the packet based on the routing table which is being populated by the routing protocols such as EIGRP, RIP, Open Shortest Path First (OSPF), and so forth. CEF does the load-balancing once the routing protocol table has been calculated. For more details on load balancing, refer to How does load-balancing work?