Skip to Content.
Sympa Menu

perfsonar-dev - nmwg: r378 - trunk/nmwg/schema/rnc/topo

Subject: perfsonar development work

List archive

nmwg: r378 - trunk/nmwg/schema/rnc/topo


Chronological Thread 
  • From:
  • To: ,
  • Subject: nmwg: r378 - trunk/nmwg/schema/rnc/topo
  • Date: Mon, 2 Feb 2009 12:25:37 -0500

Author: aaron
Date: 2009-02-02 12:25:37 -0500 (Mon, 02 Feb 2009)
New Revision: 378

Modified:
trunk/nmwg/schema/rnc/topo/nmtopo_ctrlplane.rnc
trunk/nmwg/schema/rnc/topo/nmtypes.rnc
Log:
Commit the updates to the ctrlplane topology schema



Modified: trunk/nmwg/schema/rnc/topo/nmtopo_ctrlplane.rnc
===================================================================
--- trunk/nmwg/schema/rnc/topo/nmtopo_ctrlplane.rnc 2009-01-22 21:32:34
UTC (rev 377)
+++ trunk/nmwg/schema/rnc/topo/nmtopo_ctrlplane.rnc 2009-02-02 17:25:37
UTC (rev 378)
@@ -1,41 +1,40 @@
# ##############################################################
#
# File: nmtopo_ctrlplane.rnc
-# Version: $Id: $
+# Version: $Id$
#
# ##############################################################

-namespace CtrlPlane =
- "http://ogf.org/schema/network/topology/ctrlPlane/20070707/";
-namespace nmtl3 =
- "http://ogf.org/schema/network/topology/l3/20070707/";
+default namespace CtrlPlane =
+ "http://ogf.org/schema/network/topology/ctrlPlane/20080828/";

-include "nmtopo_l3.rnc"
+include "nmtypes.rnc"

## Definition of the topology element
-start |= element CtrlPlane:topology { CtrlPlaneTopologyContent }
+start |= element topology { CtrlPlaneTopologyContent }


CtrlPlaneTopologyContent =
- Identifier,
- # Parameters,
- element CtrlPlane:idcId { xsd:string }?,
- (
+ # & Parameters
+ Identifier
+ & element idcId { xsd:string }
+ & (
CtrlPlaneDomain |
- element CtrlPlane:domainSignature {
+ element domainSignature {
CtrlPlaneDomainSignatureContent
}
)*

## this a placeholder until we discuss and experiment with signatures
CtrlPlaneDomainSignatureContent =
- attribute domainId { xsd:string },
- anyElement
+ attribute domainId { xsd:string }
+ & anyElement

CtrlPlaneDomain =
- element CtrlPlane:domain {
- Identifier,
- (
+ element domain {
+ Identifier
+ & Lifetime?
+ & (
CtrlPlaneNode*
& CtrlPlanePort*
& CtrlPlaneLink*
@@ -43,65 +42,95 @@
}

CtrlPlaneNode =
- element CtrlPlane:node {
- Identifier,
- element CtrlPlane:address { xsd:string | L3Address }?,
- CtrlPlanePort*
+ element node {
+ Identifier
+ & Address?
+ & CtrlPlanePort*
}

CtrlPlanePort =
- element CtrlPlane:port {
- Identifier,
- CtrlPlaneCapacityContent,
- CtrlPlaneLink*
+ element port {
+ Identifier
+ & CtrlPlaneCapacityContent
+ & CtrlPlaneLink*
}

CtrlPlaneLink =
- element CtrlPlane:link {
- Identifier,
- (
- element CtrlPlane:remoteLinkId { L3Address }
- & element CtrlPlane:remotePortId { L3Address }
- &
- ## only use when remotePortId isn't fully qualified
- element CtrlPlane:remoteNodeId { L3Address }
- & element CtrlPlane:remoteDomainId { L3Address }
- & element CtrlPlane:trafficEngineeringMetric { xsd:string }
- & element CtrlPlane:linkProtectionTypes { xsd:string }*
- & CtrlPlaneCapacityContent
- & element CtrlPlane:administrativeGroups {
- CtrlPlaneAdministrativeGroup
- }*
- & element CtrlPlane:SwitchingCapabilityDescriptors {
- CtrlPlaneSwitchingCapabilityDescriptor+
- }
- )
+ element link {
+ Identifier
+ & element remoteLinkId { xsd:string }?
+ & element trafficEngineeringMetric { xsd:string }
+ & CtrlPlaneCapacityContent?
+ & element linkProtectionTypes { xsd:string }*
+ & element administrativeGroups { CtrlPlaneAdministrativeGroup }*
+ & element SwitchingCapabilityDescriptors {
CtrlPlaneSwitchingCapabilityDescriptor+ }
}

# Begin path and endpoint additions
CtrlPlanePath =
- element CtrlPlane:path { CtrlPlanePathContent }
+ element path {
+ Identifier
+ & Lifetime?
+ & attribute direction { "upstream" | "downstream" }?
+ & CtrlPlanePathContent
+ }

# a path consists of a list of hops, and/or links
CtrlPlanePathContent =
- Identifier &
- element CtrlPlane:hop { CtrlPlaneHopContent }*
+ element hop { CtrlPlaneHopContent }*


CtrlPlaneHopContent =
- Identifier,
- (
+ Identifier
+ & (
DomainIdRef |
NodeIdRef |
PortIdRef |
- LinkIdRef
+ LinkIdRef |
+ CtrlPlaneDomain |
+ CtrlPlaneNode |
+ CtrlPlanePort |
+ CtrlPlaneLink
)
-
+ & element nextHop { CtrlPlaneNextHopContent }*
+
+CtrlPlaneNextHopContent =
+ attribute weight { xsd:integer }?
+ & attribute optional { "true" | "false" }?
+ & xsd:string
+
+CtrlPlaneBidirectionalPath =
+ element bidirectionalPath { CtrlPlaneBidirectionalPathContent }
+
+CtrlPlaneBidirectionalPathContent =
+ Identifier
+ & Lifetime?
+ # We have to do this so that it can be validated using trang/jing and still
+ # have the paths appear in an arbitrary order
+ & (
+ (CtrlPlaneDownstreamPathContent, CtrlPlaneUpstreamPathContent)
+ | (CtrlPlaneUpstreamPathContent, CtrlPlaneDownstreamPathContent)
+ )
+
+CtrlPlaneDownstreamPathContent =
+ element path {
+ Identifier?
+ & attribute direction { "downstream" }
+ & CtrlPlanePathContent
+ }
+
+CtrlPlaneUpstreamPathContent =
+ element path {
+ Identifier?
+ & attribute direction { "upstream" }
+ & CtrlPlanePathContent
+ }
+
# End path and endpoint

CtrlPlaneAdministrativeGroup =
- element CtrlPlane:group { xsd:int }
- & element CtrlPlane:groupID { xsd:string }?
+ element group { xsd:int }
+ & element groupID { xsd:string }?

CtrlPlaneSwitchingCapabilityDescriptor =
element switchingcapType {
@@ -125,38 +154,40 @@
| "fiberchannel"
| xsd:string
}
- & element switchingCapabilitySpecficInfo {
- CtrlPlaneSwitchingCapabilitySpecficInfo
+ & element switchingCapabilitySpecificInfo {
+ CtrlPlaneSwitchingCapabilitySpecificInfo
}+

-CtrlPlaneSwitchingCapabilitySpecficInfo =
- CtrlPlaneSwitchingCapabilitySpecficInfo_psc
- | CtrlPlaneSwitchingCapabilitySpecficInfo_l2sc
- | CtrlPlaneSwitchingCapabilitySpecficInfo_tdm
- | CtrlPlaneSwitchingCapabilitySpecficInfo_lsc
- | CtrlPlaneSwitchingCapabilitySpecficInfo_fsc
+CtrlPlaneSwitchingCapabilitySpecificInfo =
+ CtrlPlaneSwitchingCapabilitySpecificInfo_psc
+ | CtrlPlaneSwitchingCapabilitySpecificInfo_l2sc
+ | CtrlPlaneSwitchingCapabilitySpecificInfo_tdm
+ | CtrlPlaneSwitchingCapabilitySpecificInfo_lsc
+ | CtrlPlaneSwitchingCapabilitySpecificInfo_fsc

-CtrlPlaneSwitchingCapabilitySpecficInfo_psc =
- element CtrlPlane:capability { xsd:string }
+CtrlPlaneSwitchingCapabilitySpecificInfo_psc =
+ element capability { xsd:string }

-CtrlPlaneSwitchingCapabilitySpecficInfo_tdm =
- element CtrlPlane:capability { xsd:string }
+CtrlPlaneSwitchingCapabilitySpecificInfo_tdm =
+ element capability { xsd:string }

-CtrlPlaneSwitchingCapabilitySpecficInfo_lsc =
- element CtrlPlane:capability { xsd:string }
+CtrlPlaneSwitchingCapabilitySpecificInfo_lsc =
+ element capability { xsd:string }

-CtrlPlaneSwitchingCapabilitySpecficInfo_fsc =
- element CtrlPlane:capability { xsd:string }
+CtrlPlaneSwitchingCapabilitySpecificInfo_fsc =
+ element capability { xsd:string }

-CtrlPlaneSwitchingCapabilitySpecficInfo_l2sc =
+CtrlPlaneSwitchingCapabilitySpecificInfo_l2sc =
element interfaceMTU { xsd:int }
& element vlanRangeAvailability { xsd:string }
+ & element suggestedVLANRange { xsd:string }?
+ & element vlanTranslation { "true" | "false" }?

## Capacity Description Pattern
CtrlPlaneCapacityContent =
- element CtrlPlane:capacity { xsd:string }?
- & element CtrlPlane:maximumReservableCapacity { xsd:string }?
- & element CtrlPlane:minimumReservableCapacity { xsd:string }?
- & element CtrlPlane:granularity { xsd:string }?
- & element CtrlPlane:unreservedCapacity { xsd:string }?
-
\ No newline at end of file
+ element capacity { xsd:string }?
+ & element maximumReservableCapacity { xsd:string }?
+ & element minimumReservableCapacity { xsd:string }?
+ & element granularity { xsd:string }?
+ & element unreservedCapacity { xsd:string }?
+

Modified: trunk/nmwg/schema/rnc/topo/nmtypes.rnc
===================================================================
--- trunk/nmwg/schema/rnc/topo/nmtypes.rnc 2009-01-22 21:32:34 UTC (rev
377)
+++ trunk/nmwg/schema/rnc/topo/nmtypes.rnc 2009-02-02 17:25:37 UTC (rev
378)
@@ -3,21 +3,21 @@
# Version: $Id$
# ##############################################################

-namespace nmtb =
- "http://ogf.org/schema/network/topology/base/20070707/";
-
-start = anyElement
-
Identifier =
attribute id { xsd:string }

IdReference =
attribute idRef { xsd:string }
-
+
Type =
attribute type { xsd:string }

+Comment =
+ element comment { xsd:string }

+Description =
+ element description { xsd:string }
+
# ##############################################################
# This sequence allows any element, attribute, or text (regardless
# of name or namespace) into the document when invoked.
@@ -38,13 +38,7 @@
text
)*

-
-# Node Type
-Node = element nmtb:node { NodeContent }
-NodeContent =
- Identifier?
-
-
+
# Base Topology IdReference types
TopologyIdRef =
element topologyIdRef { xsd:string }
@@ -55,9 +49,6 @@
PortIdRef =
element portIdRef { xsd:string }

-InterfaceIdRef =
- element interfaceIdRef { xsd:string }
-
LinkIdRef =
element linkIdRef { xsd:string }

@@ -70,6 +61,12 @@
DomainIdRef =
element domainIdRef { xsd:string }

+GroupIdRef =
+ element groupIdRef { xsd:string }
+
+ServiceIdRef =
+ element serviceIdRef { xsd:string }
+
Name =
element name {
attribute type { xsd:string }?
@@ -91,9 +88,14 @@
& LinkIdRef*
& PathIdRef*
& NetworkIdRef*
+ & ServiceIdRef*
+ & GroupIdRef*
}

-Lifetime =
+ Role =
+ element role { xsd:string }
+
+ Lifetime =
element lifetime {
StartTime
& (EndTime | Duration)?



  • nmwg: r378 - trunk/nmwg/schema/rnc/topo, svnlog, 02/02/2009

Archive powered by MHonArc 2.6.16.

Top of Page