network = element network {
attribute name { xsd:NMTOKEN },
attribute slice { xsd:NMTOKEN }?,
- ( site | link )+
+ sliver_defaults?,
+ site+,
+ link*
+}
+sliver_defaults = element sliver_defaults {
+ sliver_elements
}
site = element site {
attribute id { xsd:ID },
element name { text },
- node+
+ node*
}
node = element node {
attribute id { xsd:ID },
- hostname,
- kbps,
+ element hostname { text },
+ element bw_unallocated { attribute units { xsd:NMTOKEN }, text }?,
+ element bw_limit { attribute units { xsd:NMTOKEN }, text }?,
sliver*
}
link = element link {
attribute endpoints { xsd:IDREFS },
element description { text }?,
- kbps?,
+ element bw_unallocated { attribute units { xsd:NMTOKEN }, text },
vlink*
}
request = element request {
- ( sliver | vlink )+
+ sliver+,
+ vlink*
}
sliver = element sliver {
attribute nodeid { xsd:ID }?,
- empty
+ sliver_elements
}
+sliver_elements = (
+ element capabilities { text }?
+ & element codemux { text }*
+ & element cpu_pct { text }?
+ & element cpu_share { text }?
+ & element delegations { text }?
+ & element disk_max { text }?
+ & element initscript { text }?
+ & element ip_addresses {text }*
+ & element net_i2_max_kbyte { text }?
+ & element net_i2_max_rate { text }?
+ & element net_i2_min_rate { text }?
+ & element net_i2_share { text }?
+ & element net_i2_thresh_kbyte { text }?
+ & element net_max_kbyte { text }?
+ & element net_max_rate { text }?
+ & element net_min_rate { text }?
+ & element net_share { text }?
+ & element net_thresh_kbyte { text }?
+ & element vsys {text}*
+ & element vsys_vnet { text }?
+)
vlink = element vlink {
attribute endpoints { xsd:IDREFS }?,
element description { text }?,
- kbps?
+ element kbps { text }?
}
-hostname = element hostname { text }
-kbps = element kbps { text }