3 User Network Interface Manager Plug-in (Unimgr) Developer Guide
4 ===============================================================
9 The User Network Interface (UNI) Manager project within OpenDaylight provides
10 data models and APIs that enable software applications and service
11 orchestrators to configure and provision connectivity services; in particular,
12 Carrier Ethernet services as defined by MEF Forum, in physical and virtual
18 Unimgr provides support for both service orchestration, via the Legato API, and
19 network resource provisioning, via the Presto API. These APIs, and the
20 interfaces they provide, are defined by YANG models developed within MEF in
21 collaboration with ONF and IETF. An application/user can interact with Unimgr
22 at either layer. Presto and Legato APIs are for LSO Architecture reference points
23 defined in `MEF 55 specification <https://www.mef.net/Assets/Technical_Specifications/PDF/MEF_55.pdf>`_.
27 .. figure:: ./images/unimgr/architecture.png
29 :alt: Presto layer Architecture
31 In current version of Unimgr the recent version of Presto NRP is supported.
32 This model is based on Transport API (TAPI) from ONF. This API allows for
33 management of connectivity services and exposes abstract topology of the
34 managed infrastracture. By its nature Presto NRP write and update operations
35 are defined as set of RPC calls. All the reads operation can be either specific
36 RPCs or via RESTCONF data tree.
38 Presto layer architecture is depicted in figure above. There are two
39 distinctive parts of Presto NRP business logic Activation Service and
40 Activation Driver. Activation Service part of the framework is to encapsulate
41 the common logic whereas Activation Driver is a way to encapsulate business
42 logic to transform Presto Request into a given underlying technology. This way
43 we are able to handle multi-vendor infrastructures and address various use
44 cases as vendors specific code is encapsulated in drivers.
49 Activation service is responsible for handling the connectivity request. In
50 case of service activation following steps are performed:
52 1. Validation of a request (e.g. if all endpoints exists)
54 2. Decomposition of a request into number of drivers sub-requests
56 3. Activation of the request for selected drivers
58 4. Update of the data model and creating ``ConnectivityService`` and ``Connection`` objects for the request
60 Step 1. Implements only minimal functionality.
62 Step 2. Allows for multi-vendor configuration as decomposition mechanisms
63 defines all drivers required to satisfy given connectivity request. Currently
64 only p2p connectivity services are supported in the decomposition mechanism.
66 Both validation and decomposition mechanisms are plug-able thus users can
67 support more sophisticated scenarios.
73 .. figure:: ./images/unimgr/drivers.png
75 :alt: Presto NRP topology and drivers
77 Activation Driver has two main responsibilities:
79 * to handle connectvitiy service requests
81 * to contribute to Presto Topology with abstract nodes driver can handle
83 In figure above example topology and drivers are shown. As you can see it is up
84 to driver how to model infrastructure it manages. Thus, driver A has decided to
85 model all devices as single virtual node, whereas driver C is exposing every
86 single device as a node.
88 The connectivity service is defined between ``ServiceInterfacePoint`` (SIP)
89 which are mapped to ``NodeEdgePoint`` (NEP). A SIP can have UNI, ENNI or INNI
90 role. Assigning a SIP to NEP can be done automatically by driver of with the
91 use of Unimgr extension API. It is assumed that driver can connect eny number
92 of SIPs related to NEPs for every ``Node`` it exposes.
94 There is a contract for a given Karaf bundle to be recognized as a driver. The
95 following must be fulfiled:
97 * A driver have to expose an OSGI service that implements
98 ``org.opendaylight.unimgr.mef.nrp.api.ActivationDriverBuilder``
100 * Implement a component that is responsible for writing to topology (in general
101 the requirement is to add at least a single node to topology with id
102 ``org.opendaylight.unimgr.mef.nrp.api.TapiConstants#PRESTO_SYSTEM_TOPO``
104 There are three drivers maintained as part of Unimgr project:
106 :template-driver: Which is intended as a template for real drivers development.
107 It is not connected to infrastructure.
108 :ovs-driver: Which is a driver for OpenFlow infrasturcture.
109 :cisco-xr-driver: A netconf driver for Cisco XR devices for MPLS inter-connectivity
111 Key APIs and Interfaces
112 -----------------------
115 https://git.opendaylight.org/gerrit/gitweb?p=unimgr.git;a=tree;f=legato-api/src/main/yang;hb=refs/heads/stable/nitrogen
118 https://git.opendaylight.org/gerrit/gitweb?p=unimgr.git;a=tree;f=presto-api/src/main/yang;hb=refs/heads/stable/nitrogen
128 +--rw mef-service* [svc-id]
131 | | +--rw uni* [uni-id]
132 | | +--rw evc-uni-ce-vlans
133 | | | +--rw evc-uni-ce-vlan* [vid]
134 | | | +--rw vid -> /mef-interfaces:mef-interfaces/unis/uni[mef-interfaces:uni-id = current()/../../../uni-id]/ce-vlans/ce-vlan/vid
135 | | +--rw ingress-bwp-flows-per-cos!
136 | | | +--rw coupling-enabled? boolean
137 | | | +--rw bwp-flow-per-cos* [cos-name]
138 | | | +--rw cos-name -> /mef-global:mef-global/profiles/cos-names/cos-name/name
139 | | | +--rw bw-profile -> /mef-interfaces:mef-interfaces/unis/uni[mef-interfaces:uni-id = current()/../../../uni-id]/ingress-envelopes/envelope/env-id
140 | | +--rw egress-bwp-flows-per-eec!
141 | | | +--rw coupling-enabled? boolean
142 | | | +--rw bwp-flow-per-eec* [eec-name]
143 | | | +--rw eec-name -> /mef-global:mef-global/profiles/eec-names/eec-name/name
144 | | | +--rw bw-profile -> /mef-interfaces:mef-interfaces/unis/uni[mef-interfaces:uni-id = current()/../../../uni-id]/egress-envelopes/envelope/env-id
146 | | | +--ro oper-state-enabled? boolean
147 | | | +--ro available-status? mef-types:svc-endpoint-availability-type
148 | | +--rw uni-id -> /mef-interfaces:mef-interfaces/unis/uni/uni-id
149 | | +--rw role mef-types:evc-uni-role-type
150 | | +--rw admin-state-enabled? boolean
151 | | +--rw color-id? mef-types:cos-color-identifier-type
152 | | +--rw data-svc-frm-cos? -> /mef-global:mef-global/profiles/cos/cos-profile/id
153 | | +--rw l2cp-svc-frm-cos? -> /mef-global:mef-global/profiles/l2cp-cos/l2cp-profile/id
154 | | +--rw soam-svc-frm-cos? -> /mef-global:mef-global/profiles/cos/cos-profile/id
155 | | +--rw data-svc-frm-eec? -> /mef-global:mef-global/profiles/eec/eec-profile/id
156 | | +--rw l2cp-svc-frm-eec? -> /mef-global:mef-global/profiles/l2cp-eec/l2cp-profile/id
157 | | +--rw soam-svc-frm-eec? -> /mef-global:mef-global/profiles/eec/eec-profile/id
158 | | +--rw ingress-bw-profile-per-evc? -> /mef-interfaces:mef-interfaces/unis/uni[mef-interfaces:uni-id = current()/../uni-id]/ingress-envelopes/envelope/env-id
159 | | +--rw egress-bw-profile-per-evc? -> /mef-interfaces:mef-interfaces/unis/uni[mef-interfaces:uni-id = current()/../uni-id]/egress-envelopes/envelope/env-id
160 | | +--rw src-mac-addr-limit-enabled? boolean
161 | | +--rw src-mac-addr-limit? uint32
162 | | +--rw src-mac-addr-limit-interval? yang:timeticks
163 | | +--rw test-meg-enabled? boolean
164 | | +--rw test-meg? mef-types:identifier45
165 | | +--rw subscriber-meg-mip-enabled? boolean
166 | | +--rw subscriber-meg-mip? mef-types:identifier45
168 | | +--ro oper-state-enabled? boolean
169 | | +--ro available-status? mef-types:virt-cx-availability-type
170 | +--rw sls-inclusions-by-cos
171 | | +--rw sls-inclusion-by-cos* [cos-name]
172 | | +--rw cos-name -> /mef-global:mef-global/profiles/cos-names/cos-name/name
173 | +--rw sls-uni-inclusions!
174 | | +--rw sls-uni-inclusion-set* [pm-type pm-id uni-id1 uni-id2]
175 | | +--rw pm-type -> /mef-global:mef-global/slss/sls[mef-global:sls-id = current()/../../../evc-performance-sls]/perf-objs/perf-obj/pm-type
176 | | +--rw pm-id -> /mef-global:mef-global/slss/sls[mef-global:sls-id = current()/../../../evc-performance-sls]/perf-objs/perf-obj[mef-global:pm-type = current()/../pm-type]/pm-id
177 | | +--rw uni-id1 -> ../../../unis/uni/uni-id
178 | | +--rw uni-id2 -> ../../../unis/uni/uni-id
179 | +--rw sls-uni-exclusions!
180 | | +--rw sls-uni-exclusion-set* [pm-type pm-id uni-id1 uni-id2]
181 | | +--rw pm-type -> /mef-global:mef-global/slss/sls[mef-global:sls-id = current()/../../../evc-performance-sls]/perf-objs/perf-obj/pm-type
182 | | +--rw pm-id -> /mef-global:mef-global/slss/sls[mef-global:sls-id = current()/../../../evc-performance-sls]/perf-objs/perf-obj[mef-global:pm-type = current()/../pm-type]/pm-id
183 | | +--rw uni-id1 -> ../../../unis/uni/uni-id
184 | | +--rw uni-id2 -> ../../../unis/uni/uni-id
185 | +--rw evc-id mef-types:evc-id-type
186 | +--ro evc-status? mef-types:evc-status-type
187 | +--rw evc-type mef-types:evc-type
188 | +--rw admin-state-enabled? boolean
189 | +--rw elastic-enabled? boolean
190 | +--rw elastic-service? mef-types:identifier45
191 | +--rw max-uni-count? uint32
192 | +--rw preserve-ce-vlan-id? boolean
193 | +--rw cos-preserve-ce-vlan-id? boolean
194 | +--rw evc-performance-sls? -> /mef-global:mef-global/slss/sls/sls-id
195 | +--rw unicast-svc-frm-delivery? mef-types:data-svc-frame-delivery-type
196 | +--rw multicast-svc-frm-delivery? mef-types:data-svc-frame-delivery-type
197 | +--rw broadcast-svc-frm-delivery? mef-types:data-svc-frame-delivery-type
198 | +--rw evc-meg-id? mef-types:identifier45
199 | +--rw max-svc-frame-size? mef-types:max-svc-frame-size-type
200 +--rw svc-id mef-types:retail-svc-id-type
201 +--rw sp-id? -> /mef-global:mef-global/svc-providers/svc-provider/sp-id
202 +--rw svc-type? mef-types:mef-service-type
203 +--rw user-label? mef-types:identifier45
204 +--rw svc-entity? mef-types:service-entity-type
212 | +--rw svc-provider* [sp-id]
213 | +--rw sp-id mef-types:svc-provider-type
215 | +--rw cen* [cen-id]
216 | +--rw cen-id mef-types:cen-type
217 | +--rw sp-id? -> /mef-global/svc-providers/svc-provider/sp-id
219 | +--rw sls* [sls-id]
221 | | +--rw pm-time-interval uint64
222 | | +--rw pm-time-interval-increment uint64
223 | | +--rw unavail-flr-threshold-pp mef-types:simple-percent
224 | | +--rw consecutive-small-time-intervals uint64
225 | | +--rw perf-obj* [pm-type pm-id]
226 | | +--rw pm-type mef-types:performance-metric-type
227 | | +--rw pm-id mef-types:identifier45
228 | | +--rw cos-name -> /mef-global/profiles/cos-names/cos-name/name
229 | | +--rw fd-pp mef-types:simple-percent
230 | | +--rw fd-range-pp mef-types:simple-percent
231 | | +--rw fd-perf-obj uint64
232 | | +--rw fd-range-perf-obj uint64
233 | | +--rw fd-mean-perf-obj uint64
234 | | +--rw ifdv-pp mef-types:simple-percent
235 | | +--rw ifdv-pair-interval mef-types:simple-percent
236 | | +--rw ifdv-perf-obj uint64
237 | | +--rw flr-perf-obj uint64
238 | | +--rw avail-pp mef-types:simple-percent
239 | | +--rw hli-perf-obj uint64
240 | | +--rw chli-consecutive-small-time-intervals uint64
241 | | +--rw chli-perf-obj uint64
242 | | +--rw min-uni-pairs-avail uint64
243 | | +--rw gp-avail-pp mef-types:simple-percent
244 | +--rw sls-id mef-types:cen-type
245 | +--rw sp-id? -> /mef-global/svc-providers/svc-provider/sp-id
247 | +--rw subscriber* [sub-id]
248 | +--rw sub-id mef-types:subscriber-type
249 | +--rw sp-id? -> /mef-global/svc-providers/svc-provider/sp-id
250 | +--rw cen-id? -> /mef-global/cens/cen/cen-id
253 | +--rw cos-name* [name]
254 | +--rw name mef-types:identifier45
256 | +--rw eec-name* [name]
257 | +--rw name mef-types:identifier45
258 +--rw ingress-bwp-flows
259 | +--rw bwp-flow* [bw-profile]
260 | +--rw bw-profile mef-types:identifier45
261 | +--rw user-label? mef-types:identifier45
262 | +--rw cir? mef-types:bwp-cir-type
263 | +--rw cir-max? mef-types:bwp-cir-type
264 | +--rw cbs? mef-types:bwp-cbs-type
265 | +--rw eir? mef-types:bwp-eir-type
266 | +--rw eir-max? mef-types:bwp-eir-type
267 | +--rw ebs? mef-types:bwp-ebs-type
268 | +--rw coupling-enabled? boolean
269 | +--rw color-mode? mef-types:bwp-color-mode-type
270 | +--rw coupling-flag? mef-types:bwp-coupling-flag-type
271 +--rw egress-bwp-flows
272 | +--rw bwp-flow* [bw-profile]
273 | +--rw bw-profile mef-types:identifier45
274 | +--rw user-label? mef-types:identifier45
275 | +--rw cir? mef-types:bwp-cir-type
276 | +--rw cir-max? mef-types:bwp-cir-type
277 | +--rw cbs? mef-types:bwp-cbs-type
278 | +--rw eir? mef-types:bwp-eir-type
279 | +--rw eir-max? mef-types:bwp-eir-type
280 | +--rw ebs? mef-types:bwp-ebs-type
281 | +--rw coupling-enabled? boolean
282 | +--rw color-mode? mef-types:bwp-color-mode-type
283 | +--rw coupling-flag? mef-types:bwp-coupling-flag-type
285 | +--rw l2cp-profile* [id]
287 | | +--rw l2cp* [dest-mac-addr peering-proto-name]
288 | | +--rw dest-mac-addr yang:mac-address
289 | | +--rw peering-proto-name mef-types:identifier45
290 | | +--rw protocol? mef-types:l2cp-peering-protocol-type
291 | | +--rw protocol-id? yang:hex-string
292 | | +--rw cos-name? -> /mef-global/profiles/cos-names/cos-name/name
293 | | +--rw handling? mef-types:l2cp-handling-type
294 | | +--rw subtype* yang:hex-string
295 | +--rw id mef-types:identifier45
296 | +--rw user-label? mef-types:identifier45
298 | +--rw l2cp-profile* [id]
300 | | +--rw l2cp* [dest-mac-addr peering-proto-name]
301 | | +--rw dest-mac-addr yang:mac-address
302 | | +--rw peering-proto-name mef-types:identifier45
303 | | +--rw protocol? mef-types:l2cp-peering-protocol-type
304 | | +--rw protocol-id? yang:hex-string
305 | | +--rw eec-name? -> /mef-global/profiles/eec-names/eec-name/name
306 | | +--rw handling? mef-types:l2cp-handling-type
307 | | +--rw subtype* yang:hex-string
308 | +--rw id mef-types:identifier45
309 | +--rw user-label? mef-types:identifier45
311 | +--rw l2cp-profile* [id]
313 | | +--rw l2cp* [dest-mac-addr peering-proto-name]
314 | | +--rw dest-mac-addr yang:mac-address
315 | | +--rw peering-proto-name mef-types:identifier45
316 | | +--rw protocol? mef-types:l2cp-peering-protocol-type
317 | | +--rw protocol-id? yang:hex-string
318 | | +--rw subtype* yang:hex-string
319 | +--rw id mef-types:identifier45
320 | +--rw user-label? mef-types:identifier45
322 | +--rw elmi-profile* [id]
323 | +--rw id mef-types:identifier45
324 | +--rw user-label? mef-types:identifier45
325 | +--rw polling-counter? mef-types:elmi-polling-counter-type
326 | +--rw status-error-threshold? mef-types:elmi-status-error-threshold-type
327 | +--rw polling-timer? mef-types:elmi-polling-timer-type
328 | +--rw polling-verification-timer? mef-types:elmi-polling-verification-timer-type
330 | +--rw eec-profile* [id]
331 | +--rw id mef-types:identifier45
335 | | +--rw default-pcp-eec-name? -> /mef-global/profiles/eec-names/eec-name/name
336 | | +--rw default-pcp-color? mef-types:cos-color-type
337 | | +--rw pcp* [pcp-value]
338 | | +--rw pcp-value mef-types:ieee8021p-priority-type
339 | | +--rw discard-value? boolean
340 | | +--rw eec-name? -> /mef-global/profiles/eec-names/eec-name/name
341 | | +--rw color? mef-types:cos-color-type
344 | +--rw default-ipv4-eec-name? -> /mef-global/profiles/eec-names/eec-name/name
345 | +--rw default-ipv4-color? mef-types:cos-color-type
346 | +--rw default-ipv6-eec-name? -> /mef-global/profiles/eec-names/eec-name/name
347 | +--rw default-ipv6-color? mef-types:cos-color-type
348 | +--rw ipv4-dscp* [dscp-value]
349 | | +--rw dscp-value inet:dscp
350 | | +--rw discard-value? boolean
351 | | +--rw eec-name? -> /mef-global/profiles/eec-names/eec-name/name
352 | | +--rw color? mef-types:cos-color-type
353 | +--rw ipv6-dscp* [dscp-value]
354 | +--rw dscp-value inet:dscp
355 | +--rw discard-value? boolean
356 | +--rw eec-name? -> /mef-global/profiles/eec-names/eec-name/name
357 | +--rw color? mef-types:cos-color-type
359 +--rw cos-profile* [id]
360 +--rw id mef-types:identifier45
364 | +--rw default-evc-cos-name? -> /mef-global/profiles/cos-names/cos-name/name
365 | +--rw default-evc-color? mef-types:cos-color-type
368 | +--rw default-pcp-cos-name? -> /mef-global/profiles/cos-names/cos-name/name
369 | +--rw default-pcp-color? mef-types:cos-color-type
370 | +--rw pcp* [pcp-value]
371 | +--rw pcp-value mef-types:ieee8021p-priority-type
372 | +--rw discard-value? boolean
373 | +--rw cos-name? -> /mef-global/profiles/cos-names/cos-name/name
374 | +--rw color? mef-types:cos-color-type
377 +--rw default-ipv4-cos-name? -> /mef-global/profiles/cos-names/cos-name/name
378 +--rw default-ipv4-color? mef-types:cos-color-type
379 +--rw default-ipv6-cos-name? -> /mef-global/profiles/cos-names/cos-name/name
380 +--rw default-ipv6-color? mef-types:cos-color-type
381 +--rw ipv4-dscp* [dscp-value]
382 | +--rw dscp-value inet:dscp
383 | +--rw discard-value? boolean
384 | +--rw cos-name? -> /mef-global/profiles/cos-names/cos-name/name
385 | +--rw color? mef-types:cos-color-type
386 +--rw ipv6-dscp* [dscp-value]
387 +--rw dscp-value inet:dscp
388 +--rw discard-value? boolean
389 +--rw cos-name? -> /mef-global/profiles/cos-names/cos-name/name
390 +--rw color? mef-types:cos-color-type
395 module: onf-core-network-module
399 +--rw forwarding-constructs
400 +--rw forwarding-construct* [uuid]
402 +--rw layerProtocolName? onf-cnt:LayerProtocolName
403 +--rw lowerLevelFc* -> /forwarding-constructs/forwarding-construct/uuid
404 +--rw fcRoute* [uuid]
406 | +--rw fc* -> /forwarding-constructs/forwarding-construct/uuid
407 +--rw fcPort* [topology node tp]
408 | +--rw topology nt:topology-ref
409 | +--rw node nt:node-ref
411 | +--rw role? onf-cnt:PortRole
412 | +--rw fcPortDirection? onf-cnt:PortDirection
415 | +--rw fcPortSpec* [uuid]
416 | | +--rw uuid string
417 | | +--rw ingressFcPortSet* [topology node tp]
418 | | | +--rw topology nt:topology-ref
419 | | | +--rw node nt:node-ref
420 | | | +--rw tp nt:tp-ref
421 | | +--rw egressFcPortSet* [topology node tp]
422 | | | +--rw topology nt:topology-ref
423 | | | +--rw node nt:node-ref
424 | | | +--rw tp nt:tp-ref
425 | | +--rw role? string
426 | +--rw nrp:nrp-ce-fcspec-attrs
427 | +--rw nrp:connectionType? nrp-types:NRP_ConnectionType
428 | +--rw nrp:unicastFrameDelivery? nrp-types:NRP_ServiceFrameDelivery
429 | +--rw nrp:multicastFrameDelivery? nrp-types:NRP_ServiceFrameDelivery
430 | +--rw nrp:broadcastFrameDelivery? nrp-types:NRP_ServiceFrameDelivery
431 | +--rw nrp:vcMaxServiceFrame? nrp-types:NRP_PositiveInteger
432 | +--rw nrp:vcId? nrp-types:NRP_PositiveInteger
433 +--rw forwardingDirection? onf-cnt:ForwardingDirection
435 augment /nt:network-topology/nt:topology/nt:node/nt:termination-point:
442 | +--rw layerProtocolName? onf-cnt:LayerProtocolName
444 | | +--rw adapterSpec
445 | | | +--rw nrp:nrp-conn-adapt-spec-attrs
446 | | | | +--rw nrp:sourceMacAddressLimit
447 | | | | | +--rw nrp:enabled? boolean
448 | | | | | +--rw nrp:limit? NRP_NaturalNumber
449 | | | | | +--rw nrp:timeInterval? NRP_NaturalNumber
450 | | | | +--rw nrp:CeExternalInterface
451 | | | | | +--rw nrp:physicalLayer? nrp-types:NRP_PhysicalLayer
452 | | | | | +--rw nrp:syncMode* [linkId]
453 | | | | | | +--rw nrp:linkId string
454 | | | | | | +--rw nrp:syncModeEnabled? boolean
455 | | | | | +--rw nrp:numberOfLinks? nrp-types:NRP_NaturalNumber
456 | | | | | +--rw nrp:resiliency? nrp-types:NRP_InterfaceResiliency
457 | | | | | +--rw nrp:portConvsIdToAggLinkMap
458 | | | | | | +--rw nrp:conversationId? NRP_NaturalNumber
459 | | | | | | +--rw nrp:linkId? NRP_NaturalNumber
460 | | | | | +--rw nrp:maxFrameSize? nrp-types:NRP_NaturalNumber
461 | | | | | +--rw nrp:linkOamEnabled? boolean
462 | | | | | +--rw nrp:tokenShareEnabled? boolean
463 | | | | | +--rw nrp:serviceProviderUniId? string
464 | | | | +--rw nrp:coloridentifier
465 | | | | | +--rw (identifier)?
466 | | | | | +--:(sap-color-id)
467 | | | | | | +--rw nrp:serviceAccessPointColorId
468 | | | | | | +--rw nrp:color? nrp-types:NRP_FrameColor
469 | | | | | +--:(pcp-color-id)
470 | | | | | | +--rw nrp:pcpColorId
471 | | | | | | +--rw nrp:vlanTag? nrp-types:NRP_VlanTag
472 | | | | | | +--rw nrp:pcpValue* nrp-types:NRP_NaturalNumber
473 | | | | | | +--rw nrp:color? nrp-types:NRP_FrameColor
474 | | | | | +--:(dei-color-id)
475 | | | | | | +--rw nrp:deiColorId
476 | | | | | | +--rw nrp:vlanTag? nrp-types:NRP_VlanTag
477 | | | | | | +--rw nrp:deiValue* nrp-types:NRP_NaturalNumber
478 | | | | | | +--rw nrp:color? nrp-types:NRP_FrameColor
479 | | | | | +--:(desp-color-id)
480 | | | | | +--rw nrp:despColorId
481 | | | | | +--rw nrp:ipVersion? nrp-types:NRP_IpVersion
482 | | | | | +--rw nrp:dscpValue* nrp-types:NRP_NaturalNumber
483 | | | | | +--rw nrp:color? nrp-types:NRP_FrameColor
484 | | | | +--rw nrp:ingressBwpFlow
485 | | | | | +--rw nrp:bwpFlowIndex? nrp-types:NRP_PositiveInteger
486 | | | | | +--rw nrp:cir? nrp-types:NRP_NaturalNumber
487 | | | | | +--rw nrp:cirMax? nrp-types:NRP_NaturalNumber
488 | | | | | +--rw nrp:cbs? nrp-types:NRP_NaturalNumber
489 | | | | | +--rw nrp:eir? nrp-types:NRP_NaturalNumber
490 | | | | | +--rw nrp:eirMax? nrp-types:NRP_NaturalNumber
491 | | | | | +--rw nrp:ebs? nrp-types:NRP_NaturalNumber
492 | | | | | +--rw nrp:couplingFlag? nrp-types:NRP_NaturalNumber
493 | | | | | +--rw nrp:colorMode? nrp-types:NRP_ColorMode
494 | | | | | +--rw nrp:rank? nrp-types:NRP_PositiveInteger
495 | | | | | +--rw nrp:tokenRequestOffset? nrp-types:NRP_NaturalNumber
496 | | | | +--rw nrp:egressBwpFlow
497 | | | | | +--rw nrp:bwpFlowIndex? nrp-types:NRP_PositiveInteger
498 | | | | | +--rw nrp:cir? nrp-types:NRP_NaturalNumber
499 | | | | | +--rw nrp:cirMax? nrp-types:NRP_NaturalNumber
500 | | | | | +--rw nrp:cbs? nrp-types:NRP_NaturalNumber
501 | | | | | +--rw nrp:eir? nrp-types:NRP_NaturalNumber
502 | | | | | +--rw nrp:eirMax? nrp-types:NRP_NaturalNumber
503 | | | | | +--rw nrp:ebs? nrp-types:NRP_NaturalNumber
504 | | | | | +--rw nrp:couplingFlag? nrp-types:NRP_NaturalNumber
505 | | | | | +--rw nrp:colorMode? nrp-types:NRP_ColorMode
506 | | | | | +--rw nrp:rank? nrp-types:NRP_PositiveInteger
507 | | | | | +--rw nrp:tokenRequestOffset? nrp-types:NRP_NaturalNumber
508 | | | | +--rw nrp:l2cpAddressSet? nrp-types:NRP_L2cpAddressSet
509 | | | | +--rw nrp:l2cpPeering* [linkId]
510 | | | | +--rw nrp:destinationMacAddress? string
511 | | | | +--rw nrp:protocolType? NRP_ProtocolFrameType
512 | | | | +--rw nrp:linkId string
513 | | | | +--rw nrp:protocolId? string
514 | | | +--rw nrp:nrp-ivc-endpoint-conn-adapt-spec-attrs
515 | | | | +--rw nrp:ivcEndPointId? string
516 | | | | +--rw nrp:testMegEnabled? boolean
517 | | | | +--rw nrp:ivcEndPointRole? nrp-types:NRP_EndPointRole
518 | | | | +--rw nrp:ivcEndPointMap* [vlanId]
519 | | | | | +--rw nrp:vlanId nrp-types:NRP_PositiveInteger
520 | | | | | +--rw (endpoint-map-form)?
521 | | | | | +--:(map-form-e)
522 | | | | | | +--rw nrp:enni-svid* [vid]
523 | | | | | | +--rw nrp:vid nrp-types:NRP_PositiveInteger
524 | | | | | +--:(map-form-t)
525 | | | | | | +--rw nrp:root-svid? nrp-types:NRP_PositiveInteger
526 | | | | | | +--rw nrp:leaf-svid? nrp-types:NRP_PositiveInteger
527 | | | | | +--:(map-form-v)
528 | | | | | | +--rw nrp:vuni-vid? nrp-types:NRP_PositiveInteger
529 | | | | | | +--rw nrp:enni-cevid* [vid]
530 | | | | | | +--rw nrp:vid nrp-types:NRP_PositiveInteger
531 | | | | | +--:(map-form-u)
532 | | | | | +--rw nrp:cvid* [vid]
533 | | | | | +--rw nrp:vid nrp-types:NRP_PositiveInteger
534 | | | | +--rw nrp:subscriberMegMipEnabled? boolean
535 | | | +--rw nrp:nrp-evc-endpoint-conn-adapt-spec-attrs
536 | | | +--rw nrp:sourceMacAddressLimit
537 | | | | +--rw nrp:enabled? boolean
538 | | | | +--rw nrp:limit? NRP_NaturalNumber
539 | | | | +--rw nrp:timeInterval? NRP_NaturalNumber
540 | | | +--rw nrp:CeExternalInterface
541 | | | | +--rw nrp:physicalLayer? nrp-types:NRP_PhysicalLayer
542 | | | | +--rw nrp:syncMode* [linkId]
543 | | | | | +--rw nrp:linkId string
544 | | | | | +--rw nrp:syncModeEnabled? boolean
545 | | | | +--rw nrp:numberOfLinks? nrp-types:NRP_NaturalNumber
546 | | | | +--rw nrp:resiliency? nrp-types:NRP_InterfaceResiliency
547 | | | | +--rw nrp:portConvsIdToAggLinkMap
548 | | | | | +--rw nrp:conversationId? NRP_NaturalNumber
549 | | | | | +--rw nrp:linkId? NRP_NaturalNumber
550 | | | | +--rw nrp:maxFrameSize? nrp-types:NRP_NaturalNumber
551 | | | | +--rw nrp:linkOamEnabled? boolean
552 | | | | +--rw nrp:tokenShareEnabled? boolean
553 | | | | +--rw nrp:serviceProviderUniId? string
554 | | | +--rw nrp:coloridentifier
555 | | | | +--rw (identifier)?
556 | | | | +--:(sap-color-id)
557 | | | | | +--rw nrp:serviceAccessPointColorId
558 | | | | | +--rw nrp:color? nrp-types:NRP_FrameColor
559 | | | | +--:(pcp-color-id)
560 | | | | | +--rw nrp:pcpColorId
561 | | | | | +--rw nrp:vlanTag? nrp-types:NRP_VlanTag
562 | | | | | +--rw nrp:pcpValue* nrp-types:NRP_NaturalNumber
563 | | | | | +--rw nrp:color? nrp-types:NRP_FrameColor
564 | | | | +--:(dei-color-id)
565 | | | | | +--rw nrp:deiColorId
566 | | | | | +--rw nrp:vlanTag? nrp-types:NRP_VlanTag
567 | | | | | +--rw nrp:deiValue* nrp-types:NRP_NaturalNumber
568 | | | | | +--rw nrp:color? nrp-types:NRP_FrameColor
569 | | | | +--:(desp-color-id)
570 | | | | +--rw nrp:despColorId
571 | | | | +--rw nrp:ipVersion? nrp-types:NRP_IpVersion
572 | | | | +--rw nrp:dscpValue* nrp-types:NRP_NaturalNumber
573 | | | | +--rw nrp:color? nrp-types:NRP_FrameColor
574 | | | +--rw nrp:ingressBwpFlow
575 | | | | +--rw nrp:bwpFlowIndex? nrp-types:NRP_PositiveInteger
576 | | | | +--rw nrp:cir? nrp-types:NRP_NaturalNumber
577 | | | | +--rw nrp:cirMax? nrp-types:NRP_NaturalNumber
578 | | | | +--rw nrp:cbs? nrp-types:NRP_NaturalNumber
579 | | | | +--rw nrp:eir? nrp-types:NRP_NaturalNumber
580 | | | | +--rw nrp:eirMax? nrp-types:NRP_NaturalNumber
581 | | | | +--rw nrp:ebs? nrp-types:NRP_NaturalNumber
582 | | | | +--rw nrp:couplingFlag? nrp-types:NRP_NaturalNumber
583 | | | | +--rw nrp:colorMode? nrp-types:NRP_ColorMode
584 | | | | +--rw nrp:rank? nrp-types:NRP_PositiveInteger
585 | | | | +--rw nrp:tokenRequestOffset? nrp-types:NRP_NaturalNumber
586 | | | +--rw nrp:egressBwpFlow
587 | | | | +--rw nrp:bwpFlowIndex? nrp-types:NRP_PositiveInteger
588 | | | | +--rw nrp:cir? nrp-types:NRP_NaturalNumber
589 | | | | +--rw nrp:cirMax? nrp-types:NRP_NaturalNumber
590 | | | | +--rw nrp:cbs? nrp-types:NRP_NaturalNumber
591 | | | | +--rw nrp:eir? nrp-types:NRP_NaturalNumber
592 | | | | +--rw nrp:eirMax? nrp-types:NRP_NaturalNumber
593 | | | | +--rw nrp:ebs? nrp-types:NRP_NaturalNumber
594 | | | | +--rw nrp:couplingFlag? nrp-types:NRP_NaturalNumber
595 | | | | +--rw nrp:colorMode? nrp-types:NRP_ColorMode
596 | | | | +--rw nrp:rank? nrp-types:NRP_PositiveInteger
597 | | | | +--rw nrp:tokenRequestOffset? nrp-types:NRP_NaturalNumber
598 | | | +--rw nrp:l2cpAddressSet? nrp-types:NRP_L2cpAddressSet
599 | | | +--rw nrp:l2cpPeering* [linkId]
600 | | | | +--rw nrp:destinationMacAddress? string
601 | | | | +--rw nrp:protocolType? NRP_ProtocolFrameType
602 | | | | +--rw nrp:linkId string
603 | | | | +--rw nrp:protocolId? string
604 | | | +--rw nrp:evcEndPointId? nrp-types:NRP_PositiveInteger
605 | | | +--rw nrp:testMegEnabled? boolean
606 | | | +--rw nrp:evcEndPointRole? nrp-types:NRP_EvcEndPointRole
607 | | | +--rw nrp:evcEndPointMap* [vid]
608 | | | | +--rw nrp:vid nrp-types:NRP_PositiveInteger
609 | | | +--rw nrp:subscriberMegMipEbabled? boolean
610 | | +--rw terminationSpec
611 | | | +--rw nrp:nrp-termination-spec-attrs
612 | | | | +--rw nrp:physicalLayer? nrp-types:NRP_PhysicalLayer
613 | | | | +--rw nrp:syncMode* [linkId]
614 | | | | | +--rw nrp:linkId string
615 | | | | | +--rw nrp:syncModeEnabled? boolean
616 | | | | +--rw nrp:numberOfLinks? nrp-types:NRP_NaturalNumber
617 | | | | +--rw nrp:resiliency? nrp-types:NRP_InterfaceResiliency
618 | | | | +--rw nrp:portConvsIdToAggLinkMap
619 | | | | | +--rw nrp:conversationId? NRP_NaturalNumber
620 | | | | | +--rw nrp:linkId? NRP_NaturalNumber
621 | | | | +--rw nrp:maxFrameSize? nrp-types:NRP_NaturalNumber
622 | | | | +--rw nrp:linkOamEnabled? boolean
623 | | | | +--rw nrp:tokenShareEnabled? boolean
624 | | | | +--rw nrp:serviceProviderUniId? string
625 | | | +--rw nrp:nrp-uni-termination-attrs
626 | | | +--rw nrp:defaultCeVlanId? nrp-types:NRP_PositiveInteger
627 | | | +--rw nrp:uniMegEnabled? boolean
628 | | | +--rw nrp:elmiEnabled? boolean
629 | | | +--rw nrp:serviceprovideruniprofile? string
630 | | | +--rw nrp:operatoruniprofile? string
631 | | | +--rw nrp:ingressBwpUni
632 | | | | +--rw nrp:bwpFlowIndex? nrp-types:NRP_PositiveInteger
633 | | | | +--rw nrp:cir? nrp-types:NRP_NaturalNumber
634 | | | | +--rw nrp:cirMax? nrp-types:NRP_NaturalNumber
635 | | | | +--rw nrp:cbs? nrp-types:NRP_NaturalNumber
636 | | | | +--rw nrp:eir? nrp-types:NRP_NaturalNumber
637 | | | | +--rw nrp:eirMax? nrp-types:NRP_NaturalNumber
638 | | | | +--rw nrp:ebs? nrp-types:NRP_NaturalNumber
639 | | | | +--rw nrp:couplingFlag? nrp-types:NRP_NaturalNumber
640 | | | | +--rw nrp:colorMode? nrp-types:NRP_ColorMode
641 | | | | +--rw nrp:rank? nrp-types:NRP_PositiveInteger
642 | | | | +--rw nrp:tokenRequestOffset? nrp-types:NRP_NaturalNumber
643 | | | +--rw nrp:egressBwpUni
644 | | | +--rw nrp:bwpFlowIndex? nrp-types:NRP_PositiveInteger
645 | | | +--rw nrp:cir? nrp-types:NRP_NaturalNumber
646 | | | +--rw nrp:cirMax? nrp-types:NRP_NaturalNumber
647 | | | +--rw nrp:cbs? nrp-types:NRP_NaturalNumber
648 | | | +--rw nrp:eir? nrp-types:NRP_NaturalNumber
649 | | | +--rw nrp:eirMax? nrp-types:NRP_NaturalNumber
650 | | | +--rw nrp:ebs? nrp-types:NRP_NaturalNumber
651 | | | +--rw nrp:couplingFlag? nrp-types:NRP_NaturalNumber
652 | | | +--rw nrp:colorMode? nrp-types:NRP_ColorMode
653 | | | +--rw nrp:rank? nrp-types:NRP_PositiveInteger
654 | | | +--rw nrp:tokenRequestOffset? nrp-types:NRP_NaturalNumber
655 | | +--rw adapterPropertySpecList* [uuid]
656 | | | +--rw uuid string
657 | | +--rw providerViewSpec
658 | | +--rw serverSpecList* [uuid]
659 | | +--rw uuid string
660 | +--rw configuredClientCapacity? string
661 | +--rw lpDirection? onf-cnt:TerminationDirection
662 | +--rw terminationState? string
664 +--rw ltpDirection? onf-cnt:TerminationDirection