Mass-convert all compontents to use -no-zone addresses
[bgpcep.git] / bgp / extensions / linkstate / src / main / yang / bgp-linkstate.yang
1 module bgp-linkstate {
2     yang-version 1;
3     namespace "urn:opendaylight:params:xml:ns:yang:bgp-linkstate";
4     prefix "bgp-ls";
5
6     import ietf-inet-types { prefix inet; revision-date 2013-07-15; }
7     import bgp-message { prefix bgp-msg; revision-date 2018-03-29; }
8     import bgp-multiprotocol { prefix bgp-mp; revision-date 2018-03-29; }
9     import bgp-rib { prefix bgp-rib; revision-date 2018-03-29; }
10     import bgp-types { prefix bgp-t; revision-date 2018-03-29; }
11     import network-concepts { prefix netc; revision-date 2013-11-25; }
12     import rsvp { prefix rsvp; revision-date 2015-08-20; }
13     import bgp-segment-routing { prefix bgp-sr; revision-date 2015-10-14; }
14     import bgp-epe { prefix bgp-epe; revision-date 2015-06-22; }
15     import bmp-monitor { prefix bmp-mon; revision-date 2018-03-29; }
16     import odl-uint24 { prefix uint24; }
17
18     organization "Cisco Systems, Inc.";
19     contact "Dana Kutenicsova <dkutenic@cisco.com>";
20
21     description
22         "This module contains the base data model of a BGP message.
23         It rolls up the definitions contained in RFC4271
24         and RFC7752.
25
26         Copyright (c)2013 Cisco Systems, Inc. All rights reserved.
27
28         This program and the accompanying materials are made available
29         under the terms of the Eclipse Public License v1.0 which
30         accompanies this distribution, and is available at
31         http://www.eclipse.org/legal/epl-v10.html";
32
33     revision "2018-03-29" {
34         description "Add support for add-path for all afi/safi.
35             and Updated to include Performance Metric Extensions";
36         reference "draft-ietf-idr-te-pm-bgp-17";
37     }
38
39     revision "2017-12-07" {
40         description "Add support for add-path in base BGP NLRI.";
41     }
42
43     revision "2015-02-10" {
44         description
45             "Updated to include segment routing.";
46     }
47
48     revision "2013-11-25" {
49         description
50             "Updated to cover network-concepts.";
51     }
52
53     revision "2013-09-18" {
54         description
55             "Initial revision.";
56         reference "draft-ietf-idr-ls-distribution-03";
57     }
58
59     identity linkstate-address-family {
60         reference "https://tools.ietf.org/html/rfc7752#section-3.2";
61
62         base bgp-t:address-family;
63     }
64
65     identity linkstate-subsequent-address-family {
66         reference "https://tools.ietf.org/html/rfc7752#section-3.2";
67
68         base bgp-t:subsequent-address-family;
69     }
70
71     typedef nlri-type {
72         reference "https://tools.ietf.org/html/rfc7752#section-3.2";
73         type enumeration {
74             enum node {
75                 value 1;
76             }
77             enum link {
78                 value 2;
79             }
80             enum ipv4-prefix {
81                 value 3;
82             }
83             enum ipv6-prefix {
84                 value 4;
85             }
86             enum ipv4-te-lsp {
87                 status deprecated;
88                 reference "http://tools.ietf.org/html/rfc7752#section-4.1";
89                 value 5;
90             }
91             enum ipv6-te-lsp {
92                 status deprecated;
93                 reference "http://tools.ietf.org/html/rfc7752#section-4.1";
94                 value 6;
95             }
96         }
97     }
98
99     typedef protocol-id {
100         reference "https://tools.ietf.org/html/rfc7752#section-3.2";
101         type enumeration {
102             enum isis-level1 {
103                 value 1;
104             }
105             enum isis-level2 {
106                 value 2;
107             }
108             enum ospf {
109                 value 3;
110             }
111             enum direct {
112                 value 4;
113             }
114             enum static {
115                 value 5;
116             }
117             enum ospf-v3 {
118                 value 6;
119             }
120             enum bgp-epe {
121                 reference "https://tools.ietf.org/html/draft-ietf-idr-bgpls-segment-routing-epe-05#section-4";
122                 value 7;
123             }
124             enum rsvp-te {
125                 status deprecated;
126                 reference "http://tools.ietf.org/html/rfc7752#section-2.1";
127                 value 8; // rsvp-te protocol-id TBD by IANA
128             }
129             enum segment-routing {
130                 status deprecated;
131                 reference "http://tools.ietf.org/html/rfc7752#section-2.1";
132                 value 9; // segment-routing protocol-id TBD by IANA
133             }
134         }
135     }
136
137     typedef ospf-route-type {
138         reference "https://tools.ietf.org/html/rfc7752#section-3.2.3.1";
139         type enumeration {
140             enum intra-area {
141                 value 1;
142             }
143             enum inter-area {
144                 value 2;
145             }
146             enum external1 {
147                 value 3;
148             }
149             enum external2 {
150                 value 4;
151             }
152             enum nssa1 {
153                 value 5;
154             }
155             enum nssa2 {
156                 value 6;
157             }
158         }
159     }
160
161     typedef identifier {
162         type uint64;
163     }
164
165     typedef domain-identifier {
166         reference "https://tools.ietf.org/html/rfc7752#section-3.2.1.4";
167         type uint32;
168     }
169
170     typedef area-identifier {
171         reference "https://tools.ietf.org/html/rfc7752#section-3.2.1.4";
172         type uint32;
173     }
174
175     typedef ipv4-interface-identifier {
176         reference "http://tools.ietf.org/html/rfc5305#section-3.2";
177         type inet:ipv4-address-no-zone;
178     }
179
180     typedef ipv6-interface-identifier {
181         reference "http://tools.ietf.org/html/rfc6119#section-4.2";
182         type inet:ipv6-address-no-zone;
183     }
184
185     typedef ospf-interface-identifier {
186         reference "https://tools.ietf.org/html/rfc7752#section-3.2.1.4";
187         type uint32;
188     }
189
190     typedef topology-identifier {
191         reference "https://tools.ietf.org/html/rfc7752#section-3.2.1.5";
192         type uint16 {
193             range "0..4095";
194         }
195     }
196
197
198     grouping isis-router-identifier {
199         reference "https://tools.ietf.org/html/rfc7752#section-3.2.1.4";
200         leaf iso-system-id {
201             type netc:iso-system-identifier;
202             mandatory true;
203         }
204     }
205
206     grouping isis-lan-identifier {
207         reference "https://tools.ietf.org/html/rfc7752#section-3.2.1.4";
208         container is-is-router-identifier {
209             uses isis-router-identifier;
210         }
211         leaf psn {
212             type uint8 {
213                 range "1..255";
214             }
215             mandatory true;
216         }
217     }
218
219     grouping ospf-router-identifier {
220         reference "https://tools.ietf.org/html/rfc7752#section-3.2.1.4";
221         leaf ospf-router-id {
222             type uint32;
223             mandatory true;
224         }
225     }
226
227     grouping ospf-v2-lan-identifier {
228         reference "https://tools.ietf.org/html/rfc7752#section-3.2.1.4";
229         uses ospf-router-identifier;
230         leaf ipv4-address {
231             type ipv4-interface-identifier;
232             mandatory true;
233         }
234     }
235
236     grouping ospf-v3-lan-identifier {
237         reference "https://tools.ietf.org/html/rfc7752#section-3.2.1.4";
238         uses ospf-router-identifier;
239         leaf lan-interface {
240             type ospf-interface-identifier;
241             mandatory true;
242         }
243     }
244
245     grouping node-identifier {
246         leaf as-number {
247             type inet:as-number;
248         }
249         leaf area-id {
250             type area-identifier;
251         }
252         leaf domain-id {
253             type domain-identifier;
254         }
255         choice c-router-identifier {
256             case isis-node-case {
257                 container isis-node {
258                     uses isis-router-identifier;
259                 }
260             }
261             case isis-pseudonode-case {
262                 container isis-pseudonode {
263                     uses isis-lan-identifier;
264                 }
265             }
266             case ospf-node-case {
267                 container ospf-node {
268                     uses ospf-router-identifier;
269                 }
270             }
271             case ospf-pseudonode-case {
272                 container ospf-pseudonode {
273                     uses ospf-v3-lan-identifier;
274                 }
275             }
276         }
277     }
278
279     grouping link-lr-identifiers {
280         reference "http://tools.ietf.org/html/rfc5307";
281         leaf link-local-identifier {
282             type uint32;
283         }
284         leaf link-remote-identifier {
285             type uint32;
286         }
287     }
288
289     grouping prefix-identifiers {
290         leaf multi-topology-id {
291             type topology-identifier;
292         }
293         leaf ospf-route-type {
294             when "../../protocol-id[ .='ospf' or .='ospf-v3' ]";
295             type ospf-route-type;
296         }
297         leaf ip-reachability-information {
298             type inet:ip-prefix;
299         }
300     }
301
302     grouping link-identifier {
303         uses link-lr-identifiers;
304         leaf ipv4-interface-address {
305             type ipv4-interface-identifier;
306         }
307         leaf ipv6-interface-address {
308             type ipv6-interface-identifier;
309         }
310         leaf ipv4-neighbor-address {
311             type ipv4-interface-identifier;
312         }
313         leaf ipv6-neighbor-address {
314             type ipv6-interface-identifier;
315         }
316         leaf multi-topology-id {
317             type topology-identifier;
318         }
319     }
320
321     grouping linkstate {
322         uses bgp-t:route-distinguisher-grouping {
323             refine route-distinguisher {
324                 mandatory false;
325             }
326         }
327         leaf protocol-id {
328             type protocol-id;
329             mandatory true;
330         }
331         leaf identifier {
332             type identifier;
333             mandatory true;
334         }
335         choice object-type {
336             case node-case {
337                 container node-descriptors {
338                     uses node-identifier;
339                 }
340             }
341             case link-case {
342                 container local-node-descriptors {
343                     uses node-identifier;
344                     uses bgp-epe:epe-node-descriptors;
345                 }
346                 container remote-node-descriptors {
347                     uses node-identifier;
348                     uses bgp-epe:epe-node-descriptors;
349                 }
350                 container link-descriptors {
351                     uses link-identifier;
352                 }
353             }
354             case prefix-case {
355                 container advertising-node-descriptors {
356                     uses node-identifier;
357                 }
358                 container prefix-descriptors {
359                     uses prefix-identifiers;
360                 }
361             }
362             case te-lsp-case {
363                 choice address-family {
364                     case ipv4-case {
365                         leaf ipv4-tunnel-sender-address {
366                             type inet:ipv4-address-no-zone;
367                             mandatory true;
368                         }
369                         leaf ipv4-tunnel-endpoint-address {
370                             type inet:ipv4-address-no-zone;
371                             mandatory true;
372                         }
373                     }
374                     case ipv6-case {
375                         leaf ipv6-tunnel-sender-address {
376                             type inet:ipv6-address-no-zone;
377                             mandatory true;
378                         }
379                         leaf ipv6-tunnel-endpoint-address {
380                             type inet:ipv6-address-no-zone;
381                             mandatory true;
382                         }
383                     }
384                 }
385                 leaf tunnel-id {
386                     type rsvp:tunnel-id;
387                 }
388                 leaf lsp-id {
389                     type rsvp:lsp-id;
390                 }
391             }
392         }
393     }
394
395     grouping linkstate-destination {
396         list c-linkstate-destination {
397             uses linkstate;
398             uses bgp-msg:path-id-grouping;
399         }
400     }
401
402     augment "/bgp-msg:update/bgp-msg:attributes/bgp-mp:mp-reach-nlri/bgp-mp:advertized-routes/bgp-mp:destination-type" {
403         case destination-linkstate-case {
404             container destination-linkstate {
405                 uses linkstate-destination;
406             }
407         }
408     }
409
410     augment "/bgp-msg:update/bgp-msg:attributes/bgp-mp:mp-unreach-nlri/bgp-mp:withdrawn-routes/bgp-mp:destination-type" {
411         case destination-linkstate-case {
412             container destination-linkstate {
413                 uses linkstate-destination;
414             }
415         }
416     }
417
418     typedef node-flag-bits {
419         reference "https://tools.ietf.org/html/rfc7752#section-3.3.1.1";
420         type bits {
421             bit overload {
422                 position 0;
423             }
424             bit attached {
425                 position 1;
426             }
427             bit external {
428                 position 2;
429             }
430             bit abr {
431                 position 3;
432             }
433             bit router {
434                 position 4;
435             }
436             bit v6 {
437                 position 5;
438             }
439         }
440     }
441
442     typedef isis-area-identifier {
443         reference "https://tools.ietf.org/html/rfc7752#section-3.3.1.2";
444         type binary {
445             length "1..20";
446         }
447     }
448
449     typedef ipv4-router-identifier {
450         reference "https://tools.ietf.org/html/rfc7752#section-3.3.1.4";
451         type inet:ipv4-address-no-zone;
452     }
453
454     typedef ipv6-router-identifier {
455         reference "https://tools.ietf.org/html/rfc7752#section-3.3.1.4";
456         type inet:ipv6-address-no-zone;
457     }
458
459     grouping node-state {
460         reference "https://tools.ietf.org/html/rfc7752#section-3.3.1";
461         leaf-list topology-identifier {
462             type topology-identifier;
463         }
464         leaf node-flags {
465             type node-flag-bits;
466         }
467         leaf-list isis-area-id {
468             type isis-area-identifier;
469         }
470         leaf dynamic-hostname {
471             type string;
472         }
473         leaf ipv4-router-id {
474             type ipv4-router-identifier;
475         }
476         leaf ipv6-router-id {
477             type ipv6-router-identifier;
478         }
479         container sr-capabilities {
480             uses bgp-sr:sr-capabilities-tlv;
481         }
482         container sr-algorithm {
483             uses bgp-sr:sr-algorithms-tlv;
484         }
485     }
486
487     typedef link-protection-type {
488         reference "http://tools.ietf.org/html/rfc5307#section-1.2";
489         type enumeration {
490             enum extra-traffic {
491                 value 1;
492             }
493             enum unprotected {
494                 value 2;
495             }
496             enum shared {
497                 value 4;
498             }
499             enum dedicated-1to1 {
500                 value 8;
501             }
502             enum dedicated-1plus1 {
503                 value 16;
504             }
505             enum enhanced {
506                 value 32;
507             }
508         }
509     }
510
511     // linkstate
512     typedef mpls-protocol-mask {
513         reference "http://tools.ietf.org/html/rfc7752#section-3.3.2.2";
514         type bits {
515             bit ldp {
516                 position 0;
517             }
518             bit rsvpte {
519                 position 1;
520             }
521         }
522     }
523
524     typedef administrative-group {
525         type uint32;
526     }
527
528     grouping unreserved-bandwidth {
529         leaf priority {
530             type uint8 {
531                 range "0..7";
532             }
533         }
534         leaf bandwidth {
535             type netc:bandwidth;
536         }
537     }
538
539     typedef delay {
540         description "This 24-bit typedef describes delay over a configurable
541             interval in microseconds, encoded as an integer value. When set to
542             the maximum value 16,777,215 (16.777215 sec), then the delay is at
543             least that value, and it may be larger.";
544         reference "https://tools.ietf.org/html/rfc7471#section-4.1.5";
545         type uint24:uint24;
546         units microseconds;
547     }
548
549     typedef loss {
550         description "This 24-bit typedef describes packet loss as a percentage
551             of the total traffic sent over a configurable interval. The basic
552             unit is 0.000003%, where (2^24 - 2) is 50.331642%. This value is
553             the highest packet loss percentage that can be expressed.
554             Therefore, measured values that are larger than the field maximum
555             SHOULD be encoded as the maximum value.";
556         reference "https://tools.ietf.org/html/rfc7471#section-4.4.5";
557         type uint24:uint24;
558         units percent;
559     }
560
561     grouping linkstate-attribute {
562         reference "http://tools.ietf.org/html/rfc7752#section-3.3.2";
563         leaf local-ipv4-router-id {
564             type ipv4-router-identifier;
565         }
566         leaf local-ipv6-router-id {
567             type ipv6-router-identifier;
568         }
569         leaf remote-ipv4-router-id {
570             type ipv4-router-identifier;
571         }
572         leaf remote-ipv6-router-id {
573             type ipv6-router-identifier;
574         }
575         leaf mpls-protocol {
576             type mpls-protocol-mask;
577         }
578         leaf te-metric {
579             type netc:te-metric;
580         }
581         leaf metric {
582             type netc:metric;
583         }
584         leaf-list shared-risk-link-groups {
585             type rsvp:srlg-id;
586         }
587         leaf link-name {
588             type string;
589         }
590         leaf max-link-bandwidth {
591             type netc:bandwidth;
592         }
593         leaf max-reservable-bandwidth {
594             type netc:bandwidth;
595         }
596         list unreserved-bandwidth {
597             key "priority";
598             uses unreserved-bandwidth;
599         }
600         leaf link-protection {
601             type link-protection-type;
602         }
603         leaf admin-group {
604             type administrative-group;
605         }
606         list sr-adj-ids {
607             uses bgp-sr:adj-sid-tlv;
608         }
609         list sr-lan-adj-ids {
610             uses bgp-sr:lan-adj-sid-tlv;
611         }
612         container peer-node-sid {
613             description "The SID representing the peer of the BGP session.";
614             reference "https://tools.ietf.org/html/draft-ietf-idr-bgpls-segment-routing-epe-05#section-4.3";
615             uses bgp-sr:epe-adj-sid-tlv;
616         }
617         container peer-adj-sid {
618             description "The SID representing the peer of the BGP session.";
619             reference "https://tools.ietf.org/html/draft-ietf-idr-bgpls-segment-routing-epe-05#section-4.3";
620             uses bgp-sr:epe-adj-sid-tlv;
621         }
622         list peer-set-sids {
623             description "The SID representing the group the peer is part of.";
624             reference "https://tools.ietf.org/html/draft-ietf-idr-bgpls-segment-routing-epe-05#section-4.3";
625             uses bgp-sr:epe-adj-sid-tlv;
626         }
627         // Performance Metric https://tools.ietf.org/html/draft-ietf-idr-te-pm-bgp-17#section-2
628         leaf link-delay {
629             description "Unidirectional Link Delay";
630             reference "https://tools.ietf.org/html/draft-ietf-idr-te-pm-bgp-17#section-2.1";
631             type delay;
632         }
633         container link-min-max-delay {
634             description "Min/Max Unidirectional Link Delay";
635             reference "https://tools.ietf.org/html/draft-ietf-idr-te-pm-bgp-17#section-2.2";
636             leaf min-delay {
637                 type delay;
638             }
639             leaf max-delay {
640                 type delay;
641             }
642         }
643         leaf delay-variation {
644             description "Unidirectional Delay Variation";
645             reference "https://tools.ietf.org/html/draft-ietf-idr-te-pm-bgp-17#section-2.3";
646             type delay;
647         }
648         leaf link-loss {
649             description "Unidirectional Link Loss";
650             reference "https://tools.ietf.org/html/draft-ietf-idr-te-pm-bgp-17#section-2.4";
651             type loss;
652         }
653         leaf residual-bandwidth {
654             description "Unidirectional Residual Bandwidth";
655             reference "https://tools.ietf.org/html/draft-ietf-idr-te-pm-bgp-17#section-2.5";
656             type netc:bandwidth;
657         }
658         leaf available-bandwidth {
659             description "Unidirectional Available Bandwidth";
660             reference "https://tools.ietf.org/html/draft-ietf-idr-te-pm-bgp-17#section-2.6";
661             type netc:bandwidth;
662         }
663         leaf utilized-bandwidth {
664             description "Unidirectional Utilized Bandwidth";
665             reference "https://tools.ietf.org/html/draft-ietf-idr-te-pm-bgp-17#section-2.7";
666             type netc:bandwidth;
667         }
668     }
669
670     typedef route-tag {
671         reference "https://tools.ietf.org/html/rfc7752#section-3.3.3.2";
672         description "Carries original IGP TAGs of the prefix.";
673         type binary {
674             length "4";
675         }
676     }
677
678     typedef extended-route-tag {
679         reference "https://tools.ietf.org/html/rfc7752#section-3.3.3.3";
680         description "Carries IS-IS Extended Route Tags of the prefix.";
681         type binary {
682             length "8";
683         }
684     }
685
686     grouping igp-bits {
687         reference "https://tools.ietf.org/html/rfc7752#section-3.3.3.1";
688         leaf up-down {
689             status deprecated;
690             type bits {
691                 bit up-down {
692                     position 0;
693                 }
694             }
695         }
696         leaf is-is-up-down {
697             type boolean;
698         }
699         leaf ospf-no-unicast {
700             type boolean;
701         }
702         leaf ospf-local-address {
703             type boolean;
704         }
705         leaf ospf-propagate-nssa {
706             type boolean;
707         }
708     }
709
710     grouping prefix-state {
711         container igp-bits {
712             uses igp-bits;
713         }
714         leaf-list route-tags {
715             type route-tag;
716         }
717         leaf-list extended-tags {
718             type extended-route-tag;
719         }
720         leaf prefix-metric {
721             type netc:igp-metric;
722         }
723         leaf ospf-forwarding-address {
724             type inet:ip-address-no-zone;
725         }
726         container sr-prefix {
727             uses bgp-sr:prefix-sid-tlv;
728         }
729         container ipv6-sr-prefix {
730             uses bgp-sr:ipv6-prefix-sid-tlv;
731         }
732         container sr-range {
733             uses bgp-sr:range-tlv;
734         }
735         list sr-binding-sid-labels {
736             uses bgp-sr:binding-sid-tlv;
737         }
738     }
739
740     grouping linkstate-path-attribute {
741         choice link-state-attribute {
742             case node-attributes-case {
743                 container node-attributes {
744                     uses node-state;
745                 }
746             }
747             case link-attributes-case {
748                 container link-attributes {
749                     uses linkstate-attribute;
750                 }
751             }
752             case prefix-attributes-case {
753                 container prefix-attributes {
754                     uses prefix-state;
755                 }
756             }
757             case te-lsp-attributes-case {
758                 status deprecated;
759                 description "LSP Object";
760                 reference "http://tools.ietf.org/html/rfc7752#section-2.2";
761                 container te-lsp-attributes {
762                     uses rsvp:tspec-object;
763                     uses rsvp:flow-spec-object;
764                     uses rsvp:session-attribute-object;
765                     uses rsvp:explicit-route-object;
766                     uses rsvp:secondary-explicit-route-object;
767                     uses rsvp:record-route-object;
768                     uses rsvp:secondary-record-route-object;
769                     uses rsvp:fast-reroute-object;
770                     uses rsvp:detour-object;
771                     uses rsvp:exclude-route-object;
772                     uses rsvp:lsp-attributes-object;
773                     uses rsvp:lsp-required-attributes-object;
774                     uses rsvp:protection-object;
775                     uses rsvp:association-object;
776                     uses rsvp:primary-path-route-object;
777                     uses rsvp:admin-status-object;
778                     uses rsvp:bandwidth-object;
779                     uses rsvp:metric-object;
780                 }
781             }
782         }
783     }
784
785     grouping linkstate-routes {
786         container linkstate-routes {
787             list linkstate-route {
788                 description
789                     "Link-state information entry. Due to
790                     the complexity of link-state information
791                     and YANG limitations this is the top-level
792                     object from contract perspective. It is
793                     keyed by route-key, whose format is
794                     internal to the implementation exposing
795                     this information. As an explicit example
796                     it can rely on information stored in the
797                     entry's subtree, so the subtree MUST NOT
798                     be modified by outside entities.
799                     Augmentations can attach data, but must
800                     be explicitly aware that such data, unlike
801                     the data modeled directly here, does not
802                     have any effects on keys, especially they
803                     must not impact equality tests.";
804
805                 key "route-key path-id";
806
807                 uses linkstate;
808                 uses bgp-rib:route {
809                     augment attributes {
810                         uses linkstate-path-attribute;
811                     }
812                 }
813             }
814         }
815     }
816
817     augment "/bgp-msg:update/bgp-msg:attributes" {
818         uses linkstate-path-attribute;
819     }
820
821     augment "/bgp-rib:application-rib/bgp-rib:tables/bgp-rib:routes" {
822         case linkstate-routes-case {
823             uses linkstate-routes;
824         }
825     }
826
827     augment "/bgp-rib:bgp-rib/bgp-rib:rib/bgp-rib:loc-rib/bgp-rib:tables/bgp-rib:routes" {
828         case linkstate-routes-case {
829             uses linkstate-routes;
830         }
831     }
832
833     augment "/bgp-rib:bgp-rib/bgp-rib:rib/bgp-rib:peer/bgp-rib:adj-rib-in/bgp-rib:tables/bgp-rib:routes" {
834         case linkstate-routes-case {
835             uses linkstate-routes;
836         }
837     }
838
839     augment "/bgp-rib:bgp-rib/bgp-rib:rib/bgp-rib:peer/bgp-rib:effective-rib-in/bgp-rib:tables/bgp-rib:routes" {
840         case linkstate-routes-case {
841             uses linkstate-routes;
842         }
843     }
844
845     augment "/bgp-rib:bgp-rib/bgp-rib:rib/bgp-rib:peer/bgp-rib:adj-rib-out/bgp-rib:tables/bgp-rib:routes" {
846         case linkstate-routes-case {
847             uses linkstate-routes;
848         }
849     }
850
851     augment "/bmp-mon:bmp-monitor/bmp-mon:monitor/bmp-mon:router/bmp-mon:peer/bmp-mon:pre-policy-rib/bmp-mon:tables/bmp-mon:routes" {
852         case linkstate-routes-case {
853             uses linkstate-routes;
854         }
855     }
856
857     augment "/bmp-mon:bmp-monitor/bmp-mon:monitor/bmp-mon:router/bmp-mon:peer/bmp-mon:post-policy-rib/bmp-mon:tables/bmp-mon:routes" {
858         case linkstate-routes-case {
859             uses linkstate-routes;
860         }
861     }
862
863 }