What is the difference between default route, partial and full routing table for a BGP session? Does it affect the routes bird (or another BGP client connected to the session) sees?
BGP Routing – Difference Between Default Route, Partial and Full Routing Table
bgp
Best Answer
A default route is the route that will be used if there's no other route that matches the destination in the router's forwarding table.
A full routing table is a table which contain all the routes the BGP neighbor is aware of.
A partial table is a table filtered (with route map, community...) so that only some specific routes are exchanged.
If you are connected to the Internet through a single ISP, a default route is enough, since there's only one possible path, so there's no point in having 500,000 routes in memory that all point to the same next-hop.
If you are connected through several ISPs with BGP and want to always use the "best" path, then a full routing table makes sense. In this case the default route will (almost) never be used since the router knows every possible destination with a specific route.
However a full routing table take some memory and also more CPU power (and time) to perform a lookup for each destination among the 500,000 known routes.
When the vast majority of your traffic will take one path and only some specific destinations will take another path, a partial table is more efficient.