blob: a579b853008e4321daa2a41e1235d9b630ca6679 [file] [log] [blame]
Thomas Vachuska6655bee2017-08-24 16:12:59 -07001submodule openconfig-bgp-peer-group {
2
3 belongs-to openconfig-bgp {
4 prefix "oc-bgp";
5 }
6
7 import openconfig-extensions { prefix oc-ext; }
8 import openconfig-routing-policy { prefix oc-rpol; }
9
10 // Include the common submodule
11 include openconfig-bgp-common;
12 include openconfig-bgp-common-multiprotocol;
13 include openconfig-bgp-common-structure;
14
15 // meta
16 organization
17 "OpenConfig working group";
18
19 contact
20 "OpenConfig working group
21 netopenconfig@googlegroups.com";
22
23 description
24 "This sub-module contains groupings that are specific to the
25 peer-group context of the OpenConfig BGP module.";
26
27 oc-ext:openconfig-version "4.0.1";
28
29 revision "2017-07-30" {
30 description
31 "Clarification of add-paths send-max leaf";
32 reference "4.0.1";
33 }
34
35 revision "2017-07-10" {
36 description
37 "Add error notifications; moved add-paths config; add AS
38 prepend policy features; removed unneeded config leaves";
39 reference "4.0.0";
40 }
41
42 revision "2017-02-02" {
43 description
44 "Bugfix to remove remaining global-level policy data";
45 reference "3.0.1";
46 }
47
48 revision "2017-01-26" {
49 description
50 "Add dynamic neighbor support, migrate to OpenConfig types";
51 reference "3.0.0";
52 }
53
54 revision "2016-06-21" {
55 description
56 "OpenConfig BGP refactor";
57 reference "2.1.1";
58 }
59
60 grouping bgp-peer-group-config {
61 description
62 "Configuration parameters relating to a base BGP peer group that
63 are not also applicable to any other context (e.g., neighbor)";
64
65 leaf peer-group-name {
66 type string;
67 description
68 "Name of the BGP peer-group";
69 }
70
71 }
72
73 grouping bgp-peer-group-afi-safi-list {
74 description
75 "List of address-families associated with the BGP peer-group";
76
77 list afi-safi {
78 key "afi-safi-name";
79
80 description
81 "AFI,SAFI configuration available for the
82 neighbour or group";
83
84 leaf afi-safi-name {
85 type leafref {
86 path "../config/afi-safi-name";
87 }
88 description
89 "Reference to the AFI-SAFI name used as a key
90 for the AFI-SAFI list";
91 }
92
93 container config {
94 description
95 "Configuration parameters for the AFI-SAFI";
96 uses bgp-common-mp-afi-safi-config;
97 }
98 container state {
99 config false;
100 description
101 "State information relating to the AFI-SAFI";
102 uses bgp-common-mp-afi-safi-config;
103 }
104
105 container graceful-restart {
106 description
107 "Parameters relating to BGP graceful-restart";
108 container config {
109 description
110 "Configuration options for BGP graceful-restart";
111 uses bgp-common-mp-afi-safi-graceful-restart-config;
112 }
113 container state {
114 config false;
115 description
116 "State information for BGP graceful-restart";
117 uses bgp-common-mp-afi-safi-graceful-restart-config;
118 }
119 }
120
121 uses bgp-common-structure-neighbor-group-add-paths;
122 uses bgp-common-global-group-use-multiple-paths;
123 uses bgp-common-mp-all-afi-safi-list-contents;
124 }
125 }
126
127 grouping bgp-peer-group-base {
128 description
129 "Parameters related to a BGP group";
130
131 container config {
132 description
133 "Configuration parameters relating to the BGP neighbor or
134 group";
135 uses bgp-peer-group-config;
136 uses bgp-common-neighbor-group-config;
137 }
138 container state {
139 config false;
140 description
141 "State information relating to the BGP peer-group";
142 uses bgp-peer-group-config;
143 uses bgp-common-neighbor-group-config;
144 uses bgp-common-state;
145 }
146
147 container timers {
148 description
149 "Timers related to a BGP peer-group";
150
151 container config {
152 description
153 "Configuration parameters relating to timers used for the
154 BGP neighbor or peer group";
155 uses bgp-common-neighbor-group-timers-config;
156 }
157 container state {
158 config false;
159 description
160 "State information relating to the timers used for the BGP
161 group";
162 uses bgp-common-neighbor-group-timers-config;
163 }
164 }
165
166 container transport {
167 description
168 "Transport session parameters for the BGP peer-group";
169
170 container config {
171 description
172 "Configuration parameters relating to the transport
173 session(s) used for the BGP neighbor or group";
174 uses bgp-common-neighbor-group-transport-config;
175 }
176 container state {
177 config false;
178 description
179 "State information relating to the transport session(s)
180 used for the BGP neighbor or group";
181 uses bgp-common-neighbor-group-transport-config;
182 }
183 }
184
185 container error-handling {
186 description
187 "Error handling parameters used for the BGP peer-group";
188
189 container config {
190 description
191 "Configuration parameters enabling or modifying the
192 behavior or enhanced error handling mechanisms for the BGP
193 group";
194 uses bgp-common-neighbor-group-error-handling-config;
195 }
196 container state {
197 config false;
198 description
199 "State information relating to enhanced error handling
200 mechanisms for the BGP group";
201 uses bgp-common-neighbor-group-error-handling-config;
202 }
203 }
204
205 container graceful-restart {
206 description
207 "Parameters relating the graceful restart mechanism for BGP";
208 container config {
209 description
210 "Configuration parameters relating to graceful-restart";
211 uses bgp-common-graceful-restart-config;
212 }
213 container state {
214 config false;
215 description
216 "State information associated with graceful-restart";
217 uses bgp-common-graceful-restart-config;
218 }
219 }
220
221 uses bgp-common-structure-neighbor-group-logging-options;
222 uses bgp-common-structure-neighbor-group-ebgp-multihop;
223 uses bgp-common-structure-neighbor-group-route-reflector;
224 uses bgp-common-structure-neighbor-group-as-path-options;
225 uses bgp-common-global-group-use-multiple-paths;
226 uses oc-rpol:apply-policy-group;
227
228 container afi-safis {
229 description
230 "Per-address-family configuration parameters associated with
231 thegroup";
232 uses bgp-peer-group-afi-safi-list;
233 }
234 }
235
236 grouping bgp-peer-group-list {
237 description
238 "The list of BGP peer groups";
239
240 list peer-group {
241 key "peer-group-name";
242 description
243 "List of BGP peer-groups configured on the local system -
244 uniquely identified by peer-group name";
245
246 leaf peer-group-name {
247 type leafref {
248 path "../config/peer-group-name";
249 }
250 description
251 "Reference to the name of the BGP peer-group used as a
252 key in the peer-group list";
253 }
254
255 uses bgp-peer-group-base;
256 }
257 }
258
259}