]> git.proxmox.com Git - mirror_frr.git/blame - yang/frr-bgp-bmp.yang
yang, ripd, ripngd: fix annotate statements
[mirror_frr.git] / yang / frr-bgp-bmp.yang
CommitLineData
2228b116 1submodule frr-bgp-bmp {
2 yang-version 1.1;
3
4 belongs-to frr-bgp {
5 prefix "bgp";
6 }
7
8 import ietf-inet-types {
9 prefix inet;
10 }
11
12 import frr-bgp-types {
13 prefix frr-bt;
14 }
15
2228b116 16 organization
17 "FRRouting";
18 contact
19 "FRR Users List: <mailto:frog@lists.frrouting.org> FRR Development
20 List: <mailto:dev@lists.frrouting.org>";
21 description
22 "This submodule defines a model for managing FRR BGP BMP.
23
24 Copyright 2020 FRRouting
25
26 Redistribution and use in source and binary forms, with or without
27 modification, are permitted provided that the following conditions
28 are met:
29
30 1. Redistributions of source code must retain the above copyright notice,
31 this list of conditions and the following disclaimer.
32
33 2. Redistributions in binary form must reproduce the above copyright
34 notice, this list of conditions and the following disclaimer in the
35 documentation and/or other materials provided with the distribution.
36
37 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
38 \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
39 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
40 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
41 HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
42 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
43 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
44 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
45 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
46 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
47 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.";
48
49 revision 2019-12-03 {
50 description
51 "Initial revision.";
52 }
53
54 grouping bmp-incoming-session {
55 container incoming-session {
56 list session-list {
57 key "address tcp-port";
58 leaf address {
59 type inet:ip-address;
60 description
61 "IPv4 address to listen on.";
62 }
63
64 leaf tcp-port {
65 type uint32;
66 }
67 }
68 }
69 }
70
71 grouping bmp-outgoing-session {
72 container outgoing-session {
73 list session-list {
74 key "hostname tcp-port";
75 leaf hostname {
76 type string;
77 }
78
79 leaf tcp-port {
80 type uint32;
81 }
82
83 leaf min-retry-time {
84 type uint32 {
85 range "100..86400000";
86 }
87 units "miliseconds";
88 default "30000";
89 description
90 "Minimum connection retry interval.";
91 }
92
93 leaf max-retry-time {
94 type uint32 {
95 range "100..86400000";
96 }
97 units "miliseconds";
98 default "720000";
99 description
100 "Maximum connection retry interval.";
101 }
102 }
103 }
104 }
105
106 grouping bmp-afi-safis {
107 container afi-safis {
108 description
109 "List of address-families associated with the BGP
110 instance.";
111 list afi-safi {
112 key "afi-safi-name";
113 description
114 "AFI, SAFI configuration available for the
115 neighbour or group.";
116 uses mp-afi-safi-config;
117
118 uses mp-all-afi-safi-list-contents;
119 }
120 }
121 }
122
123 grouping bmp-afi-safi-common-config {
124 container common-config {
125 leaf pre-policy {
126 type boolean;
127 default "false";
128 description
129 "Send state before policy and filter processing.";
130 }
131
132 leaf post-policy {
133 type boolean;
134 default "false";
135 description
136 "Send state after policy and filter processing.";
137 }
138 }
139 }
140
141 grouping global-bmp-config {
142 description
143 "Structural grouping used to include filter
144 configuration for BMP.";
145 container bmp-config {
146 description
147 "BMP related parameters.";
148 list target-list {
149 key "target-name";
150 leaf target-name {
151 type string;
152 description
153 "Targets group name.";
154 }
155
156 uses bmp-incoming-session;
157
158 uses bmp-outgoing-session;
159
160 leaf mirror {
161 type boolean;
162 default "false";
163 description
164 "When set to 'TRUE' it send BMP route mirroring messages.";
165 }
166
167 leaf stats-time {
168 type uint32 {
169 range "100..86400000";
170 }
171 units "miliseconds";
172 description
173 "Interval to send BMP Stats.";
174 }
175
176 leaf ipv4-access-list {
177 type frr-bt:access-list-ref;
178 description
179 "Access list to restrict BMP sessions.";
180 }
181
182 leaf ipv6-access-list {
183 type frr-bt:access-list-ref;
184 description
185 "Access list to restrict BMP sessions.";
186 }
187
188 uses bmp-afi-safis;
189 }
190
191 leaf mirror-buffer-limit {
192 type uint32 {
193 range "0..4294967294";
194 }
195 units "bytes";
196 description
197 "Maximum memory used for buffered mirroring messages.";
198 }
199 }
200 }
201}