Restore kbps for virtual links
[sfa.git] / sfa / managers / vini / vini.rng
1 <?xml version="1.0" encoding="UTF-8"?>
2 <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3   <start>
4     <ref name="RSpec"/>
5   </start>
6   <define name="RSpec">
7     <element name="RSpec">
8       <attribute name="type">
9         <data type="NMTOKEN"/>
10       </attribute>
11       <choice>
12         <ref name="network"/>
13         <ref name="request"/>
14       </choice>
15     </element>
16   </define>
17   <define name="network">
18     <element name="network">
19       <attribute name="name">
20         <data type="NMTOKEN"/>
21       </attribute>
22       <optional>
23         <attribute name="slice">
24           <data type="NMTOKEN"/>
25         </attribute>
26       </optional>
27       <optional>
28         <ref name="sliver_defaults"/>
29       </optional>
30       <oneOrMore>
31         <ref name="site"/>
32       </oneOrMore>
33       <zeroOrMore>
34         <ref name="link"/>
35       </zeroOrMore>
36     </element>
37   </define>
38   <define name="sliver_defaults">
39     <element name="sliver_defaults">
40       <ref name="sliver_elements"/>
41     </element>
42   </define>
43   <define name="site">
44     <element name="site">
45       <attribute name="id">
46         <data type="ID"/>
47       </attribute>
48       <element name="name">
49         <text/>
50       </element>
51       <zeroOrMore>
52         <ref name="node"/>
53       </zeroOrMore>
54     </element>
55   </define>
56   <define name="node">
57     <element name="node">
58       <attribute name="id">
59         <data type="ID"/>
60       </attribute>
61       <element name="hostname">
62         <text/>
63       </element>
64       <optional>
65         <element name="bw_unallocated">
66           <attribute name="units">
67             <data type="NMTOKEN"/>
68           </attribute>
69           <text/>
70         </element>
71       </optional>
72       <optional>
73         <element name="bw_limit">
74           <attribute name="units">
75             <data type="NMTOKEN"/>
76           </attribute>
77           <text/>
78         </element>
79       </optional>
80       <zeroOrMore>
81         <ref name="sliver"/>
82       </zeroOrMore>
83     </element>
84   </define>
85   <define name="link">
86     <element name="link">
87       <attribute name="endpoints">
88         <data type="IDREFS"/>
89       </attribute>
90       <optional>
91         <element name="description">
92           <text/>
93         </element>
94       </optional>
95       <element name="bw_unallocated">
96         <attribute name="units">
97           <data type="NMTOKEN"/>
98         </attribute>
99         <text/>
100       </element>
101       <zeroOrMore>
102         <ref name="vlink"/>
103       </zeroOrMore>
104     </element>
105   </define>
106   <define name="request">
107     <element name="request">
108       <oneOrMore>
109         <ref name="sliver"/>
110       </oneOrMore>
111       <zeroOrMore>
112         <ref name="vlink"/>
113       </zeroOrMore>
114     </element>
115   </define>
116   <define name="sliver">
117     <element name="sliver">
118       <optional>
119         <attribute name="nodeid">
120           <data type="ID"/>
121         </attribute>
122       </optional>
123       <ref name="sliver_elements"/>
124     </element>
125   </define>
126   <define name="sliver_elements">
127     <interleave>
128       <optional>
129         <element name="capabilities">
130           <text/>
131         </element>
132       </optional>
133       <zeroOrMore>
134         <element name="codemux">
135           <text/>
136         </element>
137       </zeroOrMore>
138       <optional>
139         <element name="cpu_pct">
140           <text/>
141         </element>
142       </optional>
143       <optional>
144         <element name="cpu_share">
145           <text/>
146         </element>
147       </optional>
148       <optional>
149         <element name="delegations">
150           <text/>
151         </element>
152       </optional>
153       <optional>
154         <element name="disk_max">
155           <text/>
156         </element>
157       </optional>
158       <optional>
159         <element name="initscript">
160           <text/>
161         </element>
162       </optional>
163       <zeroOrMore>
164         <element name="ip_addresses">
165           <text/>
166         </element>
167       </zeroOrMore>
168       <optional>
169         <element name="net_i2_max_kbyte">
170           <text/>
171         </element>
172       </optional>
173       <optional>
174         <element name="net_i2_max_rate">
175           <text/>
176         </element>
177       </optional>
178       <optional>
179         <element name="net_i2_min_rate">
180           <text/>
181         </element>
182       </optional>
183       <optional>
184         <element name="net_i2_share">
185           <text/>
186         </element>
187       </optional>
188       <optional>
189         <element name="net_i2_thresh_kbyte">
190           <text/>
191         </element>
192       </optional>
193       <optional>
194         <element name="net_max_kbyte">
195           <text/>
196         </element>
197       </optional>
198       <optional>
199         <element name="net_max_rate">
200           <text/>
201         </element>
202       </optional>
203       <optional>
204         <element name="net_min_rate">
205           <text/>
206         </element>
207       </optional>
208       <optional>
209         <element name="net_share">
210           <text/>
211         </element>
212       </optional>
213       <optional>
214         <element name="net_thresh_kbyte">
215           <text/>
216         </element>
217       </optional>
218       <zeroOrMore>
219         <element name="vsys">
220           <text/>
221         </element>
222       </zeroOrMore>
223       <optional>
224         <element name="vsys_vnet">
225           <text/>
226         </element>
227       </optional>
228     </interleave>
229   </define>
230   <define name="vlink">
231     <element name="vlink">
232       <optional>
233         <attribute name="endpoints">
234           <data type="IDREFS"/>
235         </attribute>
236       </optional>
237       <optional>
238         <element name="description">
239           <text/>
240         </element>
241       </optional>
242       <optional>
243         <element name="kbps">
244           <text/>
245         </element>
246       </optional>
247     </element>
248   </define>
249 </grammar>