forked from CiscoDevNet/ydk-go
-
Notifications
You must be signed in to change notification settings - Fork 0
/
cisco_bgp4_mib.go
1484 lines (1240 loc) · 90.5 KB
/
cisco_bgp4_mib.go
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
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// An extension to the IETF BGP4 MIB module defined in
// RFC 1657.
//
// Following is the terminology associated with Border
// Gateway Protocol(BGP).
//
// UPDATE message
// UPDATE messages are used to transfer routing
// information between BGP peers. An UPDATE message
// is used to advertise a single feasible route to a
// peer, or to withdraw multiple unfeasible routes
// from service.
//
// Adj-RIBs-In
// The Adj-RIBs-In store routing information that has
// been learned from inbound UPDATE messages. Their
// contents represent routes that are available as an
// input to the Decision Process.
//
// Loc-RIB(BGP table)
// The Loc-RIB contains the local routing information
// that the BGP speaker has selected by applying its
// local policies to the routing information contained
// in its Adj-RIBs-In.
//
// Adj-RIBs-Out
// The Adj-RIBs-Out store the information that the
// local BGP speaker has selected for advertisement to
// its peers. The routing information stored in the
// Adj-RIBs-Out will be carried in the local BGP
// speaker's UPDATE messages and advertised to its
// peers.
//
// Path Attributes
// A variable length sequence of path attributes is
// present in every UPDATE. Each path attribute is a
// triple <attribute type, attribute length,
// attribute value> of variable length.
//
// Network Layer Reachability Information(NLRI)
// A variable length field present in UPDATE messages
// which contains a list of Network Layer address
// prefixes.
//
// Address Family Identifier(AFI)
// Primary identifier to indicate the type of the
// Network Layer Reachability Information(NLRI) being
// carried.
//
// Subsequent Address Family Identifier(SAFI)
// Secondary identifier to indicate the type of the
// Network Layer Reachability Information(NLRI) being
// carried.
package cisco_bgp4_mib
import (
"fmt"
"github.com/CiscoDevNet/ydk-go/ydk"
"github.com/CiscoDevNet/ydk-go/ydk/types"
"github.com/CiscoDevNet/ydk-go/ydk/types/yfilter"
"github.com/CiscoDevNet/ydk-go/ydk/models/cisco_ios_xe"
"reflect"
)
func init() {
ydk.YLogDebug(fmt.Sprintf("Registering top level entities for package cisco_bgp4_mib"))
ydk.RegisterEntity("{urn:ietf:params:xml:ns:yang:smiv2:CISCO-BGP4-MIB CISCO-BGP4-MIB}", reflect.TypeOf(CISCOBGP4MIB{}))
ydk.RegisterEntity("CISCO-BGP4-MIB:CISCO-BGP4-MIB", reflect.TypeOf(CISCOBGP4MIB{}))
}
// CbgpSafi represents SAFI values 128 through 255 are for private use.
type CbgpSafi string
const (
CbgpSafi_unicast CbgpSafi = "unicast"
CbgpSafi_multicast CbgpSafi = "multicast"
CbgpSafi_unicastAndMulticast CbgpSafi = "unicastAndMulticast"
CbgpSafi_vpn CbgpSafi = "vpn"
)
// CISCOBGP4MIB
type CISCOBGP4MIB struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
CbgpGlobal CISCOBGP4MIB_CbgpGlobal
// This table contains information about routes to destination networks from
// all BGP4 peers. Since BGP4 can carry routes for multiple Network Layer
// protocols, this table has the Address Family Identifier(AFI) of the
// Network Layer protocol as the first index. Further for a given AFI, routes
// carried by BGP4 are distinguished based on Subsequent Address Family
// Identifiers(SAFI). Hence that is used as the second index. Conceptually
// there is a separate Loc-RIB maintained by the BGP speaker for each
// combination of AFI and SAFI supported by it.
CbgpRouteTable CISCOBGP4MIB_CbgpRouteTable
// This table contains the capabilities that are supported by a peer.
// Capabilities of a peer are received during BGP connection establishment.
// Values corresponding to each received capability are stored in this table.
// When a new capability is received, this table is updated with a new
// entry. When an existing capability is not received during the latest
// connection establishment, the corresponding entry is deleted from the
// table.
CbgpPeerCapsTable CISCOBGP4MIB_CbgpPeerCapsTable
// This table contains information related to address families supported by a
// peer. Supported address families of a peer are known during BGP connection
// establishment. When a new supported address family is known, this table is
// updated with a new entry. When an address family is not supported any
// more, corresponding entry is deleted from the table.
CbgpPeerAddrFamilyTable CISCOBGP4MIB_CbgpPeerAddrFamilyTable
// This table contains prefix related information related to address families
// supported by a peer. Supported address families of a peer are known
// during BGP connection establishment. When a new supported address family
// is known, this table is updated with a new entry. When an address family
// is not supported any more, corresponding entry is deleted from the table.
CbgpPeerAddrFamilyPrefixTable CISCOBGP4MIB_CbgpPeerAddrFamilyPrefixTable
// BGP peer table. This table contains, one entry per BGP peer, information
// about the connections with BGP peers.
CbgpPeer2Table CISCOBGP4MIB_CbgpPeer2Table
// This table contains the capabilities that are supported by a peer.
// Capabilities of a peer are received during BGP connection establishment.
// Values corresponding to each received capability are stored in this table.
// When a new capability is received, this table is updated with a new entry.
// When an existing capability is not received during the latest connection
// establishment, the corresponding entry is deleted from the table.
CbgpPeer2CapsTable CISCOBGP4MIB_CbgpPeer2CapsTable
// This table contains information related to address families supported by a
// peer. Supported address families of a peer are known during BGP connection
// establishment. When a new supported address family is known, this table is
// updated with a new entry. When an address family is not supported any more,
// corresponding entry is deleted from the table.
CbgpPeer2AddrFamilyTable CISCOBGP4MIB_CbgpPeer2AddrFamilyTable
// This table contains prefix related information related to address families
// supported by a peer. Supported address families of a peer are known during
// BGP connection establishment. When a new supported address family is known,
// this table is updated with a new entry. When an address family is not
// supported any more, corresponding entry is deleted from the table.
CbgpPeer2AddrFamilyPrefixTable CISCOBGP4MIB_CbgpPeer2AddrFamilyPrefixTable
}
func (cISCOBGP4MIB *CISCOBGP4MIB) GetEntityData() *types.CommonEntityData {
cISCOBGP4MIB.EntityData.YFilter = cISCOBGP4MIB.YFilter
cISCOBGP4MIB.EntityData.YangName = "CISCO-BGP4-MIB"
cISCOBGP4MIB.EntityData.BundleName = "cisco_ios_xe"
cISCOBGP4MIB.EntityData.ParentYangName = "CISCO-BGP4-MIB"
cISCOBGP4MIB.EntityData.SegmentPath = "CISCO-BGP4-MIB:CISCO-BGP4-MIB"
cISCOBGP4MIB.EntityData.AbsolutePath = cISCOBGP4MIB.EntityData.SegmentPath
cISCOBGP4MIB.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
cISCOBGP4MIB.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
cISCOBGP4MIB.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
cISCOBGP4MIB.EntityData.Children = types.NewOrderedMap()
cISCOBGP4MIB.EntityData.Children.Append("cbgpGlobal", types.YChild{"CbgpGlobal", &cISCOBGP4MIB.CbgpGlobal})
cISCOBGP4MIB.EntityData.Children.Append("cbgpRouteTable", types.YChild{"CbgpRouteTable", &cISCOBGP4MIB.CbgpRouteTable})
cISCOBGP4MIB.EntityData.Children.Append("cbgpPeerCapsTable", types.YChild{"CbgpPeerCapsTable", &cISCOBGP4MIB.CbgpPeerCapsTable})
cISCOBGP4MIB.EntityData.Children.Append("cbgpPeerAddrFamilyTable", types.YChild{"CbgpPeerAddrFamilyTable", &cISCOBGP4MIB.CbgpPeerAddrFamilyTable})
cISCOBGP4MIB.EntityData.Children.Append("cbgpPeerAddrFamilyPrefixTable", types.YChild{"CbgpPeerAddrFamilyPrefixTable", &cISCOBGP4MIB.CbgpPeerAddrFamilyPrefixTable})
cISCOBGP4MIB.EntityData.Children.Append("cbgpPeer2Table", types.YChild{"CbgpPeer2Table", &cISCOBGP4MIB.CbgpPeer2Table})
cISCOBGP4MIB.EntityData.Children.Append("cbgpPeer2CapsTable", types.YChild{"CbgpPeer2CapsTable", &cISCOBGP4MIB.CbgpPeer2CapsTable})
cISCOBGP4MIB.EntityData.Children.Append("cbgpPeer2AddrFamilyTable", types.YChild{"CbgpPeer2AddrFamilyTable", &cISCOBGP4MIB.CbgpPeer2AddrFamilyTable})
cISCOBGP4MIB.EntityData.Children.Append("cbgpPeer2AddrFamilyPrefixTable", types.YChild{"CbgpPeer2AddrFamilyPrefixTable", &cISCOBGP4MIB.CbgpPeer2AddrFamilyPrefixTable})
cISCOBGP4MIB.EntityData.Leafs = types.NewOrderedMap()
cISCOBGP4MIB.EntityData.YListKeys = []string {}
return &(cISCOBGP4MIB.EntityData)
}
// CISCOBGP4MIB_CbgpGlobal
type CISCOBGP4MIB_CbgpGlobal struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
// Indicates whether the specific notifications are enabled. If
// notifsEnable(0) bit is set to 1, then the notifications defined in
// ciscoBgp4NotificationsGroup1 are enabled; If notifsPeer2Enable(1) bit is
// set to 1, then the notifications defined in
// ciscoBgp4Peer2NotificationsGroup are enabled. The type is map[string]bool.
CbgpNotifsEnable interface{}
// The local autonomous system (AS) number. The type is interface{} with
// range: 0..4294967295.
CbgpLocalAs interface{}
}
func (cbgpGlobal *CISCOBGP4MIB_CbgpGlobal) GetEntityData() *types.CommonEntityData {
cbgpGlobal.EntityData.YFilter = cbgpGlobal.YFilter
cbgpGlobal.EntityData.YangName = "cbgpGlobal"
cbgpGlobal.EntityData.BundleName = "cisco_ios_xe"
cbgpGlobal.EntityData.ParentYangName = "CISCO-BGP4-MIB"
cbgpGlobal.EntityData.SegmentPath = "cbgpGlobal"
cbgpGlobal.EntityData.AbsolutePath = "CISCO-BGP4-MIB:CISCO-BGP4-MIB/" + cbgpGlobal.EntityData.SegmentPath
cbgpGlobal.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
cbgpGlobal.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
cbgpGlobal.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
cbgpGlobal.EntityData.Children = types.NewOrderedMap()
cbgpGlobal.EntityData.Leafs = types.NewOrderedMap()
cbgpGlobal.EntityData.Leafs.Append("cbgpNotifsEnable", types.YLeaf{"CbgpNotifsEnable", cbgpGlobal.CbgpNotifsEnable})
cbgpGlobal.EntityData.Leafs.Append("cbgpLocalAs", types.YLeaf{"CbgpLocalAs", cbgpGlobal.CbgpLocalAs})
cbgpGlobal.EntityData.YListKeys = []string {}
return &(cbgpGlobal.EntityData)
}
// CISCOBGP4MIB_CbgpRouteTable
// This table contains information about routes to
// destination networks from all BGP4 peers. Since
// BGP4 can carry routes for multiple Network Layer
// protocols, this table has the Address Family
// Identifier(AFI) of the Network Layer protocol as the
// first index. Further for a given AFI, routes carried
// by BGP4 are distinguished based on Subsequent Address
// Family Identifiers(SAFI). Hence that is used as the
// second index. Conceptually there is a separate Loc-RIB
// maintained by the BGP speaker for each combination of
// AFI and SAFI supported by it.
type CISCOBGP4MIB_CbgpRouteTable struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
// Information about a path to a network received from a peer. The type is
// slice of CISCOBGP4MIB_CbgpRouteTable_CbgpRouteEntry.
CbgpRouteEntry []*CISCOBGP4MIB_CbgpRouteTable_CbgpRouteEntry
}
func (cbgpRouteTable *CISCOBGP4MIB_CbgpRouteTable) GetEntityData() *types.CommonEntityData {
cbgpRouteTable.EntityData.YFilter = cbgpRouteTable.YFilter
cbgpRouteTable.EntityData.YangName = "cbgpRouteTable"
cbgpRouteTable.EntityData.BundleName = "cisco_ios_xe"
cbgpRouteTable.EntityData.ParentYangName = "CISCO-BGP4-MIB"
cbgpRouteTable.EntityData.SegmentPath = "cbgpRouteTable"
cbgpRouteTable.EntityData.AbsolutePath = "CISCO-BGP4-MIB:CISCO-BGP4-MIB/" + cbgpRouteTable.EntityData.SegmentPath
cbgpRouteTable.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
cbgpRouteTable.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
cbgpRouteTable.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
cbgpRouteTable.EntityData.Children = types.NewOrderedMap()
cbgpRouteTable.EntityData.Children.Append("cbgpRouteEntry", types.YChild{"CbgpRouteEntry", nil})
for i := range cbgpRouteTable.CbgpRouteEntry {
cbgpRouteTable.EntityData.Children.Append(types.GetSegmentPath(cbgpRouteTable.CbgpRouteEntry[i]), types.YChild{"CbgpRouteEntry", cbgpRouteTable.CbgpRouteEntry[i]})
}
cbgpRouteTable.EntityData.Leafs = types.NewOrderedMap()
cbgpRouteTable.EntityData.YListKeys = []string {}
return &(cbgpRouteTable.EntityData)
}
// CISCOBGP4MIB_CbgpRouteTable_CbgpRouteEntry
// Information about a path to a network received from
// a peer.
type CISCOBGP4MIB_CbgpRouteTable_CbgpRouteEntry struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
YListKey string
// This attribute is a key. Represents Address Family Identifier(AFI) of the
// Network Layer protocol associated with the route. An implementation is only
// required to support IPv4 unicast and VPNv4 (Value - 1) address families.
// The type is InetAddressType.
CbgpRouteAfi interface{}
// This attribute is a key. Represents Subsequent Address Family
// Identifier(SAFI) of the route. It gives additional information about the
// type of the route. An implementation is only required to support IPv4
// unicast(Value - 1) and VPNv4( Value - 128) address families. The type is
// CbgpSafi.
CbgpRouteSafi interface{}
// This attribute is a key. Represents the type of Network Layer address
// stored in cbgpRoutePeer. An implementation is only required to support IPv4
// address type(Value - 1). The type is InetAddressType.
CbgpRoutePeerType interface{}
// This attribute is a key. The Network Layer address of the peer where the
// route information was learned. An implementation is only required to
// support an IPv4 peer. The type is string with length: 0..255.
CbgpRoutePeer interface{}
// This attribute is a key. A Network Address prefix in the Network Layer
// Reachability Information field of BGP UPDATE message. This object is a
// Network Address containing the prefix with length specified by
// cbgpRouteAddrPrefixLen. Any bits beyond the length specified by
// cbgpRouteAddrPrefixLen are zeroed. The type is string with length: 0..255.
CbgpRouteAddrPrefix interface{}
// This attribute is a key. Length in bits of the Network Address prefix in
// the Network Layer Reachability Information field. The type is interface{}
// with range: 0..2040.
CbgpRouteAddrPrefixLen interface{}
// The ultimate origin of the route information. The type is CbgpRouteOrigin.
CbgpRouteOrigin interface{}
// The sequence of AS path segments. Each AS path segment is represented by a
// triple <type, length, value>. The type is a 1-octet field which has two
// possible values: 1 AS_SET: unordered set of ASs a route in the
// UPDATE message has traversed 2 AS_SEQUENCE: ordered set of ASs a route in
// the UPDATE message has traversed. The length is a 1-octet
// field containing the number of ASs in the value field. The value field
// contains one or more AS numbers, each AS is represented in the octet string
// as a pair of octets according to the following algorithm:
// first-byte-of-pair = ASNumber / 256; second-byte-of-pair = ASNumber & 255;.
// The type is string with length: 0..255.
CbgpRouteASPathSegment interface{}
// The Network Layer address of the border router that should be used for the
// destination network. The type is string with length: 0..255.
CbgpRouteNextHop interface{}
// Indicates the presence/absence of MULTI_EXIT_DISC attribute for the route.
// The type is bool.
CbgpRouteMedPresent interface{}
// This metric is used to discriminate between multiple exit points to an
// adjacent autonomous system. The value of this object is irrelevant if the
// value of of cbgpRouteMedPresent is false(2). The type is interface{} with
// range: 0..4294967295.
CbgpRouteMultiExitDisc interface{}
// Indicates the presence/absence of LOCAL_PREF attribute for the route. The
// type is bool.
CbgpRouteLocalPrefPresent interface{}
// The degree of preference calculated by the local BGP4 speaker for the
// route. The value of this object is irrelevant if the value of
// cbgpRouteLocalPrefPresent is false(2). The type is interface{} with range:
// 0..4294967295.
CbgpRouteLocalPref interface{}
// Whether or not the local system has selected a less specific route without
// selecting a more specific route. The type is CbgpRouteAtomicAggregate.
CbgpRouteAtomicAggregate interface{}
// The AS number of the last BGP4 speaker that performed route aggregation. A
// value of zero (0) indicates the absence of this attribute. The type is
// interface{} with range: 0..65535.
CbgpRouteAggregatorAS interface{}
// Represents the type of Network Layer address stored in
// cbgpRouteAggregatorAddr. The type is InetAddressType.
CbgpRouteAggregatorAddrType interface{}
// The Network Layer address of the last BGP4 speaker that performed route
// aggregation. A value of all zeros indicates the absence of this attribute.
// The type is string with length: 0..255.
CbgpRouteAggregatorAddr interface{}
// An indication of whether or not this route was chosen as the best BGP4
// route. The type is bool.
CbgpRouteBest interface{}
// One or more path attributes not understood by this BGP4 speaker. Size zero
// (0) indicates the absence of such attribute(s). Octets beyond the maximum
// size, if any, are not recorded by this object. Each path attribute is a
// triple <attribute type, attribute length, attribute value> of variable
// length. Attribute Type is a two-octet field that consists of the Attribute
// Flags octet followed by the Attribute Type Code octet. If the Extended
// Length bit of the Attribute Flags octet is set to 0, the third octet of
// the Path Attribute contains the length of the attribute data in octets. If
// the Extended Length bit of the Attribute Flags octet is set to 1, then the
// third and the fourth octets of the path attribute contain the length of
// the attribute data in octets. The remaining octets of the Path Attribute
// represent the attribute value and are interpreted according to the
// Attribute Flags and the Attribute Type Code. The type is string with
// length: 0..255.
CbgpRouteUnknownAttr interface{}
}
func (cbgpRouteEntry *CISCOBGP4MIB_CbgpRouteTable_CbgpRouteEntry) GetEntityData() *types.CommonEntityData {
cbgpRouteEntry.EntityData.YFilter = cbgpRouteEntry.YFilter
cbgpRouteEntry.EntityData.YangName = "cbgpRouteEntry"
cbgpRouteEntry.EntityData.BundleName = "cisco_ios_xe"
cbgpRouteEntry.EntityData.ParentYangName = "cbgpRouteTable"
cbgpRouteEntry.EntityData.SegmentPath = "cbgpRouteEntry" + types.AddKeyToken(cbgpRouteEntry.CbgpRouteAfi, "cbgpRouteAfi") + types.AddKeyToken(cbgpRouteEntry.CbgpRouteSafi, "cbgpRouteSafi") + types.AddKeyToken(cbgpRouteEntry.CbgpRoutePeerType, "cbgpRoutePeerType") + types.AddKeyToken(cbgpRouteEntry.CbgpRoutePeer, "cbgpRoutePeer") + types.AddKeyToken(cbgpRouteEntry.CbgpRouteAddrPrefix, "cbgpRouteAddrPrefix") + types.AddKeyToken(cbgpRouteEntry.CbgpRouteAddrPrefixLen, "cbgpRouteAddrPrefixLen")
cbgpRouteEntry.EntityData.AbsolutePath = "CISCO-BGP4-MIB:CISCO-BGP4-MIB/cbgpRouteTable/" + cbgpRouteEntry.EntityData.SegmentPath
cbgpRouteEntry.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
cbgpRouteEntry.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
cbgpRouteEntry.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
cbgpRouteEntry.EntityData.Children = types.NewOrderedMap()
cbgpRouteEntry.EntityData.Leafs = types.NewOrderedMap()
cbgpRouteEntry.EntityData.Leafs.Append("cbgpRouteAfi", types.YLeaf{"CbgpRouteAfi", cbgpRouteEntry.CbgpRouteAfi})
cbgpRouteEntry.EntityData.Leafs.Append("cbgpRouteSafi", types.YLeaf{"CbgpRouteSafi", cbgpRouteEntry.CbgpRouteSafi})
cbgpRouteEntry.EntityData.Leafs.Append("cbgpRoutePeerType", types.YLeaf{"CbgpRoutePeerType", cbgpRouteEntry.CbgpRoutePeerType})
cbgpRouteEntry.EntityData.Leafs.Append("cbgpRoutePeer", types.YLeaf{"CbgpRoutePeer", cbgpRouteEntry.CbgpRoutePeer})
cbgpRouteEntry.EntityData.Leafs.Append("cbgpRouteAddrPrefix", types.YLeaf{"CbgpRouteAddrPrefix", cbgpRouteEntry.CbgpRouteAddrPrefix})
cbgpRouteEntry.EntityData.Leafs.Append("cbgpRouteAddrPrefixLen", types.YLeaf{"CbgpRouteAddrPrefixLen", cbgpRouteEntry.CbgpRouteAddrPrefixLen})
cbgpRouteEntry.EntityData.Leafs.Append("cbgpRouteOrigin", types.YLeaf{"CbgpRouteOrigin", cbgpRouteEntry.CbgpRouteOrigin})
cbgpRouteEntry.EntityData.Leafs.Append("cbgpRouteASPathSegment", types.YLeaf{"CbgpRouteASPathSegment", cbgpRouteEntry.CbgpRouteASPathSegment})
cbgpRouteEntry.EntityData.Leafs.Append("cbgpRouteNextHop", types.YLeaf{"CbgpRouteNextHop", cbgpRouteEntry.CbgpRouteNextHop})
cbgpRouteEntry.EntityData.Leafs.Append("cbgpRouteMedPresent", types.YLeaf{"CbgpRouteMedPresent", cbgpRouteEntry.CbgpRouteMedPresent})
cbgpRouteEntry.EntityData.Leafs.Append("cbgpRouteMultiExitDisc", types.YLeaf{"CbgpRouteMultiExitDisc", cbgpRouteEntry.CbgpRouteMultiExitDisc})
cbgpRouteEntry.EntityData.Leafs.Append("cbgpRouteLocalPrefPresent", types.YLeaf{"CbgpRouteLocalPrefPresent", cbgpRouteEntry.CbgpRouteLocalPrefPresent})
cbgpRouteEntry.EntityData.Leafs.Append("cbgpRouteLocalPref", types.YLeaf{"CbgpRouteLocalPref", cbgpRouteEntry.CbgpRouteLocalPref})
cbgpRouteEntry.EntityData.Leafs.Append("cbgpRouteAtomicAggregate", types.YLeaf{"CbgpRouteAtomicAggregate", cbgpRouteEntry.CbgpRouteAtomicAggregate})
cbgpRouteEntry.EntityData.Leafs.Append("cbgpRouteAggregatorAS", types.YLeaf{"CbgpRouteAggregatorAS", cbgpRouteEntry.CbgpRouteAggregatorAS})
cbgpRouteEntry.EntityData.Leafs.Append("cbgpRouteAggregatorAddrType", types.YLeaf{"CbgpRouteAggregatorAddrType", cbgpRouteEntry.CbgpRouteAggregatorAddrType})
cbgpRouteEntry.EntityData.Leafs.Append("cbgpRouteAggregatorAddr", types.YLeaf{"CbgpRouteAggregatorAddr", cbgpRouteEntry.CbgpRouteAggregatorAddr})
cbgpRouteEntry.EntityData.Leafs.Append("cbgpRouteBest", types.YLeaf{"CbgpRouteBest", cbgpRouteEntry.CbgpRouteBest})
cbgpRouteEntry.EntityData.Leafs.Append("cbgpRouteUnknownAttr", types.YLeaf{"CbgpRouteUnknownAttr", cbgpRouteEntry.CbgpRouteUnknownAttr})
cbgpRouteEntry.EntityData.YListKeys = []string {"CbgpRouteAfi", "CbgpRouteSafi", "CbgpRoutePeerType", "CbgpRoutePeer", "CbgpRouteAddrPrefix", "CbgpRouteAddrPrefixLen"}
return &(cbgpRouteEntry.EntityData)
}
// CISCOBGP4MIB_CbgpRouteTable_CbgpRouteEntry_CbgpRouteAtomicAggregate represents route.
type CISCOBGP4MIB_CbgpRouteTable_CbgpRouteEntry_CbgpRouteAtomicAggregate string
const (
CISCOBGP4MIB_CbgpRouteTable_CbgpRouteEntry_CbgpRouteAtomicAggregate_lessSpecificRouteNotSelected CISCOBGP4MIB_CbgpRouteTable_CbgpRouteEntry_CbgpRouteAtomicAggregate = "lessSpecificRouteNotSelected"
CISCOBGP4MIB_CbgpRouteTable_CbgpRouteEntry_CbgpRouteAtomicAggregate_lessSpecificRouteSelected CISCOBGP4MIB_CbgpRouteTable_CbgpRouteEntry_CbgpRouteAtomicAggregate = "lessSpecificRouteSelected"
)
// CISCOBGP4MIB_CbgpRouteTable_CbgpRouteEntry_CbgpRouteOrigin represents The ultimate origin of the route information.
type CISCOBGP4MIB_CbgpRouteTable_CbgpRouteEntry_CbgpRouteOrigin string
const (
CISCOBGP4MIB_CbgpRouteTable_CbgpRouteEntry_CbgpRouteOrigin_igp CISCOBGP4MIB_CbgpRouteTable_CbgpRouteEntry_CbgpRouteOrigin = "igp"
CISCOBGP4MIB_CbgpRouteTable_CbgpRouteEntry_CbgpRouteOrigin_egp CISCOBGP4MIB_CbgpRouteTable_CbgpRouteEntry_CbgpRouteOrigin = "egp"
CISCOBGP4MIB_CbgpRouteTable_CbgpRouteEntry_CbgpRouteOrigin_incomplete CISCOBGP4MIB_CbgpRouteTable_CbgpRouteEntry_CbgpRouteOrigin = "incomplete"
)
// CISCOBGP4MIB_CbgpPeerCapsTable
// This table contains the capabilities that are
// supported by a peer. Capabilities of a peer are
// received during BGP connection establishment.
// Values corresponding to each received capability
// are stored in this table. When a new capability
// is received, this table is updated with a new
// entry. When an existing capability is not received
// during the latest connection establishment, the
// corresponding entry is deleted from the table.
type CISCOBGP4MIB_CbgpPeerCapsTable struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
// Each entry represents a capability received from a peer with a particular
// code and an index. When a capability is received multiple times with
// different values during a BGP connection establishment, corresponding
// entries are differentiated with indices. The type is slice of
// CISCOBGP4MIB_CbgpPeerCapsTable_CbgpPeerCapsEntry.
CbgpPeerCapsEntry []*CISCOBGP4MIB_CbgpPeerCapsTable_CbgpPeerCapsEntry
}
func (cbgpPeerCapsTable *CISCOBGP4MIB_CbgpPeerCapsTable) GetEntityData() *types.CommonEntityData {
cbgpPeerCapsTable.EntityData.YFilter = cbgpPeerCapsTable.YFilter
cbgpPeerCapsTable.EntityData.YangName = "cbgpPeerCapsTable"
cbgpPeerCapsTable.EntityData.BundleName = "cisco_ios_xe"
cbgpPeerCapsTable.EntityData.ParentYangName = "CISCO-BGP4-MIB"
cbgpPeerCapsTable.EntityData.SegmentPath = "cbgpPeerCapsTable"
cbgpPeerCapsTable.EntityData.AbsolutePath = "CISCO-BGP4-MIB:CISCO-BGP4-MIB/" + cbgpPeerCapsTable.EntityData.SegmentPath
cbgpPeerCapsTable.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
cbgpPeerCapsTable.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
cbgpPeerCapsTable.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
cbgpPeerCapsTable.EntityData.Children = types.NewOrderedMap()
cbgpPeerCapsTable.EntityData.Children.Append("cbgpPeerCapsEntry", types.YChild{"CbgpPeerCapsEntry", nil})
for i := range cbgpPeerCapsTable.CbgpPeerCapsEntry {
cbgpPeerCapsTable.EntityData.Children.Append(types.GetSegmentPath(cbgpPeerCapsTable.CbgpPeerCapsEntry[i]), types.YChild{"CbgpPeerCapsEntry", cbgpPeerCapsTable.CbgpPeerCapsEntry[i]})
}
cbgpPeerCapsTable.EntityData.Leafs = types.NewOrderedMap()
cbgpPeerCapsTable.EntityData.YListKeys = []string {}
return &(cbgpPeerCapsTable.EntityData)
}
// CISCOBGP4MIB_CbgpPeerCapsTable_CbgpPeerCapsEntry
// Each entry represents a capability received from a
// peer with a particular code and an index. When a
// capability is received multiple times with different
// values during a BGP connection establishment,
// corresponding entries are differentiated with indices.
type CISCOBGP4MIB_CbgpPeerCapsTable_CbgpPeerCapsEntry struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
YListKey string
// This attribute is a key. The type is string with pattern:
// (([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?.
// Refers to bgp4_mib.BGP4MIB_BgpPeerTable_BgpPeerEntry_BgpPeerRemoteAddr
BgpPeerRemoteAddr interface{}
// This attribute is a key. The BGP Capability Advertisement Capability Code.
// The type is CbgpPeerCapCode.
CbgpPeerCapCode interface{}
// This attribute is a key. Multiple instances of a given capability may be
// sent by a BGP speaker. This variable is used to index them. The type is
// interface{} with range: 1..128.
CbgpPeerCapIndex interface{}
// The value of the announced capability. This MIB object value is organized
// as given below, Capability : Route Refresh Capability
// Null string Capability : Multiprotocol Extensions
// +----------------------------------+ | AFI(16 bits)
// | +----------------------------------+ | SAFI (8 bits)
// | +----------------------------------+ Capability : Graceful
// Restart +----------------------------------+ | Restart Flags (4
// bits) | +----------------------------------+ |
// Restart Time in seconds (12 bits)|
// +----------------------------------+ | AFI(16 bits)
// | +----------------------------------+ | SAFI (8 bits)
// | +----------------------------------+ | Flags for Address
// Family (8 bits)| +----------------------------------+ | ...
// | +----------------------------------+ | AFI(16 bits)
// | +----------------------------------+ | SAFI (8 bits)
// | +----------------------------------+ | Flags for Address
// Family (8 bits)| +----------------------------------+. The type is
// string with length: 0..255.
CbgpPeerCapValue interface{}
}
func (cbgpPeerCapsEntry *CISCOBGP4MIB_CbgpPeerCapsTable_CbgpPeerCapsEntry) GetEntityData() *types.CommonEntityData {
cbgpPeerCapsEntry.EntityData.YFilter = cbgpPeerCapsEntry.YFilter
cbgpPeerCapsEntry.EntityData.YangName = "cbgpPeerCapsEntry"
cbgpPeerCapsEntry.EntityData.BundleName = "cisco_ios_xe"
cbgpPeerCapsEntry.EntityData.ParentYangName = "cbgpPeerCapsTable"
cbgpPeerCapsEntry.EntityData.SegmentPath = "cbgpPeerCapsEntry" + types.AddKeyToken(cbgpPeerCapsEntry.BgpPeerRemoteAddr, "bgpPeerRemoteAddr") + types.AddKeyToken(cbgpPeerCapsEntry.CbgpPeerCapCode, "cbgpPeerCapCode") + types.AddKeyToken(cbgpPeerCapsEntry.CbgpPeerCapIndex, "cbgpPeerCapIndex")
cbgpPeerCapsEntry.EntityData.AbsolutePath = "CISCO-BGP4-MIB:CISCO-BGP4-MIB/cbgpPeerCapsTable/" + cbgpPeerCapsEntry.EntityData.SegmentPath
cbgpPeerCapsEntry.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
cbgpPeerCapsEntry.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
cbgpPeerCapsEntry.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
cbgpPeerCapsEntry.EntityData.Children = types.NewOrderedMap()
cbgpPeerCapsEntry.EntityData.Leafs = types.NewOrderedMap()
cbgpPeerCapsEntry.EntityData.Leafs.Append("bgpPeerRemoteAddr", types.YLeaf{"BgpPeerRemoteAddr", cbgpPeerCapsEntry.BgpPeerRemoteAddr})
cbgpPeerCapsEntry.EntityData.Leafs.Append("cbgpPeerCapCode", types.YLeaf{"CbgpPeerCapCode", cbgpPeerCapsEntry.CbgpPeerCapCode})
cbgpPeerCapsEntry.EntityData.Leafs.Append("cbgpPeerCapIndex", types.YLeaf{"CbgpPeerCapIndex", cbgpPeerCapsEntry.CbgpPeerCapIndex})
cbgpPeerCapsEntry.EntityData.Leafs.Append("cbgpPeerCapValue", types.YLeaf{"CbgpPeerCapValue", cbgpPeerCapsEntry.CbgpPeerCapValue})
cbgpPeerCapsEntry.EntityData.YListKeys = []string {"BgpPeerRemoteAddr", "CbgpPeerCapCode", "CbgpPeerCapIndex"}
return &(cbgpPeerCapsEntry.EntityData)
}
// CISCOBGP4MIB_CbgpPeerCapsTable_CbgpPeerCapsEntry_CbgpPeerCapCode represents The BGP Capability Advertisement Capability Code.
type CISCOBGP4MIB_CbgpPeerCapsTable_CbgpPeerCapsEntry_CbgpPeerCapCode string
const (
CISCOBGP4MIB_CbgpPeerCapsTable_CbgpPeerCapsEntry_CbgpPeerCapCode_multiProtocol CISCOBGP4MIB_CbgpPeerCapsTable_CbgpPeerCapsEntry_CbgpPeerCapCode = "multiProtocol"
CISCOBGP4MIB_CbgpPeerCapsTable_CbgpPeerCapsEntry_CbgpPeerCapCode_routeRefresh CISCOBGP4MIB_CbgpPeerCapsTable_CbgpPeerCapsEntry_CbgpPeerCapCode = "routeRefresh"
CISCOBGP4MIB_CbgpPeerCapsTable_CbgpPeerCapsEntry_CbgpPeerCapCode_gracefulRestart CISCOBGP4MIB_CbgpPeerCapsTable_CbgpPeerCapsEntry_CbgpPeerCapCode = "gracefulRestart"
CISCOBGP4MIB_CbgpPeerCapsTable_CbgpPeerCapsEntry_CbgpPeerCapCode_routeRefreshOld CISCOBGP4MIB_CbgpPeerCapsTable_CbgpPeerCapsEntry_CbgpPeerCapCode = "routeRefreshOld"
)
// CISCOBGP4MIB_CbgpPeerAddrFamilyTable
// This table contains information related to
// address families supported by a peer. Supported
// address families of a peer are known during BGP
// connection establishment. When a new supported
// address family is known, this table is updated
// with a new entry. When an address family is not
// supported any more, corresponding entry is deleted
// from the table.
type CISCOBGP4MIB_CbgpPeerAddrFamilyTable struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
// An entry is identified by an AFI/SAFI pair and peer address. It contains
// names associated with an address family. The type is slice of
// CISCOBGP4MIB_CbgpPeerAddrFamilyTable_CbgpPeerAddrFamilyEntry.
CbgpPeerAddrFamilyEntry []*CISCOBGP4MIB_CbgpPeerAddrFamilyTable_CbgpPeerAddrFamilyEntry
}
func (cbgpPeerAddrFamilyTable *CISCOBGP4MIB_CbgpPeerAddrFamilyTable) GetEntityData() *types.CommonEntityData {
cbgpPeerAddrFamilyTable.EntityData.YFilter = cbgpPeerAddrFamilyTable.YFilter
cbgpPeerAddrFamilyTable.EntityData.YangName = "cbgpPeerAddrFamilyTable"
cbgpPeerAddrFamilyTable.EntityData.BundleName = "cisco_ios_xe"
cbgpPeerAddrFamilyTable.EntityData.ParentYangName = "CISCO-BGP4-MIB"
cbgpPeerAddrFamilyTable.EntityData.SegmentPath = "cbgpPeerAddrFamilyTable"
cbgpPeerAddrFamilyTable.EntityData.AbsolutePath = "CISCO-BGP4-MIB:CISCO-BGP4-MIB/" + cbgpPeerAddrFamilyTable.EntityData.SegmentPath
cbgpPeerAddrFamilyTable.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
cbgpPeerAddrFamilyTable.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
cbgpPeerAddrFamilyTable.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
cbgpPeerAddrFamilyTable.EntityData.Children = types.NewOrderedMap()
cbgpPeerAddrFamilyTable.EntityData.Children.Append("cbgpPeerAddrFamilyEntry", types.YChild{"CbgpPeerAddrFamilyEntry", nil})
for i := range cbgpPeerAddrFamilyTable.CbgpPeerAddrFamilyEntry {
cbgpPeerAddrFamilyTable.EntityData.Children.Append(types.GetSegmentPath(cbgpPeerAddrFamilyTable.CbgpPeerAddrFamilyEntry[i]), types.YChild{"CbgpPeerAddrFamilyEntry", cbgpPeerAddrFamilyTable.CbgpPeerAddrFamilyEntry[i]})
}
cbgpPeerAddrFamilyTable.EntityData.Leafs = types.NewOrderedMap()
cbgpPeerAddrFamilyTable.EntityData.YListKeys = []string {}
return &(cbgpPeerAddrFamilyTable.EntityData)
}
// CISCOBGP4MIB_CbgpPeerAddrFamilyTable_CbgpPeerAddrFamilyEntry
// An entry is identified by an AFI/SAFI pair and
// peer address. It contains names associated with
// an address family.
type CISCOBGP4MIB_CbgpPeerAddrFamilyTable_CbgpPeerAddrFamilyEntry struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
YListKey string
// This attribute is a key. The type is string with pattern:
// (([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?.
// Refers to bgp4_mib.BGP4MIB_BgpPeerTable_BgpPeerEntry_BgpPeerRemoteAddr
BgpPeerRemoteAddr interface{}
// This attribute is a key. The AFI index of the entry. An implementation is
// only required to support IPv4 unicast and VPNv4 (Value - 1) address
// families. The type is InetAddressType.
CbgpPeerAddrFamilyAfi interface{}
// This attribute is a key. The SAFI index of the entry. An implementation is
// only required to support IPv4 unicast(Value - 1) and VPNv4( Value - 128)
// address families. The type is CbgpSafi.
CbgpPeerAddrFamilySafi interface{}
// Implementation specific Address Family name. The type is string.
CbgpPeerAddrFamilyName interface{}
}
func (cbgpPeerAddrFamilyEntry *CISCOBGP4MIB_CbgpPeerAddrFamilyTable_CbgpPeerAddrFamilyEntry) GetEntityData() *types.CommonEntityData {
cbgpPeerAddrFamilyEntry.EntityData.YFilter = cbgpPeerAddrFamilyEntry.YFilter
cbgpPeerAddrFamilyEntry.EntityData.YangName = "cbgpPeerAddrFamilyEntry"
cbgpPeerAddrFamilyEntry.EntityData.BundleName = "cisco_ios_xe"
cbgpPeerAddrFamilyEntry.EntityData.ParentYangName = "cbgpPeerAddrFamilyTable"
cbgpPeerAddrFamilyEntry.EntityData.SegmentPath = "cbgpPeerAddrFamilyEntry" + types.AddKeyToken(cbgpPeerAddrFamilyEntry.BgpPeerRemoteAddr, "bgpPeerRemoteAddr") + types.AddKeyToken(cbgpPeerAddrFamilyEntry.CbgpPeerAddrFamilyAfi, "cbgpPeerAddrFamilyAfi") + types.AddKeyToken(cbgpPeerAddrFamilyEntry.CbgpPeerAddrFamilySafi, "cbgpPeerAddrFamilySafi")
cbgpPeerAddrFamilyEntry.EntityData.AbsolutePath = "CISCO-BGP4-MIB:CISCO-BGP4-MIB/cbgpPeerAddrFamilyTable/" + cbgpPeerAddrFamilyEntry.EntityData.SegmentPath
cbgpPeerAddrFamilyEntry.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
cbgpPeerAddrFamilyEntry.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
cbgpPeerAddrFamilyEntry.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
cbgpPeerAddrFamilyEntry.EntityData.Children = types.NewOrderedMap()
cbgpPeerAddrFamilyEntry.EntityData.Leafs = types.NewOrderedMap()
cbgpPeerAddrFamilyEntry.EntityData.Leafs.Append("bgpPeerRemoteAddr", types.YLeaf{"BgpPeerRemoteAddr", cbgpPeerAddrFamilyEntry.BgpPeerRemoteAddr})
cbgpPeerAddrFamilyEntry.EntityData.Leafs.Append("cbgpPeerAddrFamilyAfi", types.YLeaf{"CbgpPeerAddrFamilyAfi", cbgpPeerAddrFamilyEntry.CbgpPeerAddrFamilyAfi})
cbgpPeerAddrFamilyEntry.EntityData.Leafs.Append("cbgpPeerAddrFamilySafi", types.YLeaf{"CbgpPeerAddrFamilySafi", cbgpPeerAddrFamilyEntry.CbgpPeerAddrFamilySafi})
cbgpPeerAddrFamilyEntry.EntityData.Leafs.Append("cbgpPeerAddrFamilyName", types.YLeaf{"CbgpPeerAddrFamilyName", cbgpPeerAddrFamilyEntry.CbgpPeerAddrFamilyName})
cbgpPeerAddrFamilyEntry.EntityData.YListKeys = []string {"BgpPeerRemoteAddr", "CbgpPeerAddrFamilyAfi", "CbgpPeerAddrFamilySafi"}
return &(cbgpPeerAddrFamilyEntry.EntityData)
}
// CISCOBGP4MIB_CbgpPeerAddrFamilyPrefixTable
// This table contains prefix related information
// related to address families supported by a peer.
// Supported address families of a peer are known
// during BGP connection establishment. When a new
// supported address family is known, this table
// is updated with a new entry. When an address
// family is not supported any more, corresponding
// entry is deleted from the table.
type CISCOBGP4MIB_CbgpPeerAddrFamilyPrefixTable struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
// An entry is identified by an AFI/SAFI pair and peer address. It contains
// information associated with route prefixes belonging to an address family.
// The type is slice of
// CISCOBGP4MIB_CbgpPeerAddrFamilyPrefixTable_CbgpPeerAddrFamilyPrefixEntry.
CbgpPeerAddrFamilyPrefixEntry []*CISCOBGP4MIB_CbgpPeerAddrFamilyPrefixTable_CbgpPeerAddrFamilyPrefixEntry
}
func (cbgpPeerAddrFamilyPrefixTable *CISCOBGP4MIB_CbgpPeerAddrFamilyPrefixTable) GetEntityData() *types.CommonEntityData {
cbgpPeerAddrFamilyPrefixTable.EntityData.YFilter = cbgpPeerAddrFamilyPrefixTable.YFilter
cbgpPeerAddrFamilyPrefixTable.EntityData.YangName = "cbgpPeerAddrFamilyPrefixTable"
cbgpPeerAddrFamilyPrefixTable.EntityData.BundleName = "cisco_ios_xe"
cbgpPeerAddrFamilyPrefixTable.EntityData.ParentYangName = "CISCO-BGP4-MIB"
cbgpPeerAddrFamilyPrefixTable.EntityData.SegmentPath = "cbgpPeerAddrFamilyPrefixTable"
cbgpPeerAddrFamilyPrefixTable.EntityData.AbsolutePath = "CISCO-BGP4-MIB:CISCO-BGP4-MIB/" + cbgpPeerAddrFamilyPrefixTable.EntityData.SegmentPath
cbgpPeerAddrFamilyPrefixTable.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
cbgpPeerAddrFamilyPrefixTable.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
cbgpPeerAddrFamilyPrefixTable.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
cbgpPeerAddrFamilyPrefixTable.EntityData.Children = types.NewOrderedMap()
cbgpPeerAddrFamilyPrefixTable.EntityData.Children.Append("cbgpPeerAddrFamilyPrefixEntry", types.YChild{"CbgpPeerAddrFamilyPrefixEntry", nil})
for i := range cbgpPeerAddrFamilyPrefixTable.CbgpPeerAddrFamilyPrefixEntry {
cbgpPeerAddrFamilyPrefixTable.EntityData.Children.Append(types.GetSegmentPath(cbgpPeerAddrFamilyPrefixTable.CbgpPeerAddrFamilyPrefixEntry[i]), types.YChild{"CbgpPeerAddrFamilyPrefixEntry", cbgpPeerAddrFamilyPrefixTable.CbgpPeerAddrFamilyPrefixEntry[i]})
}
cbgpPeerAddrFamilyPrefixTable.EntityData.Leafs = types.NewOrderedMap()
cbgpPeerAddrFamilyPrefixTable.EntityData.YListKeys = []string {}
return &(cbgpPeerAddrFamilyPrefixTable.EntityData)
}
// CISCOBGP4MIB_CbgpPeerAddrFamilyPrefixTable_CbgpPeerAddrFamilyPrefixEntry
// An entry is identified by an AFI/SAFI pair and
// peer address. It contains information associated
// with route prefixes belonging to an address family.
type CISCOBGP4MIB_CbgpPeerAddrFamilyPrefixTable_CbgpPeerAddrFamilyPrefixEntry struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
YListKey string
// This attribute is a key. The type is string with pattern:
// (([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?.
// Refers to bgp4_mib.BGP4MIB_BgpPeerTable_BgpPeerEntry_BgpPeerRemoteAddr
BgpPeerRemoteAddr interface{}
// This attribute is a key. The type is InetAddressType. Refers to
// cisco_bgp4_mib.CISCOBGP4MIB_CbgpPeerAddrFamilyTable_CbgpPeerAddrFamilyEntry_CbgpPeerAddrFamilyAfi
CbgpPeerAddrFamilyAfi interface{}
// This attribute is a key. The type is CbgpSafi. Refers to
// cisco_bgp4_mib.CISCOBGP4MIB_CbgpPeerAddrFamilyTable_CbgpPeerAddrFamilyEntry_CbgpPeerAddrFamilySafi
CbgpPeerAddrFamilySafi interface{}
// Number of accepted route prefixes on this connection, which belong to an
// address family. The type is interface{} with range: 0..4294967295.
CbgpPeerAcceptedPrefixes interface{}
// This counter is incremented when a route prefix, which belongs to an
// address family, received on this connection is denied. It is initialized
// to zero when the connection is undergone a hard reset. The type is
// interface{} with range: 0..4294967295.
CbgpPeerDeniedPrefixes interface{}
// Max number of route prefixes accepted for an address family on this
// connection. The type is interface{} with range: 1..4294967295.
CbgpPeerPrefixAdminLimit interface{}
// Prefix threshold value (%) for an address family on this connection at
// which warning message stating the prefix count is crossed the threshold or
// corresponding SNMP notification is generated. The type is interface{} with
// range: 1..100.
CbgpPeerPrefixThreshold interface{}
// Prefix threshold value (%) for an address family on this connection at
// which SNMP clear notification is generated if prefix threshold notification
// is already generated. The type is interface{} with range: 1..100.
CbgpPeerPrefixClearThreshold interface{}
// This counter is incremented when a route prefix, which belongs to an
// address family is advertised on this connection. It is initialized to zero
// when the connection is undergone a hard reset. The type is interface{}
// with range: 0..4294967295.
CbgpPeerAdvertisedPrefixes interface{}
// This counter is incremented when a route prefix, which belongs to an
// address family is suppressed from being sent on this connection. It is
// initialized to zero when the connection is undergone a hard reset. The type
// is interface{} with range: 0..4294967295.
CbgpPeerSuppressedPrefixes interface{}
// This counter is incremented when a route prefix, which belongs to an
// address family, is withdrawn on this connection. It is initialized to zero
// when the connection is undergone a hard reset. The type is interface{} with
// range: 0..4294967295.
CbgpPeerWithdrawnPrefixes interface{}
}
func (cbgpPeerAddrFamilyPrefixEntry *CISCOBGP4MIB_CbgpPeerAddrFamilyPrefixTable_CbgpPeerAddrFamilyPrefixEntry) GetEntityData() *types.CommonEntityData {
cbgpPeerAddrFamilyPrefixEntry.EntityData.YFilter = cbgpPeerAddrFamilyPrefixEntry.YFilter
cbgpPeerAddrFamilyPrefixEntry.EntityData.YangName = "cbgpPeerAddrFamilyPrefixEntry"
cbgpPeerAddrFamilyPrefixEntry.EntityData.BundleName = "cisco_ios_xe"
cbgpPeerAddrFamilyPrefixEntry.EntityData.ParentYangName = "cbgpPeerAddrFamilyPrefixTable"
cbgpPeerAddrFamilyPrefixEntry.EntityData.SegmentPath = "cbgpPeerAddrFamilyPrefixEntry" + types.AddKeyToken(cbgpPeerAddrFamilyPrefixEntry.BgpPeerRemoteAddr, "bgpPeerRemoteAddr") + types.AddKeyToken(cbgpPeerAddrFamilyPrefixEntry.CbgpPeerAddrFamilyAfi, "cbgpPeerAddrFamilyAfi") + types.AddKeyToken(cbgpPeerAddrFamilyPrefixEntry.CbgpPeerAddrFamilySafi, "cbgpPeerAddrFamilySafi")
cbgpPeerAddrFamilyPrefixEntry.EntityData.AbsolutePath = "CISCO-BGP4-MIB:CISCO-BGP4-MIB/cbgpPeerAddrFamilyPrefixTable/" + cbgpPeerAddrFamilyPrefixEntry.EntityData.SegmentPath
cbgpPeerAddrFamilyPrefixEntry.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
cbgpPeerAddrFamilyPrefixEntry.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
cbgpPeerAddrFamilyPrefixEntry.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
cbgpPeerAddrFamilyPrefixEntry.EntityData.Children = types.NewOrderedMap()
cbgpPeerAddrFamilyPrefixEntry.EntityData.Leafs = types.NewOrderedMap()
cbgpPeerAddrFamilyPrefixEntry.EntityData.Leafs.Append("bgpPeerRemoteAddr", types.YLeaf{"BgpPeerRemoteAddr", cbgpPeerAddrFamilyPrefixEntry.BgpPeerRemoteAddr})
cbgpPeerAddrFamilyPrefixEntry.EntityData.Leafs.Append("cbgpPeerAddrFamilyAfi", types.YLeaf{"CbgpPeerAddrFamilyAfi", cbgpPeerAddrFamilyPrefixEntry.CbgpPeerAddrFamilyAfi})
cbgpPeerAddrFamilyPrefixEntry.EntityData.Leafs.Append("cbgpPeerAddrFamilySafi", types.YLeaf{"CbgpPeerAddrFamilySafi", cbgpPeerAddrFamilyPrefixEntry.CbgpPeerAddrFamilySafi})
cbgpPeerAddrFamilyPrefixEntry.EntityData.Leafs.Append("cbgpPeerAcceptedPrefixes", types.YLeaf{"CbgpPeerAcceptedPrefixes", cbgpPeerAddrFamilyPrefixEntry.CbgpPeerAcceptedPrefixes})
cbgpPeerAddrFamilyPrefixEntry.EntityData.Leafs.Append("cbgpPeerDeniedPrefixes", types.YLeaf{"CbgpPeerDeniedPrefixes", cbgpPeerAddrFamilyPrefixEntry.CbgpPeerDeniedPrefixes})
cbgpPeerAddrFamilyPrefixEntry.EntityData.Leafs.Append("cbgpPeerPrefixAdminLimit", types.YLeaf{"CbgpPeerPrefixAdminLimit", cbgpPeerAddrFamilyPrefixEntry.CbgpPeerPrefixAdminLimit})
cbgpPeerAddrFamilyPrefixEntry.EntityData.Leafs.Append("cbgpPeerPrefixThreshold", types.YLeaf{"CbgpPeerPrefixThreshold", cbgpPeerAddrFamilyPrefixEntry.CbgpPeerPrefixThreshold})
cbgpPeerAddrFamilyPrefixEntry.EntityData.Leafs.Append("cbgpPeerPrefixClearThreshold", types.YLeaf{"CbgpPeerPrefixClearThreshold", cbgpPeerAddrFamilyPrefixEntry.CbgpPeerPrefixClearThreshold})
cbgpPeerAddrFamilyPrefixEntry.EntityData.Leafs.Append("cbgpPeerAdvertisedPrefixes", types.YLeaf{"CbgpPeerAdvertisedPrefixes", cbgpPeerAddrFamilyPrefixEntry.CbgpPeerAdvertisedPrefixes})
cbgpPeerAddrFamilyPrefixEntry.EntityData.Leafs.Append("cbgpPeerSuppressedPrefixes", types.YLeaf{"CbgpPeerSuppressedPrefixes", cbgpPeerAddrFamilyPrefixEntry.CbgpPeerSuppressedPrefixes})
cbgpPeerAddrFamilyPrefixEntry.EntityData.Leafs.Append("cbgpPeerWithdrawnPrefixes", types.YLeaf{"CbgpPeerWithdrawnPrefixes", cbgpPeerAddrFamilyPrefixEntry.CbgpPeerWithdrawnPrefixes})
cbgpPeerAddrFamilyPrefixEntry.EntityData.YListKeys = []string {"BgpPeerRemoteAddr", "CbgpPeerAddrFamilyAfi", "CbgpPeerAddrFamilySafi"}
return &(cbgpPeerAddrFamilyPrefixEntry.EntityData)
}
// CISCOBGP4MIB_CbgpPeer2Table
// BGP peer table. This table contains,
// one entry per BGP peer, information about
// the connections with BGP peers.
type CISCOBGP4MIB_CbgpPeer2Table struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
// Entry containing information about the connection with a BGP peer. The type
// is slice of CISCOBGP4MIB_CbgpPeer2Table_CbgpPeer2Entry.
CbgpPeer2Entry []*CISCOBGP4MIB_CbgpPeer2Table_CbgpPeer2Entry
}
func (cbgpPeer2Table *CISCOBGP4MIB_CbgpPeer2Table) GetEntityData() *types.CommonEntityData {
cbgpPeer2Table.EntityData.YFilter = cbgpPeer2Table.YFilter
cbgpPeer2Table.EntityData.YangName = "cbgpPeer2Table"
cbgpPeer2Table.EntityData.BundleName = "cisco_ios_xe"
cbgpPeer2Table.EntityData.ParentYangName = "CISCO-BGP4-MIB"
cbgpPeer2Table.EntityData.SegmentPath = "cbgpPeer2Table"
cbgpPeer2Table.EntityData.AbsolutePath = "CISCO-BGP4-MIB:CISCO-BGP4-MIB/" + cbgpPeer2Table.EntityData.SegmentPath
cbgpPeer2Table.EntityData.CapabilitiesTable = cisco_ios_xe.GetCapabilities()
cbgpPeer2Table.EntityData.NamespaceTable = cisco_ios_xe.GetNamespaces()
cbgpPeer2Table.EntityData.BundleYangModelsLocation = cisco_ios_xe.GetModelsPath()
cbgpPeer2Table.EntityData.Children = types.NewOrderedMap()
cbgpPeer2Table.EntityData.Children.Append("cbgpPeer2Entry", types.YChild{"CbgpPeer2Entry", nil})
for i := range cbgpPeer2Table.CbgpPeer2Entry {
cbgpPeer2Table.EntityData.Children.Append(types.GetSegmentPath(cbgpPeer2Table.CbgpPeer2Entry[i]), types.YChild{"CbgpPeer2Entry", cbgpPeer2Table.CbgpPeer2Entry[i]})
}
cbgpPeer2Table.EntityData.Leafs = types.NewOrderedMap()
cbgpPeer2Table.EntityData.YListKeys = []string {}
return &(cbgpPeer2Table.EntityData)
}
// CISCOBGP4MIB_CbgpPeer2Table_CbgpPeer2Entry
// Entry containing information about the
// connection with a BGP peer.
type CISCOBGP4MIB_CbgpPeer2Table_CbgpPeer2Entry struct {
EntityData types.CommonEntityData
YFilter yfilter.YFilter
YListKey string
// This attribute is a key. Represents the type of Peer address stored in
// cbgpPeer2Entry. The type is InetAddressType.
CbgpPeer2Type interface{}
// This attribute is a key. The remote IP address of this entry's BGP peer.
// The type is string with length: 0..255.
CbgpPeer2RemoteAddr interface{}
// The BGP peer connection state. The type is CbgpPeer2State.
CbgpPeer2State interface{}
// The desired state of the BGP connection. A transition from 'stop' to
// 'start' will cause the BGP Manual Start Event to be generated. A transition
// from 'start' to 'stop' will cause the BGP Manual Stop Event to be
// generated. This parameter can be used to restart BGP peer connections.
// Care should be used in providing write access to this object without
// adequate authentication. The type is CbgpPeer2AdminStatus.
CbgpPeer2AdminStatus interface{}
// The negotiated version of BGP running between the two peers. This entry
// MUST be zero (0) unless the cbgpPeer2State is in the openconfirm or the
// established state. Note that legal values for this object are between 0
// and 255. The type is interface{} with range: -2147483648..2147483647.
CbgpPeer2NegotiatedVersion interface{}
// The local IP address of this entry's BGP connection. The type is string
// with length: 0..255.
CbgpPeer2LocalAddr interface{}
// The local port for the TCP connection between the BGP peers. The type is
// interface{} with range: 0..65535.
CbgpPeer2LocalPort interface{}
// The local AS number for this session. The type is interface{} with range:
// 0..4294967295.
CbgpPeer2LocalAs interface{}
// The BGP Identifier of this entry's BGP peer. The type is string with
// pattern:
// (([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?.
CbgpPeer2LocalIdentifier interface{}
// The remote port for the TCP connection between the BGP peers. Note that
// the objects cbgpPeer2LocalAddr, cbgpPeer2LocalPort, cbgpPeer2RemoteAddr,
// and cbgpPeer2RemotePort provide the appropriate reference to the standard
// MIB TCP connection table. The type is interface{} with range: 0..65535.
CbgpPeer2RemotePort interface{}
// The remote autonomous system number received in the BGP OPEN message. The
// type is interface{} with range: 0..4294967295.
CbgpPeer2RemoteAs interface{}
// The BGP Identifier of this entry's BGP peer. This entry MUST be 0.0.0.0
// unless the cbgpPeer2State is in the openconfirm or the established state.
// The type is string with pattern:
// (([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(%[\p{N}\p{L}]+)?.
CbgpPeer2RemoteIdentifier interface{}
// The number of BGP UPDATE messages received on this connection. The type is
// interface{} with range: 0..4294967295.
CbgpPeer2InUpdates interface{}
// The number of BGP UPDATE messages transmitted on this connection. The type
// is interface{} with range: 0..4294967295.
CbgpPeer2OutUpdates interface{}
// The total number of messages received from the remote peer on this
// connection. The type is interface{} with range: 0..4294967295.
CbgpPeer2InTotalMessages interface{}
// The total number of messages transmitted to the remote peer on this
// connection. The type is interface{} with range: 0..4294967295.
CbgpPeer2OutTotalMessages interface{}
// The last error code and subcode seen by this peer on this connection. If
// no error has occurred, this field is zero. Otherwise, the first byte of
// this two byte OCTET STRING contains the error code, and the second byte
// contains the subcode. The type is string with length: 2..2.
CbgpPeer2LastError interface{}
// The total number of times the BGP FSM transitioned into the established
// state for this peer. The type is interface{} with range: 0..4294967295.
CbgpPeer2FsmEstablishedTransitions interface{}
// This timer indicates how long (in seconds) this peer has been in the
// established state or how long since this peer was last in the established
// state. It is set to zero when a new peer is configured or when the router
// is booted. The type is interface{} with range: 0..4294967295. Units are
// seconds.
CbgpPeer2FsmEstablishedTime interface{}
// Time interval (in seconds) for the ConnectRetry timer. The suggested value
// for this timer is 120 seconds. The type is interface{} with range:
// 1..65535. Units are seconds.
CbgpPeer2ConnectRetryInterval interface{}
// Time interval (in seconds) for the Hold Timer established with the peer.
// The value of this object is calculated by this BGP speaker, using the
// smaller of the values in cbgpPeer2HoldTimeConfigured and the Hold Time
// received in the OPEN message. This value must be at least three seconds if
// it is not zero (0). If the Hold Timer has not been established with the
// peer this object MUST have a value of zero (0). If the
// cbgpPeer2HoldTimeConfigured object has a value of (0), then this object
// MUST have a value of (0). The type is interface{} with range: 0..0 |
// 3..65535. Units are seconds.
CbgpPeer2HoldTime interface{}
// Time interval (in seconds) for the KeepAlive timer established with the
// peer. The value of this object is calculated by this BGP speaker such
// that, when compared with cbgpPeer2HoldTime, it has the same proportion that
// cbgpPeer2KeepAliveConfigured has, compared with
// cbgpPeer2HoldTimeConfigured. If the KeepAlive timer has not been
// established with the peer, this object MUST have a value of zero (0). If
// the of cbgpPeer2KeepAliveConfigured object has a value of (0), then this
// object MUST have a value of (0). The type is interface{} with range:
// 0..21845. Units are seconds.
CbgpPeer2KeepAlive interface{}
// Time interval (in seconds) for the Hold Time configured for this BGP
// speaker with this peer. This value is placed in an OPEN message sent to
// this peer by this BGP speaker, and is compared with the Hold Time field in
// an OPEN message received from the peer when determining the Hold Time
// (cbgpPeer2HoldTime) with the peer. This value must not be less than three
// seconds if it is not zero (0). If it is zero (0), the Hold Time is NOT to
// be established with the peer. The suggested value for this timer is 90
// seconds. The type is interface{} with range: 0..0 | 3..65535. Units are
// seconds.
CbgpPeer2HoldTimeConfigured interface{}
// Time interval (in seconds) for the KeepAlive timer configured for this BGP
// speaker with this peer. The value of this object will only determine the
// KEEPALIVE messages' frequency relative to the value specified in
// cbgpPeer2HoldTimeConfigured; the actual time interval for the KEEPALIVE
// messages is indicated by cbgpPeer2KeepAlive. A reasonable maximum value
// for this timer would be one third of that of cbgpPeer2HoldTimeConfigured.
// If the value of this object is zero (0), no periodical KEEPALIVE messages
// are sent to the peer after the BGP connection has been established. The
// suggested value for this timer is 30 seconds. The type is interface{} with
// range: 0..21845. Units are seconds.
CbgpPeer2KeepAliveConfigured interface{}
// Time interval (in seconds) for the MinASOriginationInterval timer. The
// suggested value for this timer is 15 seconds. The type is interface{} with
// range: 1..65535. Units are seconds.
CbgpPeer2MinASOriginationInterval interface{}
// Time interval (in seconds) for the MinRouteAdvertisementInterval timer. The
// suggested value for this timer is 30 seconds for EBGP connections and 5
// seconds for IBGP connections. The type is interface{} with range: 1..65535.
// Units are seconds.
CbgpPeer2MinRouteAdvertisementInterval interface{}
// Elapsed time (in seconds) since the last BGP UPDATE message was received
// from the peer. Each time cbgpPeer2InUpdates is incremented, the value of
// this object is set to zero (0). The type is interface{} with range:
// 0..4294967295. Units are seconds.
CbgpPeer2InUpdateElapsedTime interface{}