]> git.proxmox.com Git - mirror_frr.git/blob - yang/frr-bgp.yang
Merge pull request #12798 from donaldsharp/rib_match_multicast
[mirror_frr.git] / yang / frr-bgp.yang
1 // SPDX-License-Identifier: BSD-2-Clause
2 module frr-bgp {
3 yang-version 1.1;
4 namespace "http://frrouting.org/yang/bgp";
5 prefix frr-bgp;
6
7 import frr-routing {
8 prefix frr-rt;
9 }
10
11 import ietf-inet-types {
12 prefix inet;
13 }
14
15 import frr-interface {
16 prefix frr-interface;
17 }
18
19 import frr-bgp-types {
20 prefix frr-bt;
21 }
22
23 import frr-route-types {
24 prefix frr-route-types;
25 }
26
27 include "frr-bgp-common";
28
29 include "frr-bgp-common-structure";
30
31 include "frr-bgp-common-multiprotocol";
32
33 include "frr-bgp-neighbor";
34
35 include "frr-bgp-peer-group";
36
37 include "frr-bgp-bmp";
38
39 organization
40 "FRRouting";
41 contact
42 "FRR Users List: <mailto:frog@lists.frrouting.org> FRR Development
43 List: <mailto:dev@lists.frrouting.org>";
44 description
45 "This module defines a model for managing FRR bgpd daemon.
46
47 Copyright 2020 FRRouting
48
49 Redistribution and use in source and binary forms, with or without
50 modification, are permitted provided that the following conditions
51 are met:
52
53 1. Redistributions of source code must retain the above copyright notice,
54 this list of conditions and the following disclaimer.
55
56 2. Redistributions in binary form must reproduce the above copyright
57 notice, this list of conditions and the following disclaimer in the
58 documentation and/or other materials provided with the distribution.
59
60 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
61 \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
62 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
63 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
64 HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
65 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
66 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
67 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
68 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
69 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
70 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.";
71
72 revision 2019-12-03 {
73 description
74 "Initial revision.";
75 }
76
77 identity bgp {
78 base frr-rt:routing-protocol;
79 description
80 "BGP protocol.";
81 }
82
83 grouping mp-afi-unicast-common {
84 uses global-group-use-multiple-paths;
85
86 uses global-redistribute;
87
88 uses admin-distance;
89 }
90
91 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol" {
92 container bgp {
93 when "../frr-rt:type = 'frr-bgp:bgp'" {
94 description
95 "BGP protocol augmentation of ietf-routing module
96 control-plane-protocol.";
97 }
98 presence "Enables configuration of BGP";
99 description
100 "Top-level configuration for the BGP router.";
101 container global {
102 description
103 "Global configuration for the BGP router.";
104 leaf local-as {
105 type inet:as-number;
106 mandatory true;
107 description
108 "Local autonomous system number of the router. Uses
109 the 32-bit as-number type from the model in RFC 6991.";
110 }
111
112 uses frr-rt:router-id;
113
114 container confederation {
115 description
116 "Configuration options specifying parameters when the
117 local router is within an autonomous system which is
118 part of a BGP confederation.";
119 leaf identifier {
120 type inet:as-number;
121 description
122 "Confederation identifier for the autonomous system.";
123 }
124
125 leaf-list member-as {
126 type inet:as-number;
127 description
128 "Remote autonomous systems that are to be treated
129 as part of the local confederation.";
130 }
131 }
132
133 uses med-config;
134
135 uses route-reflector-config;
136
137 uses route-selection-options;
138
139 uses global-neighbor-config;
140
141 container graceful-restart {
142 description
143 "Parameters relating the graceful restart mechanism for
144 BGP.";
145 uses graceful-restart-config;
146 }
147
148 uses global-update-group-config;
149
150 uses global-config-timers;
151
152 uses global-bgp-config;
153
154 uses global-network-config;
155
156 uses global-graceful-shutdown;
157
158 uses global-bmp-config;
159
160 container afi-safis {
161 description
162 "List of address-families associated with the BGP
163 instance.";
164 list afi-safi {
165 key "afi-safi-name";
166 description
167 "AFI, SAFI configuration available for the
168 neighbour or group.";
169 uses mp-afi-safi-config;
170
171 uses mp-all-afi-safi-list-contents;
172 }
173 }
174 }
175
176 container neighbors {
177 description
178 "Configuration for BGP neighbors.";
179 list neighbor {
180 key "remote-address";
181 description
182 "List of BGP neighbors configured on the local system,
183 uniquely identified by remote IPv[46] address.";
184 leaf remote-address {
185 type inet:ip-address;
186 description
187 "The remote IP address of this entry's BGP peer.";
188 }
189
190 leaf local-interface {
191 type frr-interface:interface-ref {
192 require-instance false;
193 }
194 description
195 "Neighbor's interface name.";
196 }
197
198 leaf local-port {
199 type inet:port-number {
200 range "0..65535";
201 }
202 description
203 "Neighbor's BGP TCP port number.";
204 }
205
206 leaf peer-group {
207 type leafref {
208 path "../../../peer-groups/peer-group/peer-group-name";
209 }
210 description
211 "The peer-group with which this neighbor is associated.";
212 }
213
214 container neighbor-remote-as {
215 leaf remote-as-type {
216 type frr-bt:as-type;
217 mandatory true;
218 description
219 "Remote AS type.";
220 }
221
222 leaf remote-as {
223 when "../remote-as-type = 'as-specified'";
224 type inet:as-number;
225 description
226 "The remote autonomous system number received in
227 the BGP OPEN message.";
228 reference
229 "RFC 4271";
230 }
231 }
232
233 uses neighbor-parameters;
234
235 uses structure-neighbor-group-capability-options;
236 }
237
238 list unnumbered-neighbor {
239 key "interface";
240 description
241 "List of BGP neighbors configured on the local system,
242 uniquely identified by interfaces.";
243 leaf interface {
244 type frr-interface:interface-ref {
245 require-instance false;
246 }
247 description
248 "The local interface of this entry's BGP peer.";
249 }
250
251 leaf v6only {
252 type boolean;
253 default "false";
254 description
255 "When set to 'true' it will create a neighbor with v6
256 link local only.";
257 }
258
259 leaf peer-group {
260 type leafref {
261 path "../../../peer-groups/peer-group/peer-group-name";
262 }
263 description
264 "The peer-group with which this neighbor is associated.";
265 }
266
267 uses neighbor-remote-as;
268
269 uses neighbor-parameters;
270
271 uses structure-neighbor-group-capability-options {
272 refine "frr-bgp:capability-options/extended-nexthop-capability" {
273 default "true";
274 }
275 }
276 }
277 }
278
279 container peer-groups {
280 description
281 "Configuration for BGP peer-groups.";
282 uses bgp-peer-group-list;
283 }
284 }
285 }
286
287 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/global/afi-safis/afi-safi/ipv4-unicast" {
288 list network-config {
289 key "prefix";
290 description
291 "A list of network routes.";
292 leaf prefix {
293 type inet:ipv4-prefix;
294 description
295 "IPv4 destination prefix.";
296 }
297
298 leaf backdoor {
299 type boolean;
300 default "false";
301 description
302 "Specify a BGP backdoor route.";
303 }
304
305 uses mp-afi-safi-network-config;
306 }
307
308 list aggregate-route {
309 key "prefix";
310 description
311 "A list of aggregated routes.";
312 leaf prefix {
313 type inet:ipv4-prefix;
314 description
315 "IPv4 destination prefix.";
316 }
317
318 uses mp-afi-safi-agg-route-config;
319 }
320
321 list admin-distance-route {
322 key "prefix";
323 description
324 "A list of routes with a particular admin distance.";
325 leaf prefix {
326 type inet:ipv4-prefix;
327 description
328 "IPv4 destination prefix.";
329 }
330
331 uses distance-per-route-config;
332 }
333
334 uses route-flap-dampening;
335
336 uses mp-afi-unicast-common;
337
338 uses global-filter-config;
339
340 uses global-afi-safi-vpn-config;
341 }
342
343 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/global/afi-safis/afi-safi/ipv6-unicast" {
344 list network-config {
345 key "prefix";
346 description
347 "A list of network routes.";
348 leaf prefix {
349 type inet:ipv6-prefix;
350 description
351 "IPv6 destination prefix.";
352 }
353
354 leaf backdoor {
355 type boolean;
356 default "false";
357 description
358 "Specify a BGP backdoor route.";
359 }
360
361 uses mp-afi-safi-network-config;
362 }
363
364 list aggregate-route {
365 key "prefix";
366 description
367 "A list of aggregated routes.";
368 leaf prefix {
369 type inet:ipv6-prefix;
370 description
371 "IPv6 destination prefix.";
372 }
373
374 uses mp-afi-safi-agg-route-config;
375 }
376
377 list admin-distance-route {
378 key "prefix";
379 description
380 "A list of routes with a particular admin distance.";
381 leaf prefix {
382 type inet:ipv6-prefix;
383 description
384 "IPv6 destination prefix.";
385 }
386
387 uses distance-per-route-config;
388 }
389
390 uses route-flap-dampening;
391
392 uses mp-afi-unicast-common;
393
394 uses global-filter-config;
395
396 uses global-afi-safi-vpn-config;
397 }
398
399 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/global/afi-safis/afi-safi/ipv4-labeled-unicast" {
400 uses global-group-use-multiple-paths;
401
402 uses route-flap-dampening;
403 }
404
405 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/global/afi-safis/afi-safi/ipv6-labeled-unicast" {
406 uses global-group-use-multiple-paths;
407
408 uses route-flap-dampening;
409 }
410
411 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/global/afi-safis/afi-safi/ipv4-multicast" {
412 list network-config {
413 key "prefix";
414 description
415 "A list of network routes.";
416 leaf prefix {
417 type frr-route-types:ipv4-multicast-group-prefix;
418 description
419 "IPv4 multicast destination prefix.";
420 }
421
422 leaf backdoor {
423 type boolean;
424 default "false";
425 description
426 "Specify a BGP backdoor route.";
427 }
428
429 uses mp-afi-safi-network-config;
430 }
431
432 list aggregate-route {
433 key "prefix";
434 description
435 "A list of aggregated routes.";
436 leaf prefix {
437 type frr-route-types:ipv4-multicast-group-prefix;
438 description
439 "IPv4 multicast destination prefix.";
440 }
441
442 uses mp-afi-safi-agg-route-config;
443 }
444
445 list admin-distance-route {
446 key "prefix";
447 description
448 "A list of routes with a particular admin distance.";
449 leaf prefix {
450 type frr-route-types:ipv4-multicast-group-prefix;
451 description
452 "IPv4 multicast destination prefix.";
453 }
454
455 uses distance-per-route-config;
456 }
457
458 uses admin-distance;
459
460 uses route-flap-dampening;
461
462 uses global-filter-config;
463 }
464
465 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/global/afi-safis/afi-safi/ipv6-multicast" {
466 list network-config {
467 key "prefix";
468 description
469 "A list of network routes.";
470 leaf prefix {
471 type frr-route-types:ipv6-multicast-group-prefix;
472 description
473 "IPv6 multicast destination prefix.";
474 }
475
476 leaf backdoor {
477 type boolean;
478 default "false";
479 description
480 "Specify a BGP backdoor route.";
481 }
482
483 uses mp-afi-safi-network-config;
484 }
485
486 list aggregate-route {
487 key "prefix";
488 description
489 "A list of aggregated routes.";
490 leaf prefix {
491 type frr-route-types:ipv6-multicast-group-prefix;
492 description
493 "IPv6 multicast destination prefix.";
494 }
495
496 uses mp-afi-safi-agg-route-config;
497 }
498
499 list admin-distance-route {
500 key "prefix";
501 description
502 "A list of routes with a particular admin distance.";
503 leaf prefix {
504 type frr-route-types:ipv6-multicast-group-prefix;
505 description
506 "IPv6 multicast destination prefix.";
507 }
508
509 uses distance-per-route-config;
510 }
511
512 uses route-flap-dampening;
513
514 uses admin-distance;
515 }
516
517 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/global/afi-safis/afi-safi/ipv4-flowspec" {
518 uses flow-spec-config;
519 }
520
521 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/global/afi-safis/afi-safi/l3vpn-ipv4-unicast" {
522 uses global-afi-safi-vpn-network-config;
523 }
524
525 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/global/afi-safis/afi-safi/l3vpn-ipv6-unicast" {
526 uses global-afi-safi-vpn-network-config;
527 }
528
529 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/global/bmp-config/target-list/afi-safis/afi-safi/ipv4-unicast" {
530 uses bmp-afi-safi-common-config;
531 }
532
533 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/global/bmp-config/target-list/afi-safis/afi-safi/ipv4-multicast" {
534 uses bmp-afi-safi-common-config;
535 }
536
537 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/global/bmp-config/target-list/afi-safis/afi-safi/ipv6-unicast" {
538 uses bmp-afi-safi-common-config;
539 }
540
541 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/global/bmp-config/target-list/afi-safis/afi-safi/ipv6-multicast" {
542 uses bmp-afi-safi-common-config;
543 }
544
545 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/ipv4-unicast" {
546 uses structure-neighbor-group-add-paths;
547
548 uses structure-neighbor-group-as-path-options;
549
550 uses structure-neighbor-default-originate-options;
551
552 uses structure-neighbor-prefix-limit;
553
554 uses structure-neighbor-nexthop-self;
555
556 uses structure-neighbor-private-as;
557
558 uses structure-neighbor-weight;
559
560 uses structure-neighbor-route-reflector;
561
562 uses structure-neighbor-route-server;
563
564 uses structure-neighbor-send-community;
565
566 uses structure-neighbor-group-soft-reconfiguration;
567
568 uses structure-neighbor-group-attr-unchanged;
569
570 uses structure-neighbor-group-orf-capability;
571
572 uses structure-neighbor-group-filter-config;
573 }
574
575 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/ipv6-unicast" {
576 leaf nexthop-local-unchanged {
577 type boolean;
578 default "false";
579 description
580 "Configure treatment of outgoing link-local nexthop attribute.
581 When set to 'true' it leaves link-local nexthop unchanged
582 for this peer.";
583 }
584
585 uses structure-neighbor-group-add-paths;
586
587 uses structure-neighbor-group-as-path-options;
588
589 uses structure-neighbor-default-originate-options;
590
591 uses structure-neighbor-group-attr-unchanged;
592
593 uses structure-neighbor-group-orf-capability;
594
595 uses structure-neighbor-prefix-limit;
596
597 uses structure-neighbor-nexthop-self;
598
599 uses structure-neighbor-private-as;
600
601 uses structure-neighbor-route-reflector;
602
603 uses structure-neighbor-route-server;
604
605 uses structure-neighbor-send-community;
606
607 uses structure-neighbor-group-soft-reconfiguration;
608
609 uses structure-neighbor-weight;
610
611 uses structure-neighbor-group-filter-config;
612 }
613
614 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/ipv4-multicast" {
615 uses structure-neighbor-group-add-paths;
616
617 uses structure-neighbor-group-as-path-options;
618
619 uses structure-neighbor-default-originate-options;
620
621 uses structure-neighbor-group-attr-unchanged;
622
623 uses structure-neighbor-group-orf-capability;
624
625 uses structure-neighbor-prefix-limit;
626
627 uses structure-neighbor-nexthop-self;
628
629 uses structure-neighbor-private-as;
630
631 uses structure-neighbor-route-reflector;
632
633 uses structure-neighbor-route-server;
634
635 uses structure-neighbor-send-community;
636
637 uses structure-neighbor-group-soft-reconfiguration;
638
639 uses structure-neighbor-weight;
640
641 uses structure-neighbor-group-filter-config;
642 }
643
644 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/ipv6-multicast" {
645 uses structure-neighbor-group-add-paths;
646
647 uses structure-neighbor-group-as-path-options;
648
649 uses structure-neighbor-default-originate-options;
650
651 uses structure-neighbor-group-attr-unchanged;
652
653 uses structure-neighbor-group-orf-capability;
654
655 uses structure-neighbor-prefix-limit;
656
657 uses structure-neighbor-nexthop-self;
658
659 uses structure-neighbor-private-as;
660
661 uses structure-neighbor-route-reflector;
662
663 uses structure-neighbor-route-server;
664
665 uses structure-neighbor-send-community;
666
667 uses structure-neighbor-group-soft-reconfiguration;
668
669 uses structure-neighbor-weight;
670
671 uses structure-neighbor-group-filter-config;
672 }
673
674 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/ipv4-labeled-unicast" {
675 uses structure-neighbor-group-add-paths;
676
677 uses structure-neighbor-group-as-path-options;
678
679 uses structure-neighbor-default-originate-options;
680
681 uses structure-neighbor-group-attr-unchanged;
682
683 uses structure-neighbor-group-orf-capability;
684
685 uses structure-neighbor-prefix-limit;
686
687 uses structure-neighbor-nexthop-self;
688
689 uses structure-neighbor-private-as;
690
691 uses structure-neighbor-route-reflector;
692
693 uses structure-neighbor-route-server;
694
695 uses structure-neighbor-send-community;
696
697 uses structure-neighbor-group-soft-reconfiguration;
698
699 uses structure-neighbor-weight;
700
701 uses structure-neighbor-group-filter-config;
702 }
703
704 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/ipv6-labeled-unicast" {
705 uses structure-neighbor-group-add-paths;
706
707 uses structure-neighbor-group-as-path-options;
708
709 uses structure-neighbor-default-originate-options;
710
711 uses structure-neighbor-group-attr-unchanged;
712
713 uses structure-neighbor-group-orf-capability;
714
715 uses structure-neighbor-prefix-limit;
716
717 uses structure-neighbor-nexthop-self;
718
719 uses structure-neighbor-private-as;
720
721 uses structure-neighbor-route-reflector;
722
723 uses structure-neighbor-route-server;
724
725 uses structure-neighbor-send-community;
726
727 uses structure-neighbor-group-soft-reconfiguration;
728
729 uses structure-neighbor-weight;
730
731 uses structure-neighbor-group-filter-config;
732 }
733
734 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/l3vpn-ipv4-unicast" {
735 uses structure-neighbor-group-add-paths;
736
737 uses structure-neighbor-group-as-path-options;
738
739 uses structure-neighbor-group-attr-unchanged;
740
741 uses structure-neighbor-prefix-limit;
742
743 uses structure-neighbor-nexthop-self;
744
745 uses structure-neighbor-private-as;
746
747 uses structure-neighbor-route-reflector;
748
749 uses structure-neighbor-route-server;
750
751 uses structure-neighbor-send-community;
752
753 uses structure-neighbor-group-soft-reconfiguration;
754
755 uses structure-neighbor-weight;
756
757 uses structure-neighbor-group-filter-config;
758 }
759
760 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/l3vpn-ipv6-unicast" {
761 uses structure-neighbor-group-add-paths;
762
763 uses structure-neighbor-group-as-path-options;
764
765 uses structure-neighbor-group-attr-unchanged;
766
767 uses structure-neighbor-prefix-limit;
768
769 uses structure-neighbor-nexthop-self;
770
771 uses structure-neighbor-private-as;
772
773 uses structure-neighbor-route-reflector;
774
775 uses structure-neighbor-route-server;
776
777 uses structure-neighbor-send-community;
778
779 uses structure-neighbor-group-soft-reconfiguration;
780
781 uses structure-neighbor-weight;
782
783 uses structure-neighbor-group-filter-config;
784 }
785
786 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/l2vpn-evpn" {
787 uses structure-neighbor-group-as-path-options;
788
789 uses structure-neighbor-group-attr-unchanged;
790
791 uses structure-neighbor-nexthop-self;
792
793 uses structure-neighbor-route-reflector;
794
795 uses structure-neighbor-route-server;
796
797 uses structure-neighbor-group-soft-reconfiguration;
798
799 uses structure-neighbor-group-filter-config;
800 }
801
802 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/ipv4-flowspec" {
803 uses structure-neighbor-route-reflector;
804
805 uses structure-neighbor-route-server;
806
807 uses structure-neighbor-group-soft-reconfiguration;
808
809 uses structure-neighbor-group-filter-config;
810 }
811
812 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/neighbor/afi-safis/afi-safi/ipv6-flowspec" {
813 uses structure-neighbor-route-reflector;
814
815 uses structure-neighbor-route-server;
816
817 uses structure-neighbor-group-soft-reconfiguration;
818
819 uses structure-neighbor-group-filter-config;
820 }
821
822 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv4-unicast" {
823 uses structure-neighbor-group-add-paths;
824
825 uses structure-neighbor-group-as-path-options;
826
827 uses structure-neighbor-default-originate-options;
828
829 uses structure-neighbor-prefix-limit;
830
831 uses structure-neighbor-nexthop-self;
832
833 uses structure-neighbor-private-as;
834
835 uses structure-neighbor-weight;
836
837 uses structure-neighbor-route-reflector;
838
839 uses structure-neighbor-route-server;
840
841 uses structure-neighbor-send-community;
842
843 uses structure-neighbor-group-soft-reconfiguration;
844
845 uses structure-neighbor-group-attr-unchanged;
846
847 uses structure-neighbor-group-orf-capability;
848
849 uses structure-neighbor-group-filter-config;
850 }
851
852 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv6-unicast" {
853 leaf nexthop-local-unchanged {
854 type boolean;
855 default "false";
856 description
857 "Configure treatment of outgoing link-local nexthop attribute.
858 When set to 'true' it leaves link-local nexthop unchanged
859 for this peer.";
860 }
861
862 uses structure-neighbor-group-add-paths;
863
864 uses structure-neighbor-group-as-path-options;
865
866 uses structure-neighbor-default-originate-options;
867
868 uses structure-neighbor-group-attr-unchanged;
869
870 uses structure-neighbor-group-orf-capability;
871
872 uses structure-neighbor-prefix-limit;
873
874 uses structure-neighbor-nexthop-self;
875
876 uses structure-neighbor-private-as;
877
878 uses structure-neighbor-route-reflector;
879
880 uses structure-neighbor-route-server;
881
882 uses structure-neighbor-send-community;
883
884 uses structure-neighbor-group-soft-reconfiguration;
885
886 uses structure-neighbor-weight;
887
888 uses structure-neighbor-group-filter-config;
889 }
890
891 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv4-multicast" {
892 uses structure-neighbor-group-add-paths;
893
894 uses structure-neighbor-group-as-path-options;
895
896 uses structure-neighbor-default-originate-options;
897
898 uses structure-neighbor-group-attr-unchanged;
899
900 uses structure-neighbor-group-orf-capability;
901
902 uses structure-neighbor-prefix-limit;
903
904 uses structure-neighbor-nexthop-self;
905
906 uses structure-neighbor-private-as;
907
908 uses structure-neighbor-route-reflector;
909
910 uses structure-neighbor-route-server;
911
912 uses structure-neighbor-send-community;
913
914 uses structure-neighbor-group-soft-reconfiguration;
915
916 uses structure-neighbor-weight;
917
918 uses structure-neighbor-group-filter-config;
919 }
920
921 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv6-multicast" {
922 uses structure-neighbor-group-add-paths;
923
924 uses structure-neighbor-group-as-path-options;
925
926 uses structure-neighbor-default-originate-options;
927
928 uses structure-neighbor-group-attr-unchanged;
929
930 uses structure-neighbor-group-orf-capability;
931
932 uses structure-neighbor-prefix-limit;
933
934 uses structure-neighbor-nexthop-self;
935
936 uses structure-neighbor-private-as;
937
938 uses structure-neighbor-route-reflector;
939
940 uses structure-neighbor-route-server;
941
942 uses structure-neighbor-send-community;
943
944 uses structure-neighbor-group-soft-reconfiguration;
945
946 uses structure-neighbor-weight;
947
948 uses structure-neighbor-group-filter-config;
949 }
950
951 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv4-labeled-unicast" {
952 uses structure-neighbor-group-add-paths;
953
954 uses structure-neighbor-group-as-path-options;
955
956 uses structure-neighbor-default-originate-options;
957
958 uses structure-neighbor-group-attr-unchanged;
959
960 uses structure-neighbor-group-orf-capability;
961
962 uses structure-neighbor-prefix-limit;
963
964 uses structure-neighbor-nexthop-self;
965
966 uses structure-neighbor-private-as;
967
968 uses structure-neighbor-route-reflector;
969
970 uses structure-neighbor-route-server;
971
972 uses structure-neighbor-send-community;
973
974 uses structure-neighbor-group-soft-reconfiguration;
975
976 uses structure-neighbor-weight;
977
978 uses structure-neighbor-group-filter-config;
979 }
980
981 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv6-labeled-unicast" {
982 uses structure-neighbor-group-add-paths;
983
984 uses structure-neighbor-group-as-path-options;
985
986 uses structure-neighbor-default-originate-options;
987
988 uses structure-neighbor-group-attr-unchanged;
989
990 uses structure-neighbor-group-orf-capability;
991
992 uses structure-neighbor-prefix-limit;
993
994 uses structure-neighbor-nexthop-self;
995
996 uses structure-neighbor-private-as;
997
998 uses structure-neighbor-route-reflector;
999
1000 uses structure-neighbor-route-server;
1001
1002 uses structure-neighbor-send-community;
1003
1004 uses structure-neighbor-group-soft-reconfiguration;
1005
1006 uses structure-neighbor-weight;
1007 }
1008
1009 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/l3vpn-ipv4-unicast" {
1010 uses structure-neighbor-group-add-paths;
1011
1012 uses structure-neighbor-group-as-path-options;
1013
1014 uses structure-neighbor-group-attr-unchanged;
1015
1016 uses structure-neighbor-prefix-limit;
1017
1018 uses structure-neighbor-nexthop-self;
1019
1020 uses structure-neighbor-private-as;
1021
1022 uses structure-neighbor-route-reflector;
1023
1024 uses structure-neighbor-route-server;
1025
1026 uses structure-neighbor-send-community;
1027
1028 uses structure-neighbor-group-soft-reconfiguration;
1029
1030 uses structure-neighbor-weight;
1031 }
1032
1033 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/l3vpn-ipv6-unicast" {
1034 uses structure-neighbor-group-add-paths;
1035
1036 uses structure-neighbor-group-as-path-options;
1037
1038 uses structure-neighbor-group-attr-unchanged;
1039
1040 uses structure-neighbor-prefix-limit;
1041
1042 uses structure-neighbor-nexthop-self;
1043
1044 uses structure-neighbor-private-as;
1045
1046 uses structure-neighbor-route-reflector;
1047
1048 uses structure-neighbor-route-server;
1049
1050 uses structure-neighbor-send-community;
1051
1052 uses structure-neighbor-group-soft-reconfiguration;
1053
1054 uses structure-neighbor-weight;
1055 }
1056
1057 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/l2vpn-evpn" {
1058 uses structure-neighbor-group-as-path-options;
1059
1060 uses structure-neighbor-group-attr-unchanged;
1061
1062 uses structure-neighbor-nexthop-self;
1063
1064 uses structure-neighbor-route-reflector;
1065
1066 uses structure-neighbor-route-server;
1067
1068 uses structure-neighbor-group-soft-reconfiguration;
1069
1070 uses structure-neighbor-group-filter-config;
1071 }
1072
1073 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv4-flowspec" {
1074 uses structure-neighbor-route-reflector;
1075
1076 uses structure-neighbor-route-server;
1077
1078 uses structure-neighbor-group-soft-reconfiguration;
1079
1080 uses structure-neighbor-group-filter-config;
1081 }
1082
1083 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/neighbors/unnumbered-neighbor/afi-safis/afi-safi/ipv6-flowspec" {
1084 uses structure-neighbor-route-reflector;
1085
1086 uses structure-neighbor-route-server;
1087
1088 uses structure-neighbor-group-soft-reconfiguration;
1089
1090 uses structure-neighbor-group-filter-config;
1091 }
1092
1093 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv4-unicast" {
1094 uses structure-neighbor-group-add-paths;
1095
1096 uses structure-neighbor-group-as-path-options;
1097
1098 uses structure-neighbor-default-originate-options;
1099
1100 uses structure-neighbor-prefix-limit;
1101
1102 uses structure-neighbor-nexthop-self;
1103
1104 uses structure-neighbor-private-as;
1105
1106 uses structure-neighbor-weight;
1107
1108 uses structure-neighbor-route-reflector;
1109
1110 uses structure-neighbor-route-server;
1111
1112 uses structure-neighbor-send-community;
1113
1114 uses structure-neighbor-group-soft-reconfiguration;
1115
1116 uses structure-neighbor-group-attr-unchanged;
1117
1118 uses structure-neighbor-group-orf-capability;
1119
1120 uses structure-neighbor-group-filter-config;
1121 }
1122
1123 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv6-unicast" {
1124 leaf nexthop-local-unchanged {
1125 type boolean;
1126 default "false";
1127 description
1128 "Configure treatment of outgoing link-local nexthop attribute.
1129 When set to 'true' it leaves link-local nexthop unchanged
1130 for this peer.";
1131 }
1132
1133 uses structure-neighbor-group-add-paths;
1134
1135 uses structure-neighbor-group-as-path-options;
1136
1137 uses structure-neighbor-default-originate-options;
1138
1139 uses structure-neighbor-group-attr-unchanged;
1140
1141 uses structure-neighbor-group-orf-capability;
1142
1143 uses structure-neighbor-prefix-limit;
1144
1145 uses structure-neighbor-nexthop-self;
1146
1147 uses structure-neighbor-private-as;
1148
1149 uses structure-neighbor-route-reflector;
1150
1151 uses structure-neighbor-route-server;
1152
1153 uses structure-neighbor-send-community;
1154
1155 uses structure-neighbor-group-soft-reconfiguration;
1156
1157 uses structure-neighbor-weight;
1158
1159 uses structure-neighbor-group-filter-config;
1160 }
1161
1162 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv4-multicast" {
1163 uses structure-neighbor-group-add-paths;
1164
1165 uses structure-neighbor-group-as-path-options;
1166
1167 uses structure-neighbor-default-originate-options;
1168
1169 uses structure-neighbor-group-attr-unchanged;
1170
1171 uses structure-neighbor-group-orf-capability;
1172
1173 uses structure-neighbor-prefix-limit;
1174
1175 uses structure-neighbor-nexthop-self;
1176
1177 uses structure-neighbor-private-as;
1178
1179 uses structure-neighbor-route-reflector;
1180
1181 uses structure-neighbor-route-server;
1182
1183 uses structure-neighbor-send-community;
1184
1185 uses structure-neighbor-group-soft-reconfiguration;
1186
1187 uses structure-neighbor-weight;
1188
1189 uses structure-neighbor-group-filter-config;
1190 }
1191
1192 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv6-multicast" {
1193 uses structure-neighbor-group-add-paths;
1194
1195 uses structure-neighbor-group-as-path-options;
1196
1197 uses structure-neighbor-default-originate-options;
1198
1199 uses structure-neighbor-group-attr-unchanged;
1200
1201 uses structure-neighbor-group-orf-capability;
1202
1203 uses structure-neighbor-prefix-limit;
1204
1205 uses structure-neighbor-nexthop-self;
1206
1207 uses structure-neighbor-private-as;
1208
1209 uses structure-neighbor-route-reflector;
1210
1211 uses structure-neighbor-route-server;
1212
1213 uses structure-neighbor-send-community;
1214
1215 uses structure-neighbor-group-soft-reconfiguration;
1216
1217 uses structure-neighbor-weight;
1218
1219 uses structure-neighbor-group-filter-config;
1220 }
1221
1222 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv4-labeled-unicast" {
1223 uses structure-neighbor-group-add-paths;
1224
1225 uses structure-neighbor-group-as-path-options;
1226
1227 uses structure-neighbor-default-originate-options;
1228
1229 uses structure-neighbor-group-attr-unchanged;
1230
1231 uses structure-neighbor-group-orf-capability;
1232
1233 uses structure-neighbor-prefix-limit;
1234
1235 uses structure-neighbor-nexthop-self;
1236
1237 uses structure-neighbor-private-as;
1238
1239 uses structure-neighbor-route-reflector;
1240
1241 uses structure-neighbor-route-server;
1242
1243 uses structure-neighbor-send-community;
1244
1245 uses structure-neighbor-group-soft-reconfiguration;
1246
1247 uses structure-neighbor-weight;
1248
1249 uses structure-neighbor-group-filter-config;
1250 }
1251
1252 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv6-labeled-unicast" {
1253 uses structure-neighbor-group-add-paths;
1254
1255 uses structure-neighbor-group-as-path-options;
1256
1257 uses structure-neighbor-default-originate-options;
1258
1259 uses structure-neighbor-group-attr-unchanged;
1260
1261 uses structure-neighbor-group-orf-capability;
1262
1263 uses structure-neighbor-prefix-limit;
1264
1265 uses structure-neighbor-nexthop-self;
1266
1267 uses structure-neighbor-private-as;
1268
1269 uses structure-neighbor-route-reflector;
1270
1271 uses structure-neighbor-route-server;
1272
1273 uses structure-neighbor-send-community;
1274
1275 uses structure-neighbor-group-soft-reconfiguration;
1276
1277 uses structure-neighbor-weight;
1278
1279 uses structure-neighbor-group-filter-config;
1280 }
1281
1282 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/peer-groups/peer-group/afi-safis/afi-safi/l3vpn-ipv4-unicast" {
1283 uses structure-neighbor-group-add-paths;
1284
1285 uses structure-neighbor-group-as-path-options;
1286
1287 uses structure-neighbor-group-attr-unchanged;
1288
1289 uses structure-neighbor-prefix-limit;
1290
1291 uses structure-neighbor-nexthop-self;
1292
1293 uses structure-neighbor-private-as;
1294
1295 uses structure-neighbor-route-reflector;
1296
1297 uses structure-neighbor-route-server;
1298
1299 uses structure-neighbor-send-community;
1300
1301 uses structure-neighbor-group-soft-reconfiguration;
1302
1303 uses structure-neighbor-weight;
1304
1305 uses structure-neighbor-group-filter-config;
1306 }
1307
1308 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/peer-groups/peer-group/afi-safis/afi-safi/l3vpn-ipv6-unicast" {
1309 uses structure-neighbor-group-add-paths;
1310
1311 uses structure-neighbor-group-as-path-options;
1312
1313 uses structure-neighbor-group-attr-unchanged;
1314
1315 uses structure-neighbor-prefix-limit;
1316
1317 uses structure-neighbor-nexthop-self;
1318
1319 uses structure-neighbor-private-as;
1320
1321 uses structure-neighbor-route-reflector;
1322
1323 uses structure-neighbor-route-server;
1324
1325 uses structure-neighbor-send-community;
1326
1327 uses structure-neighbor-group-soft-reconfiguration;
1328
1329 uses structure-neighbor-weight;
1330
1331 uses structure-neighbor-group-filter-config;
1332 }
1333
1334 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/peer-groups/peer-group/afi-safis/afi-safi/l2vpn-evpn" {
1335 uses structure-neighbor-group-as-path-options;
1336
1337 uses structure-neighbor-group-attr-unchanged;
1338
1339 uses structure-neighbor-nexthop-self;
1340
1341 uses structure-neighbor-route-reflector;
1342
1343 uses structure-neighbor-route-server;
1344
1345 uses structure-neighbor-group-soft-reconfiguration;
1346
1347 uses structure-neighbor-group-filter-config;
1348 }
1349
1350 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv4-flowspec" {
1351 uses structure-neighbor-route-reflector;
1352
1353 uses structure-neighbor-route-server;
1354
1355 uses structure-neighbor-group-soft-reconfiguration;
1356
1357 uses structure-neighbor-group-filter-config;
1358 }
1359
1360 augment "/frr-rt:routing/frr-rt:control-plane-protocols/frr-rt:control-plane-protocol/bgp/peer-groups/peer-group/afi-safis/afi-safi/ipv6-flowspec" {
1361 uses structure-neighbor-route-reflector;
1362
1363 uses structure-neighbor-route-server;
1364
1365 uses structure-neighbor-group-soft-reconfiguration;
1366
1367 uses structure-neighbor-group-filter-config;
1368 }
1369 }