-
Notifications
You must be signed in to change notification settings - Fork 390
/
bgp_peer.sandesh
484 lines (420 loc) · 13.3 KB
/
bgp_peer.sandesh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
/*
* Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
*/
include "bgp/peer_info.sandesh"
include "db/db.sandesh"
include "io/io.sandesh"
struct address_family {
1: u32 afi; // address family identifier
2: u32 safi; // sub-address family
}
struct BgpPeerInfo {
1: string domain
2: string ip_address
3: optional string packet_data; // Packet data byte string
}
traceobject sandesh BgpPeerObjectTrace {
1: BgpPeerInfo peer;
}
request sandesh BgpNeighborReq {
1: string search_string;
}
struct BgpNeighborRoutingInstance {
1: string name;
2: string state;
3: u32 index;
4: list<string> import_targets;
}
struct BgpNeighborRoutingTable {
1: string name;
2: string current_state;
3: string current_request;
4: string pending_request;
}
struct BgpNeighborResp {
1: string peer (link="BgpNeighborReq"); // Peer name
36: bool deleted; // Deletion in progress
43: string deleted_at;
2: string peer_address (link="BgpNeighborReq");
25: string peer_id;
3: u32 peer_asn;
6: string encoding; // BGP/XMPP
7: string peer_type // internal/external
8: string state;
4: string local_address; // local ip address and port
26: string local_id;
5: u32 local_asn;
9: optional string send_state; // in sync/not in sync
10: optional string last_event;
11: optional string last_state;
12: optional string last_state_at;
13: optional string last_error;
44: optional string auth_type;
45: optional list<string> auth_keys;
38: optional list<string> configured_address_families;
39: optional list<string> negotiated_address_families;
40: optional u32 configured_hold_time;
41: u32 negotiated_hold_time;
46: u32 primary_path_count;
23: optional u32 flap_count;
24: optional string flap_time;
37: optional list<BgpNeighborRoutingInstance> routing_instances;
29: optional list<BgpNeighborRoutingTable> routing_tables;
30: optional peer_info.PeerProtoStats rx_proto_stats;
31: optional peer_info.PeerProtoStats tx_proto_stats;
32: optional peer_info.PeerUpdateStats rx_update_stats;
33: optional peer_info.PeerUpdateStats tx_update_stats;
34: optional peer_info.PeerSocketStats rx_socket_stats;
35: optional peer_info.PeerSocketStats tx_socket_stats;
42: optional peer_info.PeerRxErrorStats rx_error_stats;
}
response sandesh BgpNeighborListResp {
1: list<BgpNeighborResp> neighbors;
2: optional string next_batch (link="BgpNeighborReqIterate",
link_title="next_batch");
}
response sandesh ShowBgpNeighborSummaryResp {
1: list<BgpNeighborResp> neighbors;
2: optional string next_batch (link="ShowBgpNeighborSummaryReqIterate",
link_title="next_batch");
}
request sandesh ShowBgpNeighborSummaryReq {
1: string search_string;
}
struct ShowRoutePathBrief {
1: string protocol;
2: u32 local_preference;
3: string source;
4: string next_hop;
5: u32 label;
}
struct ShowRouteBrief {
1: string prefix;
2: list<ShowRoutePathBrief> paths;
}
struct ShowPmsiTunnel {
1: string type;
2: string ar_type;
3: string identifier;
4: u32 label;
5: list<string> flags;
}
struct ShowRoutePath {
1: string protocol;
3: string last_modified;
5: u32 local_preference;
6: u32 local_as;
7: u32 peer_as;
8: string peer_router_id; // neighbor neighbor route id
9: string source; // neighbor ip address
10: string as_path;
11: string next_hop;
18: list<string> tunnel_encap;
12: u32 label;
13: bool replicated;
14: string primary_table (link="ShowRouteReq");
15: list<string> communities;
16: string origin_vn;
20: list<string> origin_vn_path;
21: ShowPmsiTunnel pmsi_tunnel;
19: string sequence_no;
17: u32 flags;
}
struct ShowRoute {
1: string prefix;
2: string last_modified;
3: list<ShowRoutePath> paths;
}
struct ShowRouteTable {
1: string routing_instance (link="ShowRoutingInstanceReq");
2: string routing_table_name (link="ShowRouteReq");
9: bool deleted;
11: string deleted_at;
3: u64 prefixes;
4: u64 paths;
5: u64 primary_paths;
6: u64 secondary_paths;
7: u64 infeasible_paths;
8: list<ShowRoute> routes;
10: list<db.ShowTableListener> listeners;
}
response sandesh ShowRouteResp {
1: list<ShowRouteTable> tables;
2: optional string next_batch (link="ShowRouteReqIterate",
link_title="next_batch");
}
request sandesh ShowRouteReq {
// Show routes matching the fields below
1: string routing_table;
2: string routing_instance;
3: string prefix;
8: bool longer_match;
// Only return this number of results, capped by an internal default max
7: u32 count;
// Start at the route below
5: string start_routing_table;
4: string start_routing_instance;
6: string start_prefix;
}
struct ShowRouteTableSummary {
1: string name (link="ShowRouteReq");
3: u64 prefixes;
4: u64 paths;
5: u64 primary_paths;
6: u64 secondary_paths;
7: u64 infeasible_paths;
8: u64 walk_requests;
9: u64 walk_completes;
10: u64 walk_cancels;
11: u64 pending_updates;
12: u64 markers;
14: u64 listeners;
15: u64 walkers;
2: bool deleted;
13: string deleted_at;
}
response sandesh ShowRouteSummaryResp {
1: list<ShowRouteTableSummary> tables;
2: optional string next_batch (link="ShowRouteSummaryReqIterate",
link_title="next_batch");
}
request sandesh ShowRouteSummaryReq {
1: string search_string;
}
struct ShowRoutingInstanceTable {
1: string name (link="ShowRouteReq");
13: bool deleted;
2: list<string> peers;
3: u64 prefixes;
4: u64 paths;
5: u64 primary_paths;
6: u64 secondary_paths;
7: u64 infeasible_paths;
8: u64 walk_requests;
9: u64 walk_completes;
10: u64 walk_cancels;
11: u64 pending_updates;
12: u64 markers;
14: u64 listeners;
15: u64 walkers;
}
struct ShowRoutingInstance {
1: string name (link="ShowRoutingInstanceReq"); // Routing instance name
3: string virtual_network; // Virtual network
6: i32 vn_index; // Virtual network index
8: i32 vxlan_id; // VXLAN Identifier
4: list<string> import_target; // Import Route targets
5: list<string> export_target; // Export Route targets
7: bool deleted; // Deletion in progress
9: string deleted_at; // Delete timestamp
2: optional list<ShowRoutingInstanceTable> tables;
}
response sandesh ShowRoutingInstanceResp {
1: list<ShowRoutingInstance> instances;
2: optional string next_batch (link="ShowRoutingInstanceReqIterate",
link_title="next_batch");
}
request sandesh ShowRoutingInstanceReq {
1: string search_string;
}
response sandesh ShowRoutingInstanceSummaryResp {
1: list<ShowRoutingInstance> instances;
2: optional string next_batch (link="ShowRoutingInstanceSummaryReqIterate",
link_title="next_batch");
}
request sandesh ShowRoutingInstanceSummaryReq {
1: string search_string;
}
struct ShowRtGroupMemberTableList {
1: string family;
2: list<string> tables;
}
struct ShowRtGroupInfo {
1: string rtarget (link="ShowRtGroupReq");
2: list<ShowRtGroupMemberTableList> import_members;
3: list<ShowRtGroupMemberTableList> export_members;
4: optional list<string> peers_interested;
5: optional list<string> dep_route;
}
response sandesh ShowRtGroupResp {
1: list<ShowRtGroupInfo> rtgroup_list;
2: optional string next_batch (link="ShowRtGroupReqIterate",
link_title="next_batch");
}
request sandesh ShowRtGroupReq {
1: string search_string;
}
response sandesh ShowRtGroupSummaryResp {
1: list<ShowRtGroupInfo> rtgroup_list;
2: optional string next_batch (link="ShowRtGroupSummaryReqIterate",
link_title="next_batch");
}
request sandesh ShowRtGroupSummaryReq {
1: string search_string;
}
response sandesh ShowRtGroupPeerResp {
1: list<ShowRtGroupInfo> rtgroup_list;
2: optional string next_batch (link="ShowRtGroupPeerReqIterate",
link_title="next_batch");
}
request sandesh ShowRtGroupPeerReq {
1: string search_string;
}
struct ShowEvpnMcastLeaf {
1: string address;
2: string replicator;
}
struct ShowEvpnTable {
1: string name (link="ShowRouteReq");
2: u64 mac_routes;
3: u64 unique_mac_routes;
4: u64 im_routes;
5: bool deleted;
6: string deleted_at;
7: optional list<string> regular_nves;
8: optional list<string> ar_replicators;
9: optional list<ShowEvpnMcastLeaf> ar_leafs;
}
response sandesh ShowEvpnTableResp {
1: list<ShowEvpnTable> tables;
2: optional string next_batch (link="ShowEvpnTableReqIterate",
link_title="next_batch");
}
request sandesh ShowEvpnTableReq {
1: string search_string;
}
response sandesh ShowEvpnTableSummaryResp {
1: list<ShowEvpnTable> tables;
2: optional string next_batch (link="ShowEvpnTableSummaryReqIterate",
link_title="next_batch");
}
request sandesh ShowEvpnTableSummaryReq {
1: string search_string;
}
struct ShowMulticastManager {
1: string name (link="ShowMulticastManagerDetailReq");
2: u32 total_trees;
3: bool deleted;
4: string deleted_at;
}
response sandesh ShowMulticastManagerResp {
1: list<ShowMulticastManager> managers;
2: optional string next_batch (link="ShowMulticastManagerReqIterate",
link_title="next_batch");
}
request sandesh ShowMulticastManagerReq {
1: string search_string;
}
struct ShowMulticastTreeLink {
1: string address;
2: u32 label;
}
struct ShowMulticastForwarder {
1: string address;
2: string label_block;
3: u32 label;
5: string router_id;
4: list<ShowMulticastTreeLink> links;
}
struct ShowMulticastTree {
1: string group;
2: string source;
3: list<ShowMulticastForwarder> level0_forwarders;
4: list<ShowMulticastForwarder> level1_forwarders;
}
struct ShowBgpServiceChainConfig {
1: string routing_instance;
2: string chain_address;
3: list<string> prefixes;
4: string service_instance;
}
struct ShowBgpStaticRouteConfig {
1: string prefix;
2: list<string> targets;
3: string nexthop;
}
struct ShowBgpInstanceConfig {
1: string name;
2: string virtual_network;
7: i32 virtual_network_index;
8: i32 vxlan_id;
3: list<string> import_target;
4: list<string> export_target;
9: string last_change_at;
5: ShowBgpServiceChainConfig service_chain_info;
6: list<ShowBgpStaticRouteConfig> static_routes;
}
response sandesh ShowBgpInstanceConfigResp {
1: list<ShowBgpInstanceConfig> instances;
2: optional string next_batch (link="ShowBgpInstanceConfigReqIterate",
link_title="next_batch");
}
request sandesh ShowBgpInstanceConfigReq {
1: string search_string;
}
struct ShowBgpSessionAttributesConfig {
1: string bgp_router;
2: list<string> address_families;
}
struct ShowBgpSessionConfig {
1: string uuid;
2: list<ShowBgpSessionAttributesConfig> attributes;
}
struct ShowBgpPeeringConfig {
1: string instance_name;
2: string name;
3: u32 neighbor_count;
4: list<ShowBgpSessionConfig> sessions;
}
struct ShowBgpNeighborConfig {
1: string instance_name;
2: string name;
8: string local_identifier;
9: i32 local_as;
3: string vendor;
4: i32 autonomous_system;
5: string identifier;
6: string address;
10: string last_change_at;
11: optional string auth_type;
12: optional list<string> auth_keys;
7: list<string> address_families;
}
response sandesh ShowBgpNeighborConfigResp {
1: list<ShowBgpNeighborConfig> neighbors;
}
request sandesh ShowBgpNeighborConfigReq {
}
struct BgpPeerInfoData {
1: string name (key="ObjectBgpPeer"); // RoutingInstance:RemoteEnd:LocalEnd
2: optional bool deleted
3: optional string peer_type; // internal/external
20: optional string peer_address;
4: optional u32 local_asn;
5: optional u32 peer_asn;
6: optional u32 hold_time;
7: optional string notification_in;
8: optional u64 notification_in_at;
9: optional string notification_out;
10: optional u64 notification_out_at;
11: optional u32 local_id;
12: optional u32 peer_id;
13: optional string send_state; // in sync/not in sync
21: optional list<string> configured_families;
14: optional list<string> families;
22: optional list<string> negotiated_families;
15: optional peer_info.PeerFlapInfo flap_info;
16: optional peer_info.PeerStateInfo state_info;
17: optional peer_info.PeerEventInfo event_info;
18: optional string close_reason;
19: optional peer_info.PeerStatsInfo peer_stats_info;
}
uve sandesh BGPPeerInfo {
1: BgpPeerInfoData data;
}
request sandesh ShowBgpServerReq {
}
response sandesh ShowBgpServerResp {
1: io.SocketIOStats rx_socket_stats;
2: io.SocketIOStats tx_socket_stats;
}