mirror of
https://github.com/alice-lg/birdwatcher.git
synced 2025-03-09 00:00:05 +01:00
Add doc on interpretation of route count numbers
We hope to clarify with the given examples the semantics of route counts.
This commit is contained in:
parent
8a69b5ba98
commit
e8cb296397
1 changed files with 161 additions and 0 deletions
161
docs/semantics_birdc_output.md
Normal file
161
docs/semantics_birdc_output.md
Normal file
|
@ -0,0 +1,161 @@
|
|||
## Semantics of birdc output
|
||||
|
||||
### Command `show protocols all`
|
||||
|
||||
Output is generated in `/nest/proto.c` (BIRD sourcecode).
|
||||
|
||||
#### BGP protocol example (DE-CIX)
|
||||
|
||||
In `/nest/proto.c:1476` method `proto_show_stats()` displays information from the statistics struct. All values originate from individual fields in the struct, there is no
|
||||
redundant storage of information in Bird.
|
||||
|
||||
`birdc show protocols all`
|
||||
```
|
||||
R194_129 BGP T1241_nada_ripe up 2018-06-21 17:42:44 Established
|
||||
Description: Nada & Co.
|
||||
Preference: 100
|
||||
Input filter: (unnamed)
|
||||
Output filter: (unnamed)
|
||||
Import limit: 200000
|
||||
Action: disable
|
||||
Routes: 161 imported, 0 filtered, 164282 exported, 123189 preferred
|
||||
Route change stats: received rejected filtered ignored accepted
|
||||
Import updates: 161 0 0 0 161
|
||||
Import withdraws: 0 0 --- 0 0
|
||||
Export updates: 226412 322 21 --- 226069
|
||||
Export withdraws: 67 --- --- --- 67
|
||||
BGP state: Established
|
||||
Neighbor address: 172.31.194.129
|
||||
Neighbor AS: 1241
|
||||
Neighbor ID: 172.31.194.129
|
||||
Neighbor caps: refresh enhanced-refresh AS4
|
||||
Session: external route-server AS4
|
||||
Source address: 172.31.192.157
|
||||
Route limit: 161/200000
|
||||
Hold timer: 118/180
|
||||
Keepalive timer: 33/60
|
||||
```
|
||||
The meaning of the corresponding fields to values of the birdc output is evident
|
||||
from the comments after the declarations in `/nest/protocol.h`
|
||||
```
|
||||
/* Protocol statistics */
|
||||
struct proto_stats {
|
||||
/* Import - from protocol to core */
|
||||
u32 imp_routes; /* Number of routes successfully imported to the (adjacent) routing table */
|
||||
u32 filt_routes; /* Number of routes rejected in import filter but kept in the routing table */
|
||||
u32 pref_routes; /* Number of routes that are preferred, sum over all routing tables */
|
||||
u32 imp_updates_received; /* Number of route updates received */
|
||||
u32 imp_updates_invalid; /* Number of route updates rejected as invalid */
|
||||
u32 imp_updates_filtered; /* Number of route updates rejected by filters */
|
||||
u32 imp_updates_ignored; /* Number of route updates rejected as already in route table */
|
||||
u32 imp_updates_accepted; /* Number of route updates accepted and imported */
|
||||
u32 imp_withdraws_received; /* Number of route withdraws received */
|
||||
u32 imp_withdraws_invalid; /* Number of route withdraws rejected as invalid */
|
||||
u32 imp_withdraws_ignored; /* Number of route withdraws rejected as already not in route table */
|
||||
u32 imp_withdraws_accepted; /* Number of route withdraws accepted and processed */
|
||||
|
||||
/* Export - from core to protocol */
|
||||
u32 exp_routes; /* Number of routes successfully exported to the protocol */
|
||||
u32 exp_updates_received; /* Number of route updates received */
|
||||
u32 exp_updates_rejected; /* Number of route updates rejected by protocol */
|
||||
u32 exp_updates_filtered; /* Number of route updates rejected by filters */
|
||||
u32 exp_updates_accepted; /* Number of route updates accepted and exported */
|
||||
u32 exp_withdraws_received; /* Number of route withdraws received */
|
||||
u32 exp_withdraws_accepted; /* Number of route withdraws accepted and processed */
|
||||
};
|
||||
```
|
||||
|
||||
What does the number in `Route limit: %d/%d` mean?
|
||||
The first number is `stats.imp_routes + stats.filt_routes`, the second is the limit. In the protocol output `stats.imp_routes` is Routes %d imported and `stats.filt_routes` is Routes %d filtered.
|
||||
|
||||
The complete protocols of one example neighbor that has multiple routers.
|
||||
```
|
||||
M1241_nada_ripe Pipe master up 2018-06-21 17:39:31 => T1241_nada_ripe
|
||||
Description: Nada & Co.
|
||||
Preference: 70
|
||||
Input filter: in_nada_ripe
|
||||
Output filter: (unnamed)
|
||||
Routes: 455 imported, 281241 exported
|
||||
Route change stats: received rejected filtered ignored accepted
|
||||
Import updates: 329913 329425 33 0 455
|
||||
Import withdraws: 1249 0 --- 0 0
|
||||
Export updates: 486963 455 157083 0 329425
|
||||
Export withdraws: 1249 0 --- 0 1249
|
||||
|
||||
C1241_nada_ripe Pipe Collector up 2018-06-21 17:39:31 => T1241_nada_ripe
|
||||
Description: Nada & Co.
|
||||
Preference: 70
|
||||
Input filter: in_nada_ripe
|
||||
Output filter: REJECT
|
||||
Routes: 455 imported, 0 exported
|
||||
Route change stats: received rejected filtered ignored accepted
|
||||
Import updates: 329913 0 329458 0 455
|
||||
Import withdraws: 1249 0 --- 0 0
|
||||
Export updates: 440307 455 439852 0 0
|
||||
Export withdraws: 1252 0 --- 1252 0
|
||||
|
||||
R194_129 BGP T1241_nada_ripe up 2018-06-21 17:42:44 Established
|
||||
Description: Nada & Co.
|
||||
Preference: 100
|
||||
Input filter: (unnamed)
|
||||
Output filter: (unnamed)
|
||||
Import limit: 200000
|
||||
Action: disable
|
||||
Routes: 161 imported, 0 filtered, 164282 exported, 123189 preferred
|
||||
Route change stats: received rejected filtered ignored accepted
|
||||
Import updates: 161 0 0 0 161
|
||||
Import withdraws: 0 0 --- 0 0
|
||||
Export updates: 226412 322 21 --- 226069
|
||||
Export withdraws: 67 --- --- --- 67
|
||||
BGP state: Established
|
||||
Neighbor address: 172.31.194.129
|
||||
Neighbor AS: 1241
|
||||
Neighbor ID: 172.31.194.129
|
||||
Neighbor caps: refresh enhanced-refresh AS4
|
||||
Session: external route-server AS4
|
||||
Source address: 172.31.192.157
|
||||
Route limit: 161/200000
|
||||
Hold timer: 118/180
|
||||
Keepalive timer: 33/60
|
||||
|
||||
R195_130 BGP T1241_nada_ripe start 2018-06-21 17:39:31 Passive
|
||||
Description: Nada & Co.
|
||||
Preference: 100
|
||||
Input filter: (unnamed)
|
||||
Output filter: (unnamed)
|
||||
Import limit: 200000
|
||||
Action: disable
|
||||
Routes: 0 imported, 0 filtered, 0 exported, 0 preferred
|
||||
Route change stats: received rejected filtered ignored accepted
|
||||
Import updates: 0 0 0 0 0
|
||||
Import withdraws: 0 0 --- 0 0
|
||||
Export updates: 0 0 0 --- 0
|
||||
Export withdraws: 0 --- --- --- 0
|
||||
BGP state: Passive
|
||||
Neighbor address: 172.31.195.130
|
||||
Neighbor AS: 1241
|
||||
|
||||
R193_231 BGP T1241_nada_ripe up 2018-06-21 17:50:04 Established
|
||||
Description: Nada & Co.
|
||||
Preference: 100
|
||||
Input filter: (unnamed)
|
||||
Output filter: (unnamed)
|
||||
Import limit: 200000
|
||||
Action: disable
|
||||
Routes: 158 imported, 0 filtered, 164091 exported, 8291 preferred
|
||||
Route change stats: received rejected filtered ignored accepted
|
||||
Import updates: 158 0 0 0 158
|
||||
Import withdraws: 0 0 --- 0 0
|
||||
Export updates: 220336 20 172 --- 220144
|
||||
Export withdraws: 67 --- --- --- 67
|
||||
BGP state: Established
|
||||
Neighbor address: 172.31.193.231
|
||||
Neighbor AS: 1241
|
||||
Neighbor ID: 172.31.193.231
|
||||
Neighbor caps: refresh enhanced-refresh AS4
|
||||
Session: external route-server AS4
|
||||
Source address: 172.31.192.157
|
||||
Route limit: 158/200000
|
||||
Hold timer: 143/180
|
||||
Keepalive timer: 33/60
|
||||
```
|
Loading…
Add table
Reference in a new issue