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