In network routing, the control plane is the part of the router architecture that is concerned with establishing the network topology, or the information in a routing table that defines what to do with incoming packets.
Depending on the specific router implementation, there may be a separate forwarding information base that is populated by the control plane, but used by the high-speed forwarding plane to look up packets and decide how to handle them.
The distinction has proven useful in the networking field where it originated, as it separates the concerns: the data plane is optimized for speed of processing, and for simplicity and regularity.
"Main" refers to the table that holds the unicast routes that are active.
In some cases, there may be multiple routes of equal "quality", and the router may install all of them and load-share across them.
Routers usually can route traffic faster than they can examine it and compare it to filters, so, if the criterion for discarding is the packet's destination address, "blackholing" the traffic will be more efficient than explicit filters.
Other software defined interfaces that are treated as directly connected, as long as they are active, are interfaces associated with tunneling protocols such as Generic Routing Encapsulation (GRE) or Multiprotocol Label Switching (MPLS).
The next-hop address could also be on a subnet that is directly connected, and, before the router can determine if the static route is usable, it must do a recursive lookup of the next hop address in the local routing table.
Implementers generally have a numerical preference, which Cisco calls an "administrative distance", for route selection.
Cisco's IOS[8] implementation makes exterior BGP the most preferred source of dynamic routing information, while Nortel RS[9] makes intra-area OSPF most preferred.