blob: 3c7cf35354bd8cab36a0d9aa9fee9474b0ae3284 [file] [log] [blame]
Thomas Vachuska8ca75a22017-08-24 16:12:59 -07001module openconfig-rib-bgp-ext {
2
3 yang-version "1";
4
5 // namespace
6 namespace "http://openconfig.net/yang/rib/bgp-ext";
7
8 prefix "oc-bgprib-ext";
9
10 import openconfig-rib-bgp { prefix oc-bgprib; }
11 import openconfig-extensions { prefix oc-ext; }
12 import openconfig-rib-bgp-types { prefix oc-bgpribt; }
13
14 organization "OpenConfig working group";
15
16 contact
17 "OpenConfig working group
18 www.openconfig.net";
19
20 description
21 "Defines additional data nodes for the OpenConfig BGP RIB model.
22 These items reflect extensions that are desirable features but
23 are not currently supported in a majority of BGP
24 implementations.";
25
26 oc-ext:openconfig-version "0.3.0";
27
28 revision "2016-10-17" {
29 description
30 "OpenConfig BGP RIB refactor";
31 reference "0.3.0";
32 }
33
34 revision "2016-04-11" {
35 description
36 "OpenConfig public release";
37 reference "0.2.0";
38 }
39
40
41 grouping rib-ext-route-annotations {
42 description
43 "Extended annotations for routes in the routing tables";
44
45 leaf reject-reason {
46 type union {
47 type identityref {
48 base oc-bgpribt:BGP_NOT_SELECTED_BESTPATH;
49 }
50 type identityref {
51 base oc-bgpribt:BGP_NOT_SELECTED_POLICY;
52 }
53 }
54 description
55 "Indicates the reason the route is not used, either due to
56 policy filtering or bestpath selection";
57 }
58 }
59
60 augment "/oc-bgprib:bgp-rib/oc-bgprib:afi-safis/" +
61 "oc-bgprib:afi-safi/oc-bgprib:ipv4-unicast/oc-bgprib:loc-rib/" +
62 "oc-bgprib:routes/oc-bgprib:route/oc-bgprib:state" {
63 description
64 "Add extended annotations to the Loc-RIB for IPv4";
65
66 uses rib-ext-route-annotations;
67 }
68
69 augment "/oc-bgprib:bgp-rib/oc-bgprib:afi-safis/" +
70 "oc-bgprib:afi-safi/oc-bgprib:ipv6-unicast/oc-bgprib:loc-rib/" +
71 "oc-bgprib:routes/oc-bgprib:route/oc-bgprib:state" {
72 description
73 "Add extended annotations to the Loc-RIB for IPv6";
74
75 uses rib-ext-route-annotations;
76 }
77
78 augment "/oc-bgprib:bgp-rib/oc-bgprib:afi-safis/" +
79 "oc-bgprib:afi-safi/oc-bgprib:ipv4-unicast/" +
80 "oc-bgprib:neighbors/oc-bgprib:neighbor/" +
81 "oc-bgprib:adj-rib-in-pre/oc-bgprib:routes/oc-bgprib:route" +
82 "/oc-bgprib:state" {
83 description
84 "Add extended annotations to Adj-RIB for IPv4";
85
86 uses rib-ext-route-annotations;
87 }
88
89 augment "/oc-bgprib:bgp-rib/oc-bgprib:afi-safis/" +
90 "oc-bgprib:afi-safi/oc-bgprib:ipv4-unicast/" +
91 "oc-bgprib:neighbors/oc-bgprib:neighbor/" +
92 "oc-bgprib:adj-rib-in-post/oc-bgprib:routes/oc-bgprib:route" +
93 "/oc-bgprib:state"{
94 description
95 "Add extended annotations to Adj-RIB for IPv4";
96
97 uses rib-ext-route-annotations;
98 }
99
100 augment "/oc-bgprib:bgp-rib/oc-bgprib:afi-safis/" +
101 "oc-bgprib:afi-safi/oc-bgprib:ipv4-unicast/" +
102 "oc-bgprib:neighbors/oc-bgprib:neighbor/" +
103 "oc-bgprib:adj-rib-out-pre/oc-bgprib:routes/oc-bgprib:route" +
104 "/oc-bgprib:state"{
105 description
106 "Add extended annotations to Adj-RIB for IPv4";
107
108 uses rib-ext-route-annotations;
109 }
110
111 augment "/oc-bgprib:bgp-rib/oc-bgprib:afi-safis/" +
112 "oc-bgprib:afi-safi/oc-bgprib:ipv4-unicast/" +
113 "oc-bgprib:neighbors/oc-bgprib:neighbor/" +
114 "oc-bgprib:adj-rib-out-post/oc-bgprib:routes/oc-bgprib:route" +
115 "/oc-bgprib:state"{
116 description
117 "Add extended annotations to Adj-RIB for IPv4";
118
119 uses rib-ext-route-annotations;
120 }
121
122 augment "/oc-bgprib:bgp-rib/oc-bgprib:afi-safis/" +
123 "oc-bgprib:afi-safi/oc-bgprib:ipv6-unicast/" +
124 "oc-bgprib:neighbors/oc-bgprib:neighbor/" +
125 "oc-bgprib:adj-rib-in-pre/oc-bgprib:routes/oc-bgprib:route" +
126 "/oc-bgprib:state"{
127 description
128 "Add extended annotations to Adj-RIB for IPv6";
129
130 uses rib-ext-route-annotations;
131 }
132
133 augment "/oc-bgprib:bgp-rib/oc-bgprib:afi-safis/" +
134 "oc-bgprib:afi-safi/oc-bgprib:ipv6-unicast/" +
135 "oc-bgprib:neighbors/oc-bgprib:neighbor/" +
136 "oc-bgprib:adj-rib-in-post/oc-bgprib:routes/oc-bgprib:route" +
137 "/oc-bgprib:state"{
138 description
139 "Add extended annotations to Adj-RIB for IPv6";
140
141 uses rib-ext-route-annotations;
142 }
143
144 augment "/oc-bgprib:bgp-rib/oc-bgprib:afi-safis/" +
145 "oc-bgprib:afi-safi/oc-bgprib:ipv6-unicast/" +
146 "oc-bgprib:neighbors/oc-bgprib:neighbor/" +
147 "oc-bgprib:adj-rib-out-pre/oc-bgprib:routes/oc-bgprib:route" +
148 "/oc-bgprib:state"{
149 description
150 "Add extended annotations to Adj-RIB for IPv6";
151
152 uses rib-ext-route-annotations;
153 }
154
155 augment "/oc-bgprib:bgp-rib/oc-bgprib:afi-safis/" +
156 "oc-bgprib:afi-safi/oc-bgprib:ipv6-unicast/" +
157 "oc-bgprib:neighbors/oc-bgprib:neighbor/" +
158 "oc-bgprib:adj-rib-out-post/oc-bgprib:routes/oc-bgprib:route" +
159 "/oc-bgprib:state"{
160 description
161 "Add extended annotations to Adj-RIB for IPv6";
162
163 uses rib-ext-route-annotations;
164 }
165
166}