First, I think it helps to set the baseline for the general process of how BGP routes are processed, this is true for all vendors.
There are 3 main components:
- ADJ-RIB-IN: This is the table where all received routes from a specific neighbor are stored prior to policy processing and BGP path selection.
- LOCAL-RIB: AKA the global routing table. Routes stored here are the result of import policy processing and BGP path selection.
- ADJ-RIB-OUT: This is the table where all of the best path selected BGP routes destined for a particular neighbor are processed against any export policies and are going to be advertised.
On Junos:
show route receive-protocol bgp A.B.C.D
looks at ADJ-RIB-IN
show route
looks at the LOCAL-RIB (i.e. routing table)
show route advertising-protocol bgp A.B.C.D
looks at ADJ-RIB-OUT
Now that we have that reference, on to your specific questions.
What is the difference beetween "destinations", "routes" and "active", "holddown", "hidden" ?
The line of output you're referring to is the status of the LOCAL-RIB/Routing Table (inet.0).
jhead@R1> show route receive-protocol bgp 192.168.1.1
inet.0: 887870 destinations, 6884733 routes (887867 active, 1 holddown, 3 hidden)
The above example basically says that currently in inet.0 (the global routing table) has X number of routes in each status.
- Destinations refer to the number of unique destination prefixes.
- Routes refer to the number of total routes to those prefixes, it
factors in multiple routes to the same destination.
- Active refers to
the number of resolved destinations.
- Holddown
refers to the number of routes that are pending (i.e. not yet
inactive).
- Hidden refers to the fact that the route cannot be
resolved for some reason. That could be due to policy or because it can't reach the next-hop associated with the route.
What your example doesn't show is actual received routes, so I'll extend to the example from above:
jhead@R1> show route receive-protocol bgp 192.168.1.1
inet.0: 887869 destinations, 6884721 routes (887866 active, 1 holddown, 3 hidden)
Prefix Nexthop MED Lclpref AS path
1.0.0.0/24 74.40.0.147 0 80 13335 I
74.40.0.226 0 80 13335 I
1.0.4.0/22 74.40.0.60 0 80 6939 4826 38803 I
74.40.0.26 0 80 6939 4826 38803 I
1.0.4.0/24 74.40.0.60 0 80 6939 4826 38803 I
74.40.0.26 0 80 6939 4826 38803 I
Which prefixes are put into the GRT and which one are shared in iBGP (full mesh or RR) ?
Remember, this is the ADJ-RIB-IN, so it shows routes prior to policy processing and BGP best path selection. You need to run show route
to see what is installed in the routing table.
The show route advertising-protocol bgp A.B.C.D
can show you what is advertised to a particular neighbor. The neighbor you run this command for will factor in whether it's IBGP (RR, etc.) or EBGP.
Same question for the BGP summary command :
Here's a partial example that points to the variables you're asking about:
jhead@R1> show bgp summary
Threading mode: BGP I/O
Default eBGP mode: advertise - accept, receive - accept
Groups: 7 Peers: 15 Down peers: 4
<...snip...>
- Groups refer to the number of BGP groups that are configured (
set protocols bgp group ABC ...
)
- Peers refer to the total number of BGP peers on the router, regardless of status.
- Down peers refer to the number of BGP peers that are down out of total number of peers.